)]}'
{
  "log": [
    {
      "commit": "ffb4ba76a25ab6c9deeec33e4f58395586ca747c",
      "tree": "378ee35adc486466c88c7423dbb0ecc6f027ef45",
      "parents": [
        "83097aca8567a0bd593534853b71fe0fa9a75d69"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 25 11:10:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 25 11:10:26 2008 -0700"
      },
      "message": "[module] Don\u0027t let gcc inline load_module()\n\n\u0027load_module()\u0027 is a complex function that contains all the ELF section\nlogic, and inlining it is utterly insane.  But gcc will do it, simply\nbecause there is only one call-site.  As a result, all the stack space\nthat is allocated for all the work to load the module will still be\nactive when we actually call the module init sequence, and the deep call\nchain makes stack overflows happen.\n\nAnd stack overflows are really hard to debug, because they not only\ncorrupt random pages below the stack, but also corrupt the thread_info\nstructure that is allocated under the stack.\n\nIn this case, Alan Brunelle reported some crazy oopses at bootup, after\nloading the processor module that ends up doing complex ACPI stuff and\nhas quite a deep callchain.  This should fix it, and is the sane thing\nto do regardless.\n\nCc: Alan D. Brunelle \u003cAlan.Brunelle@hp.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59f9415ffb9759e950d775f4c400f747b332cc02",
      "tree": "354544b8cad8ae77a5f960fe601b2a3613a2523a",
      "parents": [
        "4bceba417a795b78a5146e3f85291cb7bb2402ef"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jul 30 12:49:02 2008 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 12 17:52:54 2008 +1000"
      },
      "message": "modules: extend initcall_debug functionality to the module loader\n\nThe kernel has this really nice facility where if you put \"initcall_debug\"\non the kernel commandline, it\u0027ll print which function it\u0027s going to\nexecute just before calling an initcall, and then after the call completes\nit will\n\n1) print if it had an error code\n\n2) checks for a few simple bugs (like leaving irqs off)\nand\n\n3) print how long the init call took in milliseconds.\n\nWhile trying to optimize the boot speed of my laptop, I have been loving\nnumber 3 to figure out what to optimize...  ...  and then I wished that\nthe same thing was done for module loading.\n\nThis patch makes the module loader use this exact same functionality; it\u0027s\na logical extension in my view (since modules are just sort of late\nbinding initcalls anyway) and so far I\u0027ve found it quite useful in finding\nwhere things are too slow in my boot.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "9b1a4d38373a5581a4e01032a3ccdd94cd93477b",
      "tree": "3d0f0ebd1ac4512551fc35e57d173870eb060c0c",
      "parents": [
        "eeec4fad963490821348a331cca6102ae1c4a7a3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jul 28 12:16:30 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jul 28 12:16:31 2008 +1000"
      },
      "message": "stop_machine: Wean existing callers off stop_machine_run()\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "15bba37d62351749c3915add81f673b256952ee1",
      "tree": "4696ad74ea04df9f3b7091859225ecc123be7197",
      "parents": [
        "837b41b5de356aa67abb2cadb5eef3efc7776f91"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Thu Jul 24 15:41:48 2008 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jul 28 12:16:28 2008 +1000"
      },
      "message": "module: fix build warning with !CONFIG_KALLSYMS\n\nThis patch fixed the warning:\n\n  CC      kernel/module.o\n  /home/wangcong/Projects/linux-2.6/kernel/module.c:332: warning:\n‘lookup_symbol’ defined but not used\n\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3a642e99babe0617febb6f402e1e063479f489db",
      "tree": "09f7d6c7b0a4e3869d11c739113e5dd5a8ff5a2c",
      "parents": [
        "2f0f2a334bc38b61a9afca951185cd3844ee709d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 22 19:24:28 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 22 19:24:28 2008 +1000"
      },
      "message": "modules: Take a shortcut for checking if an address is in a module\n\nThis patch keeps track of the boundaries of module allocation, in\norder to speed up module_text_address().\n\nInspired by Arjan\u0027s version, which required arch-specific defines:\n\n\tVarious pieces of the kernel (lockdep, latencytop, etc) tend\n\tto store backtraces, sometimes at a relatively high\n\tfrequency. In itself this isn\u0027t a big performance deal (after\n\tall you\u0027re using diagnostics features), but there have been\n\tsome complaints from people who have over 100 modules loaded\n\tthat this is a tad too slow.\n\n\tThis is due to the new backtracer code which looks at every\n\tslot on the stack to see if it\u0027s a kernel/module text address,\n\tso that\u0027s 1024 slots.  1024 times 100 modules... that\u0027s a lot\n\tof list walking.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "2f0f2a334bc38b61a9afca951185cd3844ee709d",
      "tree": "c73089563f51c818ed97dec463408d6ac9cf1e8e",
      "parents": [
        "f7f5b67557eac1131ba6532522e3c50eced34238"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Tue Jul 22 19:24:27 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 22 19:24:27 2008 +1000"
      },
      "message": "module: turn longs into ints for module sizes\n\nThis shrinks module.o and each *.ko file.\n\nAnd finally, structure members which hold length of module\ncode (four such members there) and count of symbols\nare converted from longs to ints.\n\nWe cannot possibly have a module where 32 bits won\u0027t\nbe enough to hold such counts.\n\nFor one, module loading checks module size for sanity\nbefore loading, so such insanely big module will fail\nthat test first.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "f7f5b67557eac1131ba6532522e3c50eced34238",
      "tree": "8547b900f4bc40f69673c78b261ac5b44423fbfb",
      "parents": [
        "af5406895a05720a879dc33e2f4878fa503e81b3"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Tue Jul 22 19:24:26 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 22 19:24:27 2008 +1000"
      },
      "message": "Shrink struct module: CONFIG_UNUSED_SYMBOLS ifdefs\n\nmodule.c and module.h conatains code for finding\nexported symbols which are declared with EXPORT_UNUSED_SYMBOL,\nand this code is compiled in even if CONFIG_UNUSED_SYMBOLS is not set\nand thus there can be no EXPORT_UNUSED_SYMBOLs in modules anyway\n(because EXPORT_UNUSED_SYMBOL(x) are compiled out to nothing then).\n\nThis patch adds required #ifdefs.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "dafd0940c96fec67974a88ed8e6b8ba3160394cd",
      "tree": "616da8f0f283509ec71ff2d6e467fa4c6877edc6",
      "parents": [
        "da39ba5e1d65e997a98f6eb93ba6e6eb505f6e3c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 22 19:24:25 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 22 19:24:26 2008 +1000"
      },
      "message": "module: generic each_symbol iterator function\n\nIntroduce an each_symbol() iterator to avoid duplicating the knowledge\nabout the 5 different sections containing symbols.  Currently only\nused by find_symbol(), but will be used by symbol_put_addr() too.\n\n(Includes NULL ptr deref fix by Jiri Kosina \u003cjkosina@suse.cz\u003e)\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "da39ba5e1d65e997a98f6eb93ba6e6eb505f6e3c",
      "tree": "7c47c0481a7e8b9a9a13a9ce6ea8f11ed145b546",
      "parents": [
        "93ded9b8fd42abe2c3607097963d8de6ad9117eb"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 22 19:24:25 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 22 19:24:25 2008 +1000"
      },
      "message": "module: don\u0027t use stop_machine for waiting rmmod\n\nrmmod has a little-used \"-w\" option, meaning that instead of failing if the\nmodule is in use, it should block until the module becomes unused.\n\nIn this case, we don\u0027t need to use stop_machine: Max Krasnyansky\nindicated that would be useful for SystemTap which loads/unloads new\nmodules frequently.\n\nCc: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "34e4e2fef4c7a2f7699b3d25e48d871d3ac4c3e7",
      "tree": "0d013ca321765f38f57c53a012b7a8cad30ea3f2",
      "parents": [
        "c4ea6fcf5a192dbba54666f308bdace1c278e0c1"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue May 20 13:59:48 2008 +0400"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 23 13:09:33 2008 +1000"
      },
      "message": "modules: proper cleanup of kobject without CONFIG_SYSFS\n\nkobject: \u0027\u003cNULL\u003e\u0027 (ffffffffa0104050): is not initialized, yet kobject_put() is being called.\n------------[ cut here ]------------\nWARNING: at /home/den/src/linux-netns26/lib/kobject.c:583 kobject_put+0x53/0x55()\nModules linked in: ipv6 nfsd lockd nfs_acl auth_rpcgss sunrpc exportfs ide_cd_mod cdrom button [last unloaded: pktgen]\ncomm: rmmod Tainted: G        W 2.6.26-rc3 #585\nCall Trace:\n  [\u003cffffffff802359ab\u003e] warn_on_slowpath+0x58/0x7a\n  [\u003cffffffff80236aca\u003e] ? printk+0x67/0x69\n  [\u003cffffffff80236aca\u003e] ? printk+0x67/0x69\n  [\u003cffffffff80324289\u003e] kobject_put+0x53/0x55\n  [\u003cffffffff8025e2ee\u003e] free_module+0x87/0xfa\n  [\u003cffffffff8025fee5\u003e] sys_delete_module+0x178/0x1e1\n  [\u003cffffffff804b1e70\u003e] ? lockdep_sys_exit_thunk+0x35/0x67\n  [\u003cffffffff804b1dff\u003e] ? trace_hardirqs_on_thunk+0x35/0x3a\n  [\u003cffffffff8020c0bb\u003e] system_call_after_swapgs+0x7b/0x80\n---[ end trace 8f5aafa7f6406cf8 ]---\n\nmod-\u003emkobj.kobj is not initialized without CONFIG_SYSFS. Do not call\nkobject_put in this case.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "c4ea6fcf5a192dbba54666f308bdace1c278e0c1",
      "tree": "93055c860a9ddfff8e2d056e3ad19730a81b8cb9",
      "parents": [
        "78b58e549a3098a8c1408d0214bd25e5d5e7a3a3"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Wed May 14 16:27:29 2008 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 23 13:09:32 2008 +1000"
      },
      "message": "module loading ELF handling: use SELFMAG instead of numeric constant\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "91e37a793b5a9436a2d12b2f0a8f52db3a133e1d",
      "tree": "6ddf17ad786fa2a42ef79aa4f7873c79c1e17a89",
      "parents": [
        "a5dd69707424a35d2d2cc094e870f595ad61e916"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 09 16:25:28 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 09 07:45:18 2008 -0700"
      },
      "message": "module: don\u0027t ignore vermagic string if module doesn\u0027t have modversions\n\nLinus found a logic bug: we ignore the version number in a module\u0027s\nvermagic string if we have CONFIG_MODVERSIONS set, but modversions\nalso lets through a module with no __versions section for modprobe\n--force (with tainting, but still).\n\nWe should only ignore the start of the vermagic string if the module\nactually *has* crcs to check.  Rather than (say) having an\nentertaining hissy fit and creating a config option to work around the\nbuggy code.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5dd69707424a35d2d2cc094e870f595ad61e916",
      "tree": "dd9dffe6748358bac9a8699f7d8ad9e205886a67",
      "parents": [
        "6c2545eefffc452e52302c96c955d9aa26353aa9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 09 16:24:21 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 09 07:45:18 2008 -0700"
      },
      "message": "module: be more picky about allowing missing module versions\n\nWe allow missing __versions sections, because modprobe --force strips\nit.  It makes less sense to allow sections where there\u0027s no version\nfor a specific symbol the module uses, so disallow that.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "826e4506a0acb6487910a5ebafe839f708a00e1c",
      "tree": "20cc66b6b38c0414930d85a8a9705a3a3eff8ddf",
      "parents": [
        "afa26be86b65a7183ceac29bdf1f51d6fc6932f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 04 17:04:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 04 17:04:16 2008 -0700"
      },
      "message": "Make forced module loading optional\n\nThe kernel module loader used to be much too happy to allow loading of\nmodules for the wrong kernel version by default.  For example, if you\nhad MODVERSIONS enabled, but tried to load a module with no version\ninfo, it would happily load it and taint the kernel - whether it was\nlikely to actually work or not!\n\nGenerally, such forced module loading should be considered a really\nreally bad idea, so make it conditional on a new config option\n(MODULE_FORCE_LOAD), and make it default to off.\n\nIf somebody really wants to force module loads, that\u0027s their problem,\nbut we should not encourage it.  Especially as it happened to me by\nmistake (ie regular unversioned Fedora modules getting loaded) causing\nlots of strange behavior.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df4b565e1fbc777bb6e274378a41fa8ff7485680",
      "tree": "8b64f22bb57419d57fdd4914645bafeaf9171733",
      "parents": [
        "b211104d111c99dbb97c636b57bd9db711455684"
      ],
      "author": {
        "name": "Peter Oberparleiter",
        "email": "peter.oberparleiter@de.ibm.com",
        "time": "Mon Apr 21 14:34:31 2008 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:15:01 2008 +1000"
      },
      "message": "module: add MODULE_STATE_GOING notifier call\n\nProvide module unload callback. Required by the gcov profiling\ninfrastructure to keep track of profiling data structures.\n\nSigned-off-by: Peter Oberparleiter \u003cpeter.oberparleiter@de.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b211104d111c99dbb97c636b57bd9db711455684",
      "tree": "129d949287a17457f3a8081dd6f04b8a945bcb29",
      "parents": [
        "4e2d92454b2d822fe1d474efabccc2a3806d5f86"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:15:00 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:15:00 2008 +1000"
      },
      "message": "module: Enhance verify_export_symbols\n\nMake verify_export_symbols check the modules unused, unused_gpl and\ngpl_future syms.\n\nInspired by Jan Beulich\u0027s fix, but table-driven.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "4e2d92454b2d822fe1d474efabccc2a3806d5f86",
      "tree": "88ff1b8d85d367a9f70f538b326e1d13ec0173d9",
      "parents": [
        "ad9546c9917d44eddc7676b639296d624cee455e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:15:00 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:15:00 2008 +1000"
      },
      "message": "module: set unused_gpl_crcs instead of overwriting unused_crcs\n\nObvious typo, but I don\u0027t know of any modules with unused GPL exports,\nand then it would take someone noticing that the version shouldn\u0027t\nhave matched in a dependent module.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ad9546c9917d44eddc7676b639296d624cee455e",
      "tree": "d6b5cc09706fd05c78ccad79342768152a74035e",
      "parents": [
        "ea01e798e2d27fd04142e0473ca36570fa9d9218"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:14:59 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:15:00 2008 +1000"
      },
      "message": "module: neaten __find_symbol, rename to find_symbol\n\n__find_symbol() has grown over time: there are now 5 different arrays\nof symbols it traverses.  It also shouldn\u0027t print out a warning on\nsome calls (ie. verify_symbol which simply checks for name clashes,\nand __symbol_put which checks for bugs).\n\n1) Rename to find_symbol: no need for underscores.\n2) Use bool and add \"warn\" parameter to suppress warnings.\n3) Make table-driven rather than open coded.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ea01e798e2d27fd04142e0473ca36570fa9d9218",
      "tree": "717ad87d4c38dd6bed15ba4dfdfaea8f33411367",
      "parents": [
        "a58730c42174672fe0012a4edbe3e38f94ef2bad"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Mar 13 09:02:17 2008 +0000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:14:59 2008 +1000"
      },
      "message": "module: reduce module image and resident size\n\nResulting reduction (x86-64, gcc 4.1.2) with my (special purpose, i.e.\nmuch reduced) configurations:\n- 16k kernel resident size\n- 180k module resident size\n- 10k module image size\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a58730c42174672fe0012a4edbe3e38f94ef2bad",
      "tree": "6cd01098614ea8fc00f5eba462a208cc5a038d2a",
      "parents": [
        "e4c576b911e364737b1bf4f5bfdab1c440713f26"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Mar 13 09:03:44 2008 +0000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 01 21:14:59 2008 +1000"
      },
      "message": "module: make module_sect_attrs private to kernel/module.c\n\nNo-one else is using these afaics.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a6550207538619bc9b90bac2e1d5e54902a432ad",
      "tree": "cc9bb9b5153810b544c2afcc7721353ff5ce957d",
      "parents": [
        "5a6483feb0c5193519625d0ea8c4254364d423cc"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Feb 26 10:47:18 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:17:04 2008 -0400"
      },
      "message": "kernel: Remove unnecessary inclusions of asm/semaphore.h\n\nNone of these files use any of the functionality promised by\nasm/semaphore.h.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "e24e2e64c468c8060bb7173abecdf11d00ed5751",
      "tree": "b03faa2fd187a207d0a2e78af75a787a66ab21fe",
      "parents": [
        "6c5db22d280302c33dafb309c25bf2841fb99c37"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Mar 10 11:43:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 10 18:01:20 2008 -0700"
      },
      "message": "modules: warn about suspicious return values from module\u0027s -\u003einit() hook\n\nReturn value convention of module\u0027s init functions is 0/-E.  Sometimes,\ne.g.  during forward-porting mistakes happen and buggy module created,\nwhere result of comparison \"workqueue !\u003d NULL\" is propagated all the way up\nto sys_init_module.  What happens is that some other module created\nworkqueue in question, our module created it again and module was\nsuccessfully loaded.\n\nOr it could be some other bug.\n\nLet\u0027s make such mistakes much more visible.  In retrospective, such\nmessages would noticeably shorten some of my head-scratching sessions.\n\nNote, that dump_stack() is just a way to get attention from user.  Sample\nmessage:\n\nsys_init_module: \u0027foo\u0027-\u003einit suspiciously returned 1, it should follow 0/-E convention\nsys_init_module: loading module anyway...\nPid: 4223, comm: modprobe Not tainted 2.6.24-25f666300625d894ebe04bac2b4b3aadb907c861 #5\n\nCall Trace:\n [\u003cffffffff80254b05\u003e] sys_init_module+0xe5/0x1d0\n [\u003cffffffff8020b39b\u003e] system_call_after_swapgs+0x7b/0x80\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c5db22d280302c33dafb309c25bf2841fb99c37",
      "tree": "0d3711b8a32646f52eca5015447256a30bc96a88",
      "parents": [
        "2668db9111bb1a6ab5a54f41f703179f35c7d098"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 10 11:43:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 10 18:01:19 2008 -0700"
      },
      "message": "modules: fix module waiting for dependent modules\u0027 init\n\nCommit c9a3ba55 (module: wait for dependent modules doing init.) didn\u0027t quite\nwork because the waiter holds the module lock, meaning that the state of the\nmodule it\u0027s waiting for cannot change.\n\nFortunately, it\u0027s fairly simple to update the state outside the lock and do\nthe wakeup.\n\nThanks to Jan Glauber for tracking this down and testing (qdio and qeth).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jan Glauber \u003cjang@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b37ccfc637be27d9a652fcedc35e6e782c3aa78",
      "tree": "525fd97d130c630ff5e65de2d83823174986a6a5",
      "parents": [
        "27d0483aa1ef66a8877d71b63bb97f46ab0246b2"
      ],
      "author": {
        "name": "Pavel Roskin",
        "email": "proski@gnu.org",
        "time": "Thu Feb 28 17:11:02 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 20:29:40 2008 -0800"
      },
      "message": "module: allow ndiswrapper to use GPL-only symbols\n\nA change after 2.6.24 broke ndiswrapper by accidentally removing its\naccess to GPL-only symbols.  Revert that change and add comments about\nthe reasons why ndiswrapper and driverloader are treated in a special\nway.\n\nSigned-off-by: Pavel Roskin \u003cproski@gnu.org\u003e\nAcked-by: Greg KH \u003cgregkh@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jon Masters \u003cjonathan@jonmasters.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "120fc3d77acfd91f3521737a440d42839c475982",
      "tree": "8f13e2fbad7f5aeafcf0a2bf6a235bddcbede6a3",
      "parents": [
        "58dc3232ff77158460f79e3c1932b81e8a2a0194"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Feb 21 00:33:20 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 21 15:27:08 2008 -0800"
      },
      "message": "modules: do not try to add sysfs attributes if !CONFIG_SYSFS\n\nThanks to Alexey for the testing and the fix of the fix.\n\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fb40bd78b0f91b274879cf5db8facd1e04b6052e",
      "tree": "2347ccb5ad07f58ab5a4eb41174bb7b54d5f0c5b",
      "parents": [
        "9170d2f6e1dc4d79650fbf492d1cd45291c66504"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Wed Feb 13 15:03:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 13 16:21:20 2008 -0800"
      },
      "message": "Linux Kernel Markers: support multiple probes\n\nRCU style multiple probes support for the Linux Kernel Markers.  Common case\n(one probe) is still fast and does not require dynamic allocation or a\nsupplementary pointer dereference on the fast path.\n\n- Move preempt disable from the marker site to the callback.\n\nSince we now have an internal callback, move the preempt disable/enable to the\ncallback instead of the marker site.\n\nSince the callback change is done asynchronously (passing from a handler that\nsupports arguments to a handler that does not setup the arguments is no\narguments are passed), we can safely update it even if it is outside the\npreempt disable section.\n\n- Move probe arm to probe connection. Now, a connected probe is automatically\n  armed.\n\nRemove MARK_MAX_FORMAT_LEN, unused.\n\nThis patch modifies the Linux Kernel Markers API : it removes the probe\n\"arm/disarm\" and changes the probe function prototype : it now expects a\nva_list * instead of a \"...\".\n\nIf we want to have more than one probe connected to a marker at a given\ntime (LTTng, or blktrace, ssytemtap) then we need this patch. Without it,\nconnecting a second probe handler to a marker will fail.\n\nIt allow us, for instance, to do interesting combinations :\n\nDo standard tracing with LTTng and, eventually, to compute statistics\nwith SystemTAP, or to have a special trigger on an event that would call\na systemtap script which would stop flight recorder tracing.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Mike Mason \u003cmmlnx@us.ibm.com\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: David Smith \u003cdsmith@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92dfc9dc7ba63134f721b6e745dbdcfc13ea341b",
      "tree": "aa959d2d5ba1819651888601e4d917b01ddcc88c",
      "parents": [
        "6d7623943c905efae327933bc5ee0b2f78e15f56"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Feb 08 04:18:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "fix \"modules: make module_address_lookup() safe\"\n\nGet the constness right, avoid nasty cast.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d7623943c905efae327933bc5ee0b2f78e15f56",
      "tree": "e2e4e073bd495970aa487bec94c560dcf31e33b1",
      "parents": [
        "88173507e4fc1e7ecd111b0565e8cba0cb7dae6d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Feb 08 04:18:42 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "modules: include sections.h to avoid defining linker variables explicitly\n\nmodule.c should not define linker variables on its own. We have an include\nfile for that.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88173507e4fc1e7ecd111b0565e8cba0cb7dae6d",
      "tree": "ed1a3f61f95b6e253afe8e330a668a12ad56a4e2",
      "parents": [
        "596f56018df3ed7de20f6038f72177b3674ebbd4"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Feb 08 04:18:41 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "Modules: handle symbols that have a zero value\n\nThe module subsystem cannot handle symbols that are zero.  If symbols are\npresent that have a zero value then the module resolver prints out a\nmessage that these symbols are unresolved.\n\n[akinobu.mita@gmail.com: fix __find_symbl() error checks]\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd5af90a7f3d79e04b7eace9a98644dbf2038f4d",
      "tree": "22327ba385c830b7be391c76821dc5ec26863f2e",
      "parents": [
        "3212bff370c2f22e4987c6679ba485654cefb178"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Jan 30 13:33:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:32 2008 +0100"
      },
      "message": "x86/non-x86: percpu, node ids, apic ids x86.git fixup\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6494a93d55fad586238cc1940e846c6d03e1aaf6",
      "tree": "8f930c1064753ab478b879b5598952f1ae87e52e",
      "parents": [
        "0aa5bd52d0c49ca56d24584c646e6544ccbb3dc9"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jan 27 15:38:40 2008 -0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:27 2008 +1100"
      },
      "message": "Module: check to see if we have a built in module with the same name\n\nWhen trying to load a module with the same name as a built-in one, a\nscary kobject backtrace comes up.  Prevent that from checking for this\ncondition and warning the user as to what exactly is going on.\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0aa5bd52d0c49ca56d24584c646e6544ccbb3dc9",
      "tree": "abce9de5d47992e5ccdfd052df022374d99f81a1",
      "parents": [
        "8686c99875f3849047660a5b6d02438443f22ce7"
      ],
      "author": {
        "name": "Jon Masters",
        "email": "jonathan@jonmasters.org",
        "time": "Mon Jan 21 20:43:41 2008 +0000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:26 2008 +1100"
      },
      "message": "module: add module taint on ndiswrapper\n\nThe struct module taints member is supposed to store per-module taint\ndata. The kernel knows about certain specific external modules that will\ntaint the kernel, such as ndiswrapper. Use of ndiswrapper possibly\nshould set the per-module taint in addition to the global kernel\ntaint flag, unless we\u0027re arguing not because wrapper module itself\nis not what actually causes the kernel to be tainted as such?\n\nSigned-off-by: Jon Masters \u003cjcm@jonmasters.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "6dd06c9fbe025f542bce4cdb91790c0f91962722",
      "tree": "5c946eb93f30c64fd435bdd6d1064880ef21557a",
      "parents": [
        "bb9d3d56e792d2619cc0903df4ac01d86ac1261d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:22 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:23 2008 +1100"
      },
      "message": "module: make module_address_lookup safe\n\nmodule_address_lookup releases preemption then returns a pointer into\nthe module space.  The only user (kallsyms) copies the result, so just\ndo that under the preempt disable.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "bb9d3d56e792d2619cc0903df4ac01d86ac1261d",
      "tree": "25ff54c8402b6dedf45a3145b5d9904e14983bf4",
      "parents": [
        "efa5345e39d01deef349c120f55ac6b6eabe7457"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:21 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:22 2008 +1100"
      },
      "message": "module: better OOPS and lockdep coverage for loading modules\n\nIf we put the module in the linked list *before* calling into to, we\nget the module name and functions in the OOPS (is_module_address can\nfind the module).  It also helps lockdep in a similar way.\n\nAcked-and-tested-by: Joern Engel \u003cjoern@lazybastard.org\u003e\nTested-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "efa5345e39d01deef349c120f55ac6b6eabe7457",
      "tree": "7c8d0919aa380a0db7ac748d6c4571c00aa5c639",
      "parents": [
        "c9a3ba55bb5da03fc7d707709a7fe078fe1aa0a0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:20 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:21 2008 +1100"
      },
      "message": "module: Fix gratuitous sprintf in module.c\n\nAndrew sent an older version of this patch: we shouldn\u0027t use sprintf\nto copy a string.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "c9a3ba55bb5da03fc7d707709a7fe078fe1aa0a0",
      "tree": "3d25d1783ad794b7bc64f5f36f5289f7f51a56fc",
      "parents": [
        "a2da4052f1df6bc77749f84496fe731ab8b458f7"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:18 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:20 2008 +1100"
      },
      "message": "module: wait for dependent modules doing init.\n\nThere have been reports of modules failing to load because the modules\nthey depend on are still loading.  This changes the modules to wait\nfor a reasonable length of time in that case.  We time out eventually,\nbecause there can be module loops or broken modules.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e14af7eeb47ea96c52741c5e5fa010d33daf6973",
      "tree": "0b4c1af86e766726ba75873812715706e4044086",
      "parents": [
        "21aa9280b9f4e9e68d3fa8990df6c9d7fd71f994"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "message": "debug: track and print last unloaded module in the oops trace\n\nBased on a suggestion from Andi:\n\n In various cases, the unload of a module may leave some bad state around\n that causes a kernel crash AFTER a module is unloaded; and it\u0027s then hard\n to find which module caused that.\n\nThis patch tracks the last unloaded module, and prints this as part of the\nmodule list in the oops trace.\n\nRight now, only the last 1 module is tracked; I expect that this is enough\nfor the vast majority of cases where this information matters; if it turns\nout that tracking more is important, we can always extend it to that.\n\n[ mingo@elte.hu: build fix ]\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "21aa9280b9f4e9e68d3fa8990df6c9d7fd71f994",
      "tree": "dbf9011a8ba89037dc7807d50daa645bf1b2e2b7",
      "parents": [
        "5a52dd50091b6a6e710a1293db741028f8cc5aac"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "message": "debug: show being-loaded/being-unloaded indicator for modules\n\nIt\u0027s rather common that an oops/WARN_ON/BUG happens during the load or\nunload of a module. Unfortunatly, it\u0027s not always easy to see directly\nwhich module is being loaded/unloaded from the oops itself. Worse,\nit\u0027s not even always possible to ask the bug reporter, since there\nare so many components (udev etc) that auto-load modules that there\u0027s\na good chance that even the reporter doesn\u0027t know which module this is.\n\nThis patch extends the existing \"show if it\u0027s tainting\" print code,\nwhich is used as part of printing the modules in the oops/BUG/WARN_ON\nto include a \"+\" for \"being loaded\" and a \"-\" for \"being unloaded\".\n\nAs a result this extension, the \"taint_flags()\" function gets renamed to\n\"module_flags()\" (and takes a module struct as argument, not a taint\nflags int).\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "78a2d906b40fe530ea800c1e873bfe8f02326f1e",
      "tree": "ebeef35150816fa807f71e596a9aaf711ad10a90",
      "parents": [
        "197b12d6796a3bca187f22a8978a33d51e2bcd79"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Dec 20 08:13:05 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:40 2008 -0800"
      },
      "message": "Kobject: convert remaining kobject_unregister() to kobject_put()\n\nThere is no need for kobject_unregister() anymore, thanks to Kay\u0027s\nkobject cleanup changes, so replace all instances of it with\nkobject_put().\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ac3c8141f62f357169980ec21b7be6d29964a394",
      "tree": "096cd77cecc2bce54978fd565982313382507b79",
      "parents": [
        "649316b25b148e57c8ef71748fc69fa6db276ad1"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: convert kernel/module.c to use kobject_init/add_ng()\n\nThis converts the code to use the new kobject functions, cleaning up the\nlogic in doing so.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "97c146ef075dc40ae34407c03d3860fc3850b8e8",
      "tree": "df4346fbbf9f7129fbd929ce43ceac819ff3c7df",
      "parents": [
        "da231fd5d113ab6da5dab7a2d2c38d0a540f939c"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Nov 29 23:46:11 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:36 2008 -0800"
      },
      "message": "sysfs: fix /sys/module/*/holders after sysfs logic change\n\nSysfs symlinks now require fully registered kobjects as a target,\notherwise the call to create a symlink will fail. Here we register\nthe kobject before we request the symlink in the holders directory.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Tejun Heo \u003cteheo@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c63469a3985a9771c18a916b8d42845d044ea0b1",
      "tree": "7d54c8741aec9d71864203ce430d289d40c4c975",
      "parents": [
        "cbe9c595f1de2e2a98403be2c14bfbc2486e84c4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Nov 28 12:23:18 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:35 2008 -0800"
      },
      "message": "Driver core: move the driver specific module code into the driver core\n\nThe module driver specific code should belong in the driver core, not in\nthe kernel/ directory.  So move this code.  This is done in preparation\nfor some struct device_driver rework that should be confined to the\ndriver core code only.\n\nThis also lets us keep from exporting these functions, as no external\ncode should ever be calling it.\n\nThanks to Andrew Morton for the !CONFIG_MODULES fix.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7405c1e15edfe43b137bfbc5882f1af34d6d414d",
      "tree": "94093ac6ece6e0a33f504e6c7778a2c443dae958",
      "parents": [
        "081248de0a0288a0ce4e1447a07ccf56aa4fae01"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 10:39:50 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:16 2008 -0800"
      },
      "message": "kset: convert /sys/module to use kset_create\n\nDynamically create the kset instead of declaring it statically.  We also\nrename module_subsys to module_kset to catch all users of the variable.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4ff6abff832fbc6cb1d769f6106c841bc2b09f63",
      "tree": "8458c8e29f53b67912edbe2424e43f95556832ce",
      "parents": [
        "3f9e3ee9dc3605e5c593b5d708494571fb0d3970"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 05 22:24:43 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:11 2008 -0800"
      },
      "message": "kobject: get rid of kobject_add_dir\n\nkobject_create_and_add is the same as kobject_add_dir, so drop\nkobject_add_dir.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3514faca19a6fdc209734431c509631ea92b094e",
      "tree": "f6d102e6dec276f8e8d1044b47c74a02b901554f",
      "parents": [
        "c11c4154e7ff4cebfadad849b1e22689d759c3f4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 16 10:11:44 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:10 2008 -0800"
      },
      "message": "kobject: remove struct kobj_type from struct kset\n\nWe don\u0027t need a \"default\" ktype for a kset.  We should set this\nexplicitly every time for each kset.  This change is needed so that we\ncan make ksets dynamic, and cleans up one of the odd, undocumented\nassumption that the kset/kobject/ktype model has.\n\nThis patch is based on a lot of help from Kay Sievers.\n\nNasty bug in the block code was found by Dave Young\n\u003chidave.darkstar@gmail.com\u003e\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cb2a52052cebe4716e83b9d2e53682ba00f67de6",
      "tree": "df35653a4ef0123c20df72f1c4355562553e9558",
      "parents": [
        "1a1b285c24e1468afe82b09330dde5192a6e0013"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 14 00:55:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jan 14 08:52:22 2008 -0800"
      },
      "message": "modules: de-mutex more symbol lookup paths in the module code\n\nKyle McMartin reports sysrq_timer_list_show() can hit the module mutex\nfrom hard interrupt context.  These paths don\u0027t need to though, since we\nlong ago changed all the module list manipulation to occur via\nstop_machine().\n\nDisabling preemption is enough.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a4b9708f1f2eaf5edd619df578cf3afec36eb82",
      "tree": "af45a123f6ac642cc326f16c0c97f2c16a18b662",
      "parents": [
        "74b2553f1d13e60fb27063204bd5b6908a6f8494"
      ],
      "author": {
        "name": "Matti Linnanvuori",
        "email": "mattilinnanvuori@yahoo.com",
        "time": "Thu Nov 08 08:37:38 2007 -0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 19 11:20:43 2007 +1100"
      },
      "message": "module: fix and elaborate comments\n\nFix and elaborate comments.\n\nSigned-off-by: Matti Linnanvuori \u003cmattilinnanvuori@yahoo.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "8256e47cdc8923e9959eb1d7f95d80da538add80",
      "tree": "4702aa3ad7c9025f70314f1146e551b4e1dfcbb2",
      "parents": [
        "09cadedbdc01f1a4bea1f427d4fb4642eaa19da9"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Oct 18 23:41:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:54 2007 -0700"
      },
      "message": "Linux Kernel Markers\n\nThe marker activation functions sits in kernel/marker.c.  A hash table is used\nto keep track of the registered probes and armed markers, so the markers\nwithin a newly loaded module that should be active can be activated at module\nload time.\n\nmarker_query has been removed. marker_get_first, marker_get_next and\nmarker_release should be used as iterators on the markers.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Mike Mason \u003cmmlnx@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22a8bdeb535d75d586d247ffaa51742556ebfee8",
      "tree": "da24f7bb67a3238d950c30e55efbdfa1c341a082",
      "parents": [
        "23ff4440243fe3fa42515d18aa213be14bb706ee"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Thu Oct 18 03:06:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:25 2007 -0700"
      },
      "message": "whitespace fixes: module loading\n\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d58ae67813ff97030d2f47ff7d1e5f54e5d7c5b3",
      "tree": "41d8e470d578636a0e5aeaed2d1e959e0c1a99c7",
      "parents": [
        "22d2b35b200f76085c16a2e14ca30b58510fcbe7"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Oct 16 23:30:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:01 2007 -0700"
      },
      "message": "module: return error when mod_sysfs_init() failed\n\nload_module() returns zero when mod_sysfs_init() fails, then the module\nloading will succeed accidentally.\n\nThis patch makes load_module() return error correctly in that case.\n\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d76013381ed28979cd122eb4b249a88b5e384fa",
      "tree": "f37571fad8690dead2344d1aa0ea86d5f778181f",
      "parents": [
        "ae0b78d09dc1d521551e225a9831aba1eded518f"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Oct 16 23:26:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:50 2007 -0700"
      },
      "message": "Add /sys/module/name/notes\n\nThis patch adds the /sys/module/\u003cname\u003e/notes/ magic directory, which has a\nfile for each allocated SHT_NOTE section that appears in \u003cname\u003e.ko.  This\nis the counterpart for each module of /sys/kernel/notes for vmlinux.\nReading this delivers the contents of the module\u0027s SHT_NOTE sections.  This\nlets userland easily glean any detailed information about that module\u0027s\nbuild that was stored there at compile time (e.g.  by ld --build-id).\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af49d9248fca6f26cbdb01918334f71d9040df80",
      "tree": "5d6a7f4d5ca55ff17fbfc98cacac37be62c7a4a3",
      "parents": [
        "d9c9bef1345e5d9258febce2a37e4d40319fa728"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 16 23:26:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:49 2007 -0700"
      },
      "message": "Remove \"unsafe\" from module struct\n\nAdrian Bunk points out that \"unsafe\" was used to mark modules touched by\nthe deprecated MOD_INC_USE_COUNT interface, which has long gone.  It\u0027s time\nto remove the member from the module structure, as well.\n\nIf you want a module which can\u0027t unload, don\u0027t register an exit function.\n\n(Vlad Yasevich says SCTP is now safe to unload, so just remove the\n__unsafe there).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nAcked-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nCc: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "256e2fdf033f5c8b5093cd817d44cea3a11a4e6f",
      "tree": "1bfca5475caac37a87762a48f30c945a4b4b743f",
      "parents": [
        "6cb52147b254373364a2fef5df8b4aa3739c8bb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Aug 06 23:47:45 2007 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Aug 22 14:35:35 2007 -0700"
      },
      "message": "Fix Off-by-one in /sys/module/*/refcnt\n\nsysfs internals were changed to not pin module in question.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9281acea6a3687ff0f262e0be31eac34895b95d7",
      "tree": "f060d6e4f6a5da1c82bc789104683d39377a2e9a",
      "parents": [
        "b45d52797432bd6b5d9786dbda940eb8d0b9ed06"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jul 17 04:03:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:03 2007 -0700"
      },
      "message": "kallsyms: make KSYM_NAME_LEN include space for trailing \u0027\\0\u0027\n\nKSYM_NAME_LEN is peculiar in that it does not include the space for the\ntrailing \u0027\\0\u0027, forcing all users to use KSYM_NAME_LEN + 1 when allocating\nbuffer.  This is nonsense and error-prone.  Moreover, when the caller\nforgets that it\u0027s very likely to subtly bite back by corrupting the stack\nbecause the last position of the buffer is always cleared to zero.\n\nThis patch increments KSYM_NAME_LEN by one and updates code accordingly.\n\n* off-by-one bug in asm-powerpc/kprobes.h::kprobe_lookup_name() macro\n  is fixed.\n\n* Where MODULE_NAME_LEN and KSYM_NAME_LEN were used together,\n  MODULE_NAME_LEN was treated as if it didn\u0027t include space for the\n  trailing \u0027\\0\u0027.  Fix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Paulo Marques \u003cpmarques@grupopie.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "24da1cbff9cfce50868c2dfdcda82a68ac5cb707",
      "tree": "93f0e1f0f464d62b73b14fba4a2ab9216acdc924",
      "parents": [
        "6c675bd43ccc36927c855d53d2e0042cdd1074ab"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Jul 15 23:41:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:51 2007 -0700"
      },
      "message": "modules: remove modlist_lock\n\nNow we always use stop_machine for module insertion or deletion, we no\nlonger need the modlist_lock: merely disabling preemption is sufficient to\nblock against list manipulation.  This avoids deadlock on OOPSen where we\ncan potentially grab the lock twice.\n\nBug: 8695\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tobias Oed \u003ctobiasoed@hotmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "708f4b522371da5e6c615a49e1844195aff84cb4",
      "tree": "c87006648a17d68428e190c44133c6819972b9ad",
      "parents": [
        "46c65b71e6122b89cd7b2bb36c1ba26d07e84fcd"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@sw.ru",
        "time": "Sun Jul 15 23:39:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:42 2007 -0700"
      },
      "message": "Make /proc/modules use seq_list_xxx helpers\n\nHere there is not need even in .show callback altering.  The original code\npasses list_head in *v.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b595756ec1f49e0049a9e01a1298d53a7faaa15",
      "tree": "cd06687ab3e5c7a5a4ef91903dff207a18c4db76",
      "parents": [
        "dbde0fcf9f8f6d477af3c32d9979e789ee680cde"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:17 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:06 2007 -0700"
      },
      "message": "sysfs: kill unnecessary attribute-\u003eowner\n\nsysfs is now completely out of driver/module lifetime game.  After\ndeletion, a sysfs node doesn\u0027t access anything outside sysfs proper,\nso there\u0027s no reason to hold onto the attribute owners.  Note that\noften the wrong modules were accounted for as owners leading to\naccessing removed modules.\n\nThis patch kills now unnecessary attribute-\u003eowner.  Note that with\nthis change, userland holding a sysfs node does not prevent the\nbacking module from being unloaded.\n\nFor more info regarding lifetime rule cleanup, please read the\nfollowing message.\n\n  http://article.gmane.org/gmane.linux.kernel/510293\n\n(tweaked by Greg to not delete the field just yet, to make it easier to\nmerge things properly.)\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "02a3e59a088749c08b0293ee1535f5bf48f5926c",
      "tree": "9475c395c1c704f4da9d506b9a52ff8e4299463e",
      "parents": [
        "b0e37650404b2302416ad3dbe649fdecba8d35d4"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Wed May 09 07:26:28 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 07:26:28 2007 +0200"
      },
      "message": "Fix minor typoes in kernel/module.c\n\nFix minor (comment) typoes in kernel/module.c.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "a5c43dae7ae38c2a6b3e9a819bcf45f010bf6a4a",
      "tree": "b30da7a4541e803e35a6a74ad33e836442c3f6c8",
      "parents": [
        "9d65cb4a1718a072898c7a57a3bc61b2dc4bcd4d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:28:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Fix race between cat /proc/slab_allocators and rmmod\n\nSame story as with cat /proc/*/wchan race vs rmmod race, only\n/proc/slab_allocators want more info than just symbol name.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d65cb4a1718a072898c7a57a3bc61b2dc4bcd4d",
      "tree": "9e3fd1c9e61e8ed16959d115a9a3f6f7eb0bbf21",
      "parents": [
        "ffb45122766db220d0bf3d01848d575fbbcb6430"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:28:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Fix race between cat /proc/*/wchan and rmmod et al\n\nkallsyms_lookup() can go iterating over modules list unprotected which is OK\nfor emergency situations (oops), but not OK for regular stuff like\n/proc/*/wchan.\n\nIntroduce lookup_symbol_name()/lookup_module_symbol_name() which copy symbol\nname into caller-supplied buffer or return -ERANGE.  All copying is done with\nmodule_mutex held, so...\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ffb45122766db220d0bf3d01848d575fbbcb6430",
      "tree": "a8fedf0518407ad12578a7c03aa2c3344f11ff3c",
      "parents": [
        "ea07890a680273b25127129fb555aac0d9324bea"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:28:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Simplify kallsyms_lookup()\n\nSeveral kallsyms_lookup() pass dummy arguments but only need, say, module\u0027s\nname.  Make kallsyms_lookup() accept NULLs where possible.\n\nAlso, makes picture clearer about what interfaces are needed for all symbol\nresolving business.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea07890a680273b25127129fb555aac0d9324bea",
      "tree": "b0742aa5dd90792dc10be3563c1181582d0f5d9e",
      "parents": [
        "ae84e324709d6320ed8c1fd7b1736fcbaf26df95"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:28:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Fix race between rmmod and cat /proc/kallsyms\n\nmodule_get_kallsym() leaks \"struct module *\" outside of module_mutex which is\nno-no, because module can dissapear right after mutex unlock.\n\nCopy all needed information from inside module_mutex into caller-supplied\nspace.\n\n[bunk@stusta.de: is_exported() can now become static]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae84e324709d6320ed8c1fd7b1736fcbaf26df95",
      "tree": "bb3b623f2fd491771c716957622a72e86e9582dd",
      "parents": [
        "55955aad7c09e4d93029d0cf2d360b41891f2fe4"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:28:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Simplify module_get_kallsym() by dropping length arg\n\nmodule_get_kallsym() could in theory truncate module symbol name to fit in\nbuffer, but nobody does this.  Always use KSYM_NAME_LEN + 1 bytes for name.\n\nSuggested by lg^WRusty.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d4f9c55002544bac1c99d0bab46c89319ab876e",
      "tree": "aea768f9ea94966d7fca165368ee10adf194525f",
      "parents": [
        "fe08a9d4982d9618ec25760ea715c46fe051e508"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue May 08 00:24:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:00 2007 -0700"
      },
      "message": "module: use krealloc\n\nThis converts an open-coded krealloc() to use the shiny new API.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea62ccd00fd0b6720b033adfc9984f31130ce195",
      "tree": "9837b797b2466fffcb0af96c388b06eae9c3df18",
      "parents": [
        "886a0768affe9a32f18c45f8e1393bca9ece5392",
        "35060b6a9a4e1c89bc6fbea61090e302dbc61847"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 14:55:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 14:55:20 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6\n\n* \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6: (231 commits)\n  [PATCH] i386: Don\u0027t delete cpu_devs data to identify different x86 types in late_initcall\n  [PATCH] i386: type may be unused\n  [PATCH] i386: Some additional chipset register values validation.\n  [PATCH] i386: Add missing !X86_PAE dependincy to the 2G/2G split.\n  [PATCH] x86-64: Don\u0027t exclude asm-offsets.c in Documentation/dontdiff\n  [PATCH] i386: avoid redundant preempt_disable in __unlazy_fpu\n  [PATCH] i386: white space fixes in i387.h\n  [PATCH] i386: Drop noisy e820 debugging printks\n  [PATCH] x86-64: Fix allnoconfig error in genapic_flat.c\n  [PATCH] x86-64: Shut up warnings for vfat compat ioctls on other file systems\n  [PATCH] x86-64: Share identical video.S between i386 and x86-64\n  [PATCH] x86-64: Remove CONFIG_REORDER\n  [PATCH] x86-64: Print type and size correctly for unknown compat ioctls\n  [PATCH] i386: Remove copy_*_user BUG_ONs for (size \u003c 0)\n  [PATCH] i386: Little cleanups in smpboot.c\n  [PATCH] x86-64: Don\u0027t enable NUMA for a single node in K8 NUMA scanning\n  [PATCH] x86: Use RDTSCP for synchronous get_cycles if possible\n  [PATCH] i386: Add X86_FEATURE_RDTSCP\n  [PATCH] i386: Implement X86_FEATURE_SYNC_RDTSC on i386\n  [PATCH] i386: Implement alternative_io for i386\n  ...\n\nFix up trivial conflict in include/linux/highmem.h manually.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "823bccfc4002296ba88c3ad0f049e1abd8108d30",
      "tree": "5338ae0b32409446af4cd00c5107d9405d5bf0b6",
      "parents": [
        "2609e7b9bebfd433254c02538ba803dc516ff674"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 13 13:15:19 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 18:57:59 2007 -0700"
      },
      "message": "remove \"struct subsystem\" as it is no longer needed\n\nWe need to work on cleaning up the relationship between kobjects, ksets and\nktypes.  The removal of \u0027struct subsystem\u0027 is the first step of this,\nespecially as it is not really needed at all.\n\nThanks to Kay for fixing the bugs in this patch.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b6e3590f8145c77b8fcef3247e2412335221412f",
      "tree": "47fb1a28e41fd9f4e1aef45b5482b69b8d7c154e",
      "parents": [
        "de90c5ce832b1218042316260ff9268b00fdcba3"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "message": "[PATCH] x86: Allow percpu variables to be page-aligned\n\nLet\u0027s allow page-alignment in general for per-cpu data (wanted by Xen, and\nIngo suggested KVM as well).\n\nBecause larger alignments can use more room, we increase the max per-cpu\nmemory to 64k rather than 32k: it\u0027s getting a little tight.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b00742d399513a4100c24cc2accefdc1bb1e0b15",
      "tree": "57551a08eb218ed4aadb0a90806f33826df27f8a",
      "parents": [
        "bbba11c35baaad3f70f32e185a2c1d40d7901fe9"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:11 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:11 2007 +0200"
      },
      "message": "[PATCH] x86-64: Account for module percpu space separately from kernel percpu\n\nRather than using a single constant PERCPU_ENOUGH_ROOM, compute it as\nthe sum of kernel_percpu + PERCPU_MODULE_RESERVE.  This is now common\nto all architectures; if an architecture wants to set\nPERCPU_ENOUGH_ROOM to something special, then it may do so (ia64 is\nthe only one which does).\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "240936e18b75937e7866934df723c2db0011d24f",
      "tree": "0110cc4eecf98a3dec75e6a9d824907086591fe4",
      "parents": [
        "a53c46dc8253cc613ad66a2ca7aad6de8b7e61b9"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Thu Apr 26 00:12:09 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:34 2007 -0700"
      },
      "message": "mod_sysfs_setup() doesn\u0027t return errno when kobject_add_dir() failure occurs\n\nmod_sysfs_setup() doesn\u0027t return an errno when kobject_add_dir() for module\n\"holders\" directory fails.  So caller of mod_sysfs_setup() will keep going\nand get oops.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0c84ce268b69855919b6ac7edc8f11caf21e9c88",
      "tree": "64e1fca7d80026db60ed4dde751d553193587034",
      "parents": [
        "bcd9b89c02295b075fda4bdb666f6641f8212226"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Apr 01 23:49:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 02 10:06:09 2007 -0700"
      },
      "message": "[PATCH] driver core: fix built-in drivers sysfs links\n\nbuilt-in drivers had broken sysfs links that caused bootup hangs for\ncertain driver unregistry sequences.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "161e232b8823e230d4fdf8064e606bbdf26f47e2",
      "tree": "7d29c9e38febd3e8baa1351b2d28555db5b34f8b",
      "parents": [
        "a967e127d0233f2472af64597de3f3920872310c"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 09 15:25:04 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 09 15:25:04 2007 -0800"
      },
      "message": "Revert \"driver core: refcounting fix\"\n\nThis reverts commit 63ce18cfe685115ff8d341bae4c9204a79043cf0.\n\nIt was the incorrect fix and causes a reference counting bug whenever\nany driver module is removed from the system. Mike Galbraith\n\u003cefault@gmx.de\u003e is looking for the real fix for his problem.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "dfff0a0671baf4e69fc676bf8150635407548288",
      "tree": "a477399030ef79029b7c8ef064a2695ea5f07c56",
      "parents": [
        "82f0cf9b7c42684c29189ddb6d0bc86eb1137fc4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 23 14:54:57 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 23 14:54:57 2007 -0800"
      },
      "message": "Revert \"Driver core: let request_module() send a /sys/modules/kmod/-uevent\"\n\nThis reverts commit c353c3fb0700a3c17ea2b0237710a184232ccd7f.\n\nIt turns out that we end up with a loop trying to load the unix\nmodule and calling netfilter to do that.  Will redo the patch\nlater to not have this loop.\n\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "63ce18cfe685115ff8d341bae4c9204a79043cf0",
      "tree": "7f37a6f9f0453b2122e490d6ef68f213d8a878a3",
      "parents": [
        "40cf67c5fcc513406558c01b91129280208e57bf"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Feb 21 12:45:35 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 23 14:52:09 2007 -0800"
      },
      "message": "driver core: refcounting fix\n\nFix a reference counting bug exposed by commit\n725522b5453dd680412f2b6463a988e4fd148757.  If driver.mod_name exists, we\ntake a reference in module_add_driver(), and never release it.  Undo that\nreference in module_remove_driver().\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "ef665c1a06be719ed9a6b0ad7967137258d9457a",
      "tree": "aff01a8a9ae3617fdfd1f2931aa62799f0988610",
      "parents": [
        "e4a3c3f095ecc760fc557ca87e518e2e553fab4b"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Feb 13 15:19:06 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 16 15:19:18 2007 -0800"
      },
      "message": "sysfs: fix build errors: uevent with CONFIG_SYSFS\u003dn\n\nFix source files to build with CONFIG_SYSFS\u003dn.\nmodule_subsys is not available.\n\nSYSFS\u003dn, MODULES\u003dy:\tT:y\nSYSFS\u003dn, MODULES\u003dn:\tT:y\n\nSYSFS\u003dy, MODULES\u003dy:\tT:y\nSYSFS\u003dy, MODULES\u003dn:\tT:y\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b92be9f1ecd3c8b16e9bb22d55bb97b3d89f091a",
      "tree": "6f5b561fd2268214d3b511f6dc8e0c1a598f24b7",
      "parents": [
        "1350770112bd9bd5696cb52deb712370012d80e0"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "m.kozlowski@tuxland.pl",
        "time": "Wed Feb 14 21:03:39 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 16 15:19:17 2007 -0800"
      },
      "message": "Driver: remove redundant kobject_unregister checks\n\nHere is a patch that removes all redundant kobject_unregister argument checks.\n\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c353c3fb0700a3c17ea2b0237710a184232ccd7f",
      "tree": "7b5fd590bd9b0a08bee8425ad074e993629683d1",
      "parents": [
        "89790fd789e024b23eb1fbccedd84a2015441ce0"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Feb 02 16:39:12 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 16 15:19:15 2007 -0800"
      },
      "message": "Driver core: let request_module() send a /sys/modules/kmod/-uevent\n\nOn recent systems, calls to /sbin/modprobe are handled by udev depending\non the kind of device the kernel has discovered. This patch creates an\nuevent for the kernels internal request_module(), to let udev take control\nover the request, instead of forking the binary directly by the kernel.\nThe direct execution of /sbin/modprobe can be disabled by setting:\n  /sys/module/kmod/mod_request_helper (/proc/sys/kernel/modprobe)\nto an empty string, the same way /proc/sys/kernel/hotplug is disabled on an\nudev system.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "270a6c4cad809e92d7b81adde92d0b3d94eeb8ee",
      "tree": "b85706ef52535fb2b421b475472b7071b1572590",
      "parents": [
        "80f745fb1b0fb11383cbb8df2c36aaaa0399b6e6"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Jan 18 13:26:15 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:12 2007 -0800"
      },
      "message": "/sys/modules/*/holders\n\n  /sys/module/usbcore/\n  |-- drivers\n  |   |-- usb:hub -\u003e ../../../subsystem/usb/drivers/hub\n  |   |-- usb:usb -\u003e ../../../subsystem/usb/drivers/usb\n  |   `-- usb:usbfs -\u003e ../../../subsystem/usb/drivers/usbfs\n  |-- holders\n  |   |-- ehci_hcd -\u003e ../../../module/ehci_hcd\n  |   |-- uhci_hcd -\u003e ../../../module/uhci_hcd\n  |   |-- usb_storage -\u003e ../../../module/usb_storage\n  |   `-- usbhid -\u003e ../../../module/usbhid\n  |-- initstate\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fe480a2675ed236af396597d9f05245c7bbd0149",
      "tree": "1320b12250fd7ff8b642cc205587c7d0cbf6d9bb",
      "parents": [
        "f30c53a873d0d227493197064b8886af2d57bbd6"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jan 15 11:50:02 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:12 2007 -0800"
      },
      "message": "Modules: only add drivers/ direcory if needed\n\nThis changes the module core to only create the drivers/ directory if we\nare going to put something in it.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f30c53a873d0d227493197064b8886af2d57bbd6",
      "tree": "cd051f14effbbb015a1bae6fe5bfabcf14037f13",
      "parents": [
        "c744aeae9d173a953b771a7ad5c872f91fa99dec"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Mon Jan 15 20:22:02 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:12 2007 -0800"
      },
      "message": "MODULES: add the module name for built in kernel drivers\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7f422e2e84307bdd9b51c19a602e1601d160aebc",
      "tree": "f4e8ab9aeb5e9ee57eb7e05718b0c46dac9dd015",
      "parents": [
        "05a8057bb38bc803682f3e0af305c258b4566285"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Dec 20 10:39:33 2006 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 05 12:33:38 2007 -0800"
      },
      "message": "[PATCH] Driver core: Fix prefix driver links in /sys/module by bus-name\n\nModules may have drivers with the same name on different buses.\nThis patch fixes this problem.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a3f99f8ba8cbd2d4e231b767b3d6236a555da38c",
      "tree": "9e70e751e1ec612e16ebeb7eb85a76450f59b5fe",
      "parents": [
        "96ceeaf4ab66315a5149296bb58d8e1a9e6f2f6d"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Dec 29 16:48:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Dec 30 10:56:41 2006 -0800"
      },
      "message": "[PATCH] module: fix mod_sysfs_setup() return value\n\nmod_sysfs_setup() doesn\u0027t return error when kobject_add_dir() failed.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1f71740ab9714bf5ae9ee04c724ff0d5c67ca3dc",
      "tree": "0573d4f21472e7eb3509f71f74dfc8443a415db4",
      "parents": [
        "aef6fba4f97bbec1dc5a253f388be9a4c7a30e41"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Nov 24 12:15:25 2006 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 13 15:38:45 2006 -0800"
      },
      "message": "Driver core: show \"initstate\" of module\n\nShow the initialization state(live, coming, going) of the module:\n  $ cat /sys/module/usbcore/initstate\n  live\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "15ad7cdcfd76450d4beebc789ec646664238184d",
      "tree": "279d05a76ae0906c23ee2de8c5684d95d9886ad3",
      "parents": [
        "4a08a9f68168e547c2baf100020e9b96cae5fbd1"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Wed Dec 06 20:40:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:46 2006 -0800"
      },
      "message": "[PATCH] struct seq_operations and struct file_operations constification\n\n - move some file_operations structs into the .rodata section\n\n - move static strings from policy_types[] array into the .rodata section\n\n - fix generic seq_operations usages, so that those structs may be defined\n   as \"const\" as well\n\n[akpm@osdl.org: couple of fixes]\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f6a570333e554b48ad589e7137c77c57809eee81",
      "tree": "68dd6d5c8fe537a19a84a4189202f5cf70925c17",
      "parents": [
        "2b5f6dcce5bf94b9b119e9ed8d537098ec61c3d2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Oct 18 01:47:25 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 04 02:00:22 2006 -0500"
      },
      "message": "[PATCH] severing module.h-\u003esched.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e17e0f51aeea4e59c7e450a1c0f26605b91c1260",
      "tree": "eb177cbfe18d433ab115222bfe53f1098de844c2",
      "parents": [
        "c957b32406b73ed66d0f20ebab0cab25c848105d"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Nov 24 12:15:25 2006 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 01 14:52:02 2006 -0800"
      },
      "message": "Driver core: show drivers in /sys/module/\n\nShow the drivers, which belong to the module:\n  $ ls -l /sys/module/usbcore/drivers/\n  hub -\u003e ../../../bus/usb/drivers/hub\n  usb -\u003e ../../../bus/usb/drivers/usb\n  usbfs -\u003e ../../../bus/usb/drivers/usbfs\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0e2d57fc6e7dabdbfdd4f26c861e7e6c75d5bdcf",
      "tree": "0f8be2dd15fc6f40a357ec7035136bdb76fc0c7c",
      "parents": [
        "a5a89bae0449634fdb7aa7cdb1c5ba154e4a789b"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sun Oct 29 22:46:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 30 12:08:40 2006 -0800"
      },
      "message": "[PATCH] ndiswrapper: don\u0027t set the module-\u003etaints flags\n\nFor ndiswrapper, don\u0027t set the module-\u003etaints flags, just set the kernel\nglobal tainted flag.  This should allow ndiswrapper to continue to use GPL\nsymbols.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Florin Malita \u003cfmalita@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1d4d262769cd1894a0306b9c57e72f005cd9e75a",
      "tree": "7578cd8925bb8fa0d8f141f8f0ca0732e73751ca",
      "parents": [
        "08d892f11aae7125fe078cf93ec5cf6af288c5e7"
      ],
      "author": {
        "name": "Jan Dittmer",
        "email": "jdi@l4x.org",
        "time": "Sat Oct 28 10:38:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 28 11:30:53 2006 -0700"
      },
      "message": "[PATCH] Add missing space in module.c for taintskernel\n\nObvious fix.\n\nSigned-off-by: Jan Dittmer \u003cjdi@l4x.org\u003e\nAcked-by: Florin Malita \u003cfmalita@gmail.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fa3ba2e81ea23416272a22009bba95954c81969c",
      "tree": "cd1ab15dcf1130a4920ca9396cb91aaff4b0dcf6",
      "parents": [
        "3719bc5c22c9025bf1c909fe8b527ebf1de9a153"
      ],
      "author": {
        "name": "Florin Malita",
        "email": "fmalita@gmail.com",
        "time": "Wed Oct 11 01:21:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:21 2006 -0700"
      },
      "message": "[PATCH] fix Module taint flags listing in Oops/panic\n\nModule taint flags listing in Oops/panic has a couple of issues:\n\n* taint_flags() doesn\u0027t null-terminate the buffer after printing the flags\n\n* per-module taints are only set if the kernel is not already tainted\n  (with that particular flag) \u003d\u003e only the first offending module gets its\n  taint info correctly updated\n\nSome additional changes:\n\n* \u0027license_gplok\u0027 is no longer needed - equivalent to !(taints \u0026\n  TAINT_PROPRIETARY_MODULE) - so we can drop it from struct module *\n  exporting module taint info via /proc/module:\n\npwc 88576 0 - Live 0xf8c32000\nevilmod 6784 1 pwc, Live 0xf8bbf000 (PF)\n\nSigned-off-by: Florin Malita \u003cfmalita@gmail.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ffc5089196446c08d9a005cf0dd7cab18d119606",
      "tree": "e15925251553152f6859c354e34afe3adfcd1c64",
      "parents": [
        "339b0c0813a257893fa84be999b9b85a50846dd8"
      ],
      "author": {
        "name": "Franck Bui-Huu",
        "email": "vagabon.xyz@gmail.com",
        "time": "Tue Oct 03 01:13:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:03:41 2006 -0700"
      },
      "message": "[PATCH] Create kallsyms_lookup_size_offset()\n\nSome uses of kallsyms_lookup() do not need to find out the name of a symbol\nand its module\u0027s name it belongs.  This is specially true in arch specific\ncode, which needs to unwind the stack to show the back trace during oops\n(mips is an example).  In this specific case, we just need to retreive the\nfunction\u0027s size and the offset of the active intruction inside it.\n\nAdds a new entry \"kallsyms_lookup_size_offset()\" This new entry does\nexactly the same as kallsyms_lookup() but does not require any buffers to\nstore any names.\n\nIt returns 0 if it fails otherwise 1.\n\nSigned-off-by: Franck Bui-Huu \u003cvagabon.xyz@gmail.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2bc2d61a9638dab670d8361e928d1a5a291173ef",
      "tree": "f5d4cf9d3bac97f3da0bd5eb03e76797d47070cd",
      "parents": [
        "a58cbd7c249f3079dd62d6391a33b9f43f2bfbef"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Mon Oct 02 02:17:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:12 2006 -0700"
      },
      "message": "[PATCH] list module taint flags in Oops/panic\n\nWhen listing loaded modules during an oops or panic, also list each\nmodule\u0027s Tainted flags if non-zero (P: Proprietary or F: Forced load only).\n\nIf a module is did not taint the kernel, it is just listed like\n\tusbcore\nbut if it did taint the kernel, it is listed like\n\twizmodem(PF)\n\nExample:\n[ 3260.121718] Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP:\n[ 3260.121729]  [\u003cffffffff8804c099\u003e] :dump_test:proc_dump_test+0x99/0xc8\n[ 3260.121742] PGD fe8d067 PUD 264a6067 PMD 0\n[ 3260.121748] Oops: 0002 [1] SMP\n[ 3260.121753] CPU 1\n[ 3260.121756] Modules linked in: dump_test(P) snd_pcm_oss snd_mixer_oss snd_seq snd_seq_device ide_cd generic ohci1394 snd_hda_intel snd_hda_codec snd_pcm snd_timer snd ieee1394 snd_page_alloc piix ide_core arcmsr aic79xx scsi_transport_spi usblp\n[ 3260.121785] Pid: 5556, comm: bash Tainted: P      2.6.18-git10 #1\n\n[Alternatively, I can look into listing tainted flags with \u0027lsmod\u0027,\nbut that won\u0027t help in oopsen/panics so much.]\n\n[akpm@osdl.org: cleanup]\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "04b1db9fd7eea63c9663072feece616ea41b0a79",
      "tree": "70b92bf4040acbad744970b82432caac768c2658",
      "parents": [
        "3b5e0cbb4fb6e2a599d72652f56a9acb6af16bcf"
      ],
      "author": {
        "name": "Ian S. Nelson",
        "email": "nelsonian@comcast.net",
        "time": "Fri Sep 29 02:01:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:23 2006 -0700"
      },
      "message": "[PATCH] /sys/modules: allow full length section names\n\nI\u0027ve been using systemtap for some debugging and I noticed that it can\u0027t\nprobe a lot of modules.  Turns out it\u0027s kind of silly, the sections section\nof /sys/module is limited to 32byte filenames and many of the actual\nsections are a a bit longer than that.\n\n[akpm@osdl.org: rewrite to use dymanic allocation]\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1cc5f7142eca352109895fe20b1fc6405dd17727",
      "tree": "9c6b4b3204f06317c830457e091ff2c83272ea09",
      "parents": [
        "bfa0e9a07cd31f3858239dbc93011b82780acf4b"
      ],
      "author": {
        "name": "Ed Swierk",
        "email": "eswierk@arastra.com",
        "time": "Mon Sep 25 16:25:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Sep 25 17:38:36 2006 -0700"
      },
      "message": "[PATCH] load_module: no BUG if module_subsys uninitialized\n\nInvoking load_module() before param_sysfs_init() is called crashes in\nmod_sysfs_setup(), since the kset in module_subsys is not initialized yet.\n\nIn my case, net-pf-1 is getting modprobed as a result of hotplug trying to\ncreate a UNIX socket.  Calls to hotplug begin after the topology_init\ninitcall.\n\nAnother patch for the same symptom (module_subsys-initialize-earlier.patch)\nmoves param_sysfs_init() to the subsys initcalls, but this is still not\nearly enough in the boot process in some cases.  In particular,\ntopology_init() causes /sbin/hotplug to run, which requests net-pf-1 (the\nUNIX socket protocol) which can be compiled as a module.  Moving\nparam_sysfs_init() to the postcore initcalls fixes this particular race,\nbut there might well be other cases where a usermodehelper causes a module\nto load earlier still.\n\nThe patch makes load_module() return an error rather than crashing the\nkernel if invoked before module_subsys is initialized.\n\nCc: Mark Huang \u003cmlhuang@cs.princeton.edu\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "098c5eea03de4707019a205140296893252b4130",
      "tree": "7fddd3a319c7607db2dd7082dcf3887c3e16b3c1",
      "parents": [
        "329c6e4257d6a89990d72617d91437e2ce59e426"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Fri Jul 14 00:24:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:52 2006 -0700"
      },
      "message": "[PATCH] null-terminate over-long /proc/kallsyms symbols\n\nGot a customer bug report (https://bugzilla.novell.com/190296) about kernel\nsymbols longer than 127 characters which end up in a string buffer that is\nnot NULL terminated, leading to garbage in /proc/kallsyms.  Using strlcpy\nprevents this from happening, even though such symbols still won\u0027t come out\nright.\n\nA better fix would be to not use a fixed-size buffer, but it\u0027s probably not\nworth the trouble.  (Modversion\u0027ed symbols even have a length limit of 60.)\n\n[bunk@stusta.de: build fix]\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fbb9ce9530fd9b66096d5187fa6a115d16d9746c",
      "tree": "1151a55e5d56045bac17b9766e6a4696cff0a26f",
      "parents": [
        "cae2ed9aa573415c6e5de9a09b7ff0d74af793bc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:03 2006 -0700"
      },
      "message": "[PATCH] lockdep: core\n\nDo \u0027make oldconfig\u0027 and accept all the defaults for new config options -\nreboot into the kernel and if everything goes well it should boot up fine and\nyou should have /proc/lockdep and /proc/lockdep_stats files.\n\nTypically if the lock validator finds some problem it will print out\nvoluminous debug output that begins with \"BUG: ...\" and which syslog output\ncan be used by kernel developers to figure out the precise locking scenario.\n\nWhat does the lock validator do?  It \"observes\" and maps all locking rules as\nthey occur dynamically (as triggered by the kernel\u0027s natural use of spinlocks,\nrwlocks, mutexes and rwsems).  Whenever the lock validator subsystem detects a\nnew locking scenario, it validates this new rule against the existing set of\nrules.  If this new rule is consistent with the existing set of rules then the\nnew rule is added transparently and the kernel continues as normal.  If the\nnew rule could create a deadlock scenario then this condition is printed out.\n\nWhen determining validity of locking, all possible \"deadlock scenarios\" are\nconsidered: assuming arbitrary number of CPUs, arbitrary irq context and task\ncontext constellations, running arbitrary combinations of all the existing\nlocking scenarios.  In a typical system this means millions of separate\nscenarios.  This is why we call it a \"locking correctness\" validator - for all\nrules that are observed the lock validator proves it with mathematical\ncertainty that a deadlock could not occur (assuming that the lock validator\nimplementation itself is correct and its internal data structures are not\ncorrupted by some other kernel subsystem).  [see more details and conditionals\nof this statement in include/linux/lockdep.h and\nDocumentation/lockdep-design.txt]\n\nFurthermore, this \"all possible scenarios\" property of the validator also\nenables the finding of complex, highly unlikely multi-CPU multi-context races\nvia single single-context rules, increasing the likelyhood of finding bugs\ndrastically.  In practical terms: the lock validator already found a bug in\nthe upstream kernel that could only occur on systems with 3 or more CPUs, and\nwhich needed 3 very unlikely code sequences to occur at once on the 3 CPUs.\nThat bug was found and reported on a single-CPU system (!).  So in essence a\nrace will be found \"piecemail-wise\", triggering all the necessary components\nfor the race, without having to reproduce the race scenario itself!  In its\nshort existence the lock validator found and reported many bugs before they\nactually caused a real deadlock.\n\nTo further increase the efficiency of the validator, the mapping is not per\n\"lock instance\", but per \"lock-class\".  For example, all struct inode objects\nin the kernel have inode-\u003einotify_mutex.  If there are 10,000 inodes cached,\nthen there are 10,000 lock objects.  But -\u003einotify_mutex is a single \"lock\ntype\", and all locking activities that occur against -\u003einotify_mutex are\n\"unified\" into this single lock-class.  The advantage of the lock-class\napproach is that all historical -\u003einotify_mutex uses are mapped into a single\n(and as narrow as possible) set of locking rules - regardless of how many\ndifferent tasks or inode structures it took to build this set of rules.  The\nset of rules persist during the lifetime of the kernel.\n\nTo see the rough magnitude of checking that the lock validator does, here\u0027s a\nportion of /proc/lockdep_stats, fresh after bootup:\n\n lock-classes:                            694 [max: 2048]\n direct dependencies:                  1598 [max: 8192]\n indirect dependencies:               17896\n all direct dependencies:             16206\n dependency chains:                    1910 [max: 8192]\n in-hardirq chains:                      17\n in-softirq chains:                     105\n in-process chains:                    1065\n stack-trace entries:                 38761 [max: 131072]\n combined max dependencies:         2033928\n hardirq-safe locks:                     24\n hardirq-unsafe locks:                  176\n softirq-safe locks:                     53\n softirq-unsafe locks:                  137\n irq-safe locks:                         59\n irq-unsafe locks:                      176\n\nThe lock validator has observed 1598 actual single-thread locking patterns,\nand has validated all possible 2033928 distinct locking scenarios.\n\nMore details about the design of the lock validator can be found in\nDocumentation/lockdep-design.txt, which can also found at:\n\n   http://redhat.com/~mingo/lockdep-patches/lockdep-design.txt\n\n[bunk@stusta.de: cleanups]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4d435f9d8ff01ae726a2a84edb9c2457787a337e",
      "tree": "c4c65b739187731e89893cd10faf270067c81a56",
      "parents": [
        "93e028148fce0be9787de7fb097fa4c8582b78c1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:00 2006 -0700"
      },
      "message": "[PATCH] lockdep: add is_module_address()\n\nAdd is_module_address() method - to be used by lockdep.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "84860f9979804cfd97638ce0ec9d583daf338e0d",
      "tree": "81fe1ffa2d7cd2ed4757703dae5fadc40ea01213",
      "parents": [
        "f71d20e961474dde77e6558396efb93d6ac80a4b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Jun 28 04:26:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 14:59:04 2006 -0700"
      },
      "message": "[PATCH] load_module() cleanup\n\nUndo bizarre declaration in load_module().\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f71d20e961474dde77e6558396efb93d6ac80a4b",
      "tree": "669610f79521fd173c28fc47bef39ecd4cdf52ab",
      "parents": [
        "f5e54d6e53a20cef45af7499e86164f0e0d16bb2"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jun 28 04:26:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 14:59:04 2006 -0700"
      },
      "message": "[PATCH] Add EXPORT_UNUSED_SYMBOL and EXPORT_UNUSED_SYMBOL_GPL\n\nTemporarily add EXPORT_UNUSED_SYMBOL and EXPORT_UNUSED_SYMBOL_GPL.  These\nwill be used as a transition measure for symbols that aren\u0027t used in the\nkernel and are on the way out.  When a module uses such a symbol, a warning\nis printk\u0027d at modprobe time.\n\nThe main reason for removing unused exports is size: eacho export takes\nroughly between 100 and 150 bytes of kernel space in the binary.  This\npatch gives users the option to immediately get this size gain via a config\noption.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2a2ed2db353d949c06b6ef8b6913f65b39111eab",
      "tree": "d835c3dd101da91089c3bdf51c8632e84be37232",
      "parents": [
        "972d19e837833b93466c6f6a8ef2a7d653000aa3",
        "070b98bfda3d27269519067c1c67eaef695f3e0c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 11:05:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 11:05:15 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (40 commits)\n  kbuild: trivial fixes in Makefile\n  kbuild: adding symbols in Kconfig and defconfig to TAGS\n  kbuild: replace abort() with exit(1)\n  kbuild: support for %.symtypes files\n  kbuild: fix silentoldconfig recursion\n  kbuild: add option for stripping modules while installing them\n  kbuild: kill some false positives from modpost\n  kbuild: export-symbol usage report generator\n  kbuild: fix make -rR breakage\n  kbuild: append -dirty for updated but uncommited changes\n  kbuild: append git revision for all untagged commits\n  kbuild: fix module.symvers parsing in modpost\n  kbuild: ignore make\u0027s built-in rules \u0026 variables\n  kbuild: bugfix with initramfs\n  kbuild: modpost build fix\n  kbuild: check license compatibility when building modules\n  kbuild: export-type enhancement to modpost.c\n  kbuild: add dependency on kernel.release to the package targets\n  kbuild: `make kernelrelease\u0027 speedup\n  kconfig: KCONFIG_OVERWRITECONFIG\n  ...\n"
    },
    {
      "commit": "4552d5dc08b79868829b4be8951b29b07284753f",
      "tree": "7b25695b4c0e1917fc80e8dd4bc494de36320ccc",
      "parents": [
        "2b28592b07223d7fc0691ce3fe57d495dc9cbe3a"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Mon Jun 26 13:57:28 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 10:48:17 2006 -0700"
      },
      "message": "[PATCH] x86_64: reliable stack trace support\n\nThese are the generic bits needed to enable reliable stack traces based\non Dwarf2-like (.eh_frame) unwind information. Subsequent patches will\nenable x86-64 and i386 to make use of this.\n\nThanks to Andi Kleen and Ingo Molnar, who pointed out several possibilities\nfor improvement.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "f867d2a2e5f3f0ce6356f452cc27b70d577de7c7"
}
