)]}'
{
  "log": [
    {
      "commit": "c5be0b2eb1ca05e0cd747f9c0ba552c6ee8827a0",
      "tree": "2252ad213e238dafec0d0a0d662ff1b53377b77a",
      "parents": [
        "a288bd651f4180c224cfddf837a0416157a36661"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Thu May 19 16:55:25 2011 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:25 2011 +0930"
      },
      "message": "module: reorder kparam_array to remove alignment padding on 64 bit builds\n\nReorder structure kparam_array to remove 8 bytes of alignment padding on\n64 bit builds, dropping its size from 40 to 32 bytes.\n\nAlso update the macro module_param_array_named to initialise the\nstructure using its member names to allow it to be changed without\ntouching all its call sites.\n\n\u0027git grep\u0027 finds module_param_array in 1037 places so this patch will\nsave a small amount of data space across many modules.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b75be4204e7871869b2c268c00783703197aaa7d",
      "tree": "6667a6d0ca0380bf8f64a499bfcee0db39bdc5a6",
      "parents": [
        "3b90a5b292321b2acac3921f77046ae195aef53f"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Wed Jan 05 13:27:04 2011 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:32:52 2011 +1030"
      },
      "message": "param: add null statement to compiled-in module params\n\nAdd an unused struct declaration statement requiring a\nterminating semicolon to the compile-in case to provoke an\nerror if __MODULE_INFO() is used without the terminating\nsemicolon. Previously MODULE_ALIAS(\"foo\") (no semicolon)\ncompiled fine if MODULE was not selected.\n\nCc: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b6472776816af1ed52848c93d26e3edb3b17adab",
      "tree": "16061177e89b8a958d97da231923ee24852f2f63",
      "parents": [
        "a55621f15bc61826969a29e111ba131a55ef45de"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Tue Oct 26 14:22:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:13 2010 -0700"
      },
      "message": "modules: no need to align .modinfo strings\n\ngcc aligns strings as a performance consideration for those cases where\nstrings are being used a lot.\n\nTheir use is not performance critical, and hence it seems better to save\nsome space.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\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": "a6de51b2787012ba3ab62c7d50df1b749b83d5f0",
      "tree": "e3053c23297b57bb85b5abcabfd49635511ec140",
      "parents": [
        "4ef2db016aab27af05a95aeab1c30ad3f2fed7b9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 11 23:04:40 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 11 23:04:41 2010 +0930"
      },
      "message": "param: don\u0027t deref arg in __same_type() checks\n\ngcc allows this when arg is a function, but sparse complains:\n\ndrivers/char/ipmi/ipmi_watchdog.c:303:1: error: cannot dereference this type\ndrivers/char/ipmi/ipmi_watchdog.c:307:1: error: cannot dereference this type\ndrivers/char/ipmi/ipmi_watchdog.c:311:1: error: cannot dereference this type\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nTested-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "546970bc6afc7fb37447fbac09b82c7884662c21",
      "tree": "34b6e87121061554d0ae8d4f14d7388a7fdf271c",
      "parents": [
        "907b29eb41aa604477a655bff7345731da94514d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 11 23:04:20 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 11 23:04:21 2010 +0930"
      },
      "message": "param: add kerneldoc to moduleparam.h\n\nAlso reorders the macros with the most common ones at the top.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReviewed-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nTested-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\n"
    },
    {
      "commit": "907b29eb41aa604477a655bff7345731da94514d",
      "tree": "12a7142ffa81a65da204384dfa26365d30803735",
      "parents": [
        "914dcaa84c53f2c3efa6016efcae13fd92a8a17c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 11 23:04:19 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 11 23:04:20 2010 +0930"
      },
      "message": "param: locking for kernel parameters\n\nThere may be cases (most obviously, sysfs-writable charp parameters) where\na module needs to prevent sysfs access to parameters.\n\nRather than express this in terms of a big lock, the functions are\nexpressed in terms of what they protect against.  This is clearer, esp.\nif the implementation changes to a module-level or even param-level lock.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReviewed-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nTested-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\n"
    },
    {
      "commit": "914dcaa84c53f2c3efa6016efcae13fd92a8a17c",
      "tree": "6bbcf8953012000cb0a22b47ff616ff2dbe481f2",
      "parents": [
        "a1054322afc8120ea5a50bc84e5beeda54571862"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 11 23:04:18 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 11 23:04:19 2010 +0930"
      },
      "message": "param: make param sections const.\n\nSince this section can be read-only (they\u0027re in .rodata), they should\nalways have been const.  Minor flow-through various functions.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nTested-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\n"
    },
    {
      "commit": "e6df34a4429b77fdffb6e05adf263468a3dcda33",
      "tree": "0858a2cd08fffad89c05ab4a0d14ae832777f42b",
      "parents": [
        "6a841528d288ac420052f5c98fd426b0fcdc5b52"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 11 23:04:17 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 11 23:04:18 2010 +0930"
      },
      "message": "param: add a free hook to kernel_param_ops.\n\nThis allows us to generalize the KPARAM_KMALLOCED flag, by calling a function\non every parameter when a module is unloaded.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReviewed-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nTested-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\n"
    },
    {
      "commit": "9bbb9e5a33109b2832e2e63dcc7a132924ab374b",
      "tree": "87270ed3a61d0d0e654a61c8d44504cdef330192",
      "parents": [
        "a14fe249a8f74269c9e636bcbaa78f5bdb354ce3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 11 23:04:12 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 11 23:04:13 2010 +0930"
      },
      "message": "param: use ops in struct kernel_param, rather than get and set fns directly\n\nThis is more kernel-ish, saves some space, and also allows us to\nexpand the ops without breaking all the callers who are happy for the\nnew members to be NULL.\n\nThe few places which defined their own param types are changed to the\nnew scheme (more which crept in recently fixed in following patches).\n\nSince we\u0027re touching them anyway, we change get() and set() to take a\nconst struct kernel_param (which they really are).  This causes some\nharmless warnings until we fix them (in following patches).\n\nTo reduce churn, module_param_call creates the ops struct so the callers\ndon\u0027t have to change (and casts the functions to reduce warnings).\nThe modern version which takes an ops struct is called module_param_cb.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReviewed-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nTested-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ville Syrjala \u003csyrjala@sci.fi\u003e\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nCc: Alessandro Rubini \u003crubini@ipvvis.unipv.it\u003e\nCc: Michal Januszewski \u003cspock@gentoo.org\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: linux-kernel@vger.kernel.org\nCc: linux-input@vger.kernel.org\nCc: linux-fbdev-devel@lists.sourceforge.net\nCc: linux-nfs@vger.kernel.org\nCc: netdev@vger.kernel.org\n"
    },
    {
      "commit": "65afac7d80ab3bc9f81e75eafb71eeb92a3ebdef",
      "tree": "544c1e9192d8e47f1d1b1d54e36365f393ec7be0",
      "parents": [
        "964fe080d94db82a3268443e9b9ece4c60246414"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:16 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:17 2009 +1030"
      },
      "message": "param: fix lots of bugs with writing charp params from sysfs, by leaking mem.\n\ne180a6b7759a \"param: fix charp parameters set via sysfs\" fixed the case\nwhere charp parameters written via sysfs were freed, leaving drivers\naccessing random memory.\n\nUnfortunately, storing a flag in the kparam struct was a bad idea: it\u0027s\nrodata so setting it causes an oops on some archs.  But that\u0027s not all:\n\n1) module_param_array() on charp doesn\u0027t work reliably, since we use an\n   uninitialized temporary struct kernel_param.\n2) there\u0027s a fundamental race if a module uses this parameter and then\n   it\u0027s changed: they will still access the old, freed, memory.\n\nThe simplest fix (ie. for 2.6.32) is to never free the memory.  This\nprevents all these problems, at cost of a memory leak.  In practice, there\nare only 18 places where a charp is writable via sysfs, and all are\nroot-only writable.\n\nReported-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Sitsofe Wheeler \u003csitsofe@yahoo.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "fddd520122953550ec2c8b60e7ca0d0f0d115d97",
      "tree": "d0c45f94bc0054661ee9af41b607815c24a36cff",
      "parents": [
        "d2c123c27db841c6c11a63de9c144823d2b1ba76"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 21:46:57 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 21:46:58 2009 +0930"
      },
      "message": "module_param: allow \u0027bool\u0027 module_params to be bool, not just int.\n\nImpact: API cleanup\n\nFor historical reasons, \u0027bool\u0027 parameters must be an int, not a bool.\nBut there are around 600 users, so a conversion seems like useless churn.\n\nSo we use __same_type() to distinguish, and handle both cases.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "45fcc70c0b6ee0c508e1fdb5fef735c3546803f4",
      "tree": "15ea34cf77ecd9bbd4f78259ced012f18a26e01b",
      "parents": [
        "9a71af2c3627b379b7c31917a7f6ee0d29bc559b"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 21:46:56 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 21:46:56 2009 +0930"
      },
      "message": "module_param: split perm field into flags and perm\n\nImpact: cleanup\n\nRather than hack KPARAM_KMALLOCED into the perm field, separate it out.\nSince the perm field was 32 bits and only needs 16, we don\u0027t add bloat.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "9a71af2c3627b379b7c31917a7f6ee0d29bc559b",
      "tree": "c09049a6a4458be91844500d7d5034b63a1cdcc7",
      "parents": [
        "ab8e2eb722f1e5fcbd8181e3e9ef4e95c52124df"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 21:46:53 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 21:46:56 2009 +0930"
      },
      "message": "module_param: invbool should take a \u0027bool\u0027, not an \u0027int\u0027\n\nIt takes an \u0027int\u0027 for historical reasons, and there are only two\nusers: simply switch it over to bool.\n\nThe other user (uvesafb.c) will get a (harmless-on-x86) warning until\nthe next patch is applied.\n\nCc: Brad Douglas \u003cbrad@neruo.com\u003e\nCc: Michal Januszewski \u003cspock@gentoo.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e180a6b7759a99a28cbcce3547c4c80822cb6c2a",
      "tree": "d52b950935f3192d13bdd4ad9377b39bab21325e",
      "parents": [
        "15f7176eb1cccec0a332541285ee752b935c1c85"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Mar 31 13:05:29 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Mar 31 13:05:30 2009 +1030"
      },
      "message": "param: fix charp parameters set via sysfs\n\nImpact: fix crash on reading from /sys/module/.../ieee80211_default_rc_algo\n\nThe module_param type \"charp\" simply sets a char * pointer in the\nmodule to the parameter in the commandline string: this is why we keep\nthe (mangled) module command line around.  But when set via sysfs (as\nabout 11 charp parameters can be) this memory is freed on the way\nout of the write().  Future reads hit random mem.\n\nSo we kstrdup instead: we have to check we\u0027re not in early commandline\nparsing, and we have to note when we\u0027ve used it so we can reliably\nkfree the parameter when it\u0027s next overwritten, and also on module\nunload.\n\n(Thanks to Randy Dunlap for CONFIG_SYSFS\u003dn fixes)\n\nReported-by: Sitsofe Wheeler \u003csitsofe@yahoo.com\u003e\nDiagnosed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nTested-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nTested-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "67e67ceaac5bf55dbdceb704ff2d763d438b5373",
      "tree": "59523536661c93dce7a02557ca6ac5827a7bf75f",
      "parents": [
        "9b473de87209fa86eb421b23386693b461612f30"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Oct 22 10:00:23 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Oct 22 10:00:23 2008 +1100"
      },
      "message": "core_param() for genuinely core kernel parameters\n\nThere are a lot of one-liner uses of __setup() in the kernel: they\u0027re\ncumbersome and not queryable (definitely not settable) via /sys.  Yet\nit\u0027s ugly to simplify them to module_param(), because by default that\ninserts a prefix of the module name (usually filename).\n\nSo, introduce a \"core_param\".  The parameter gets no prefix, but\nappears in /sys/module/kernel/parameters/ (if non-zero perms arg).  I\nthought about using the name \"core\", but that\u0027s more common than\n\"kernel\".  And if you create a module called \"kernel\", you will die\na horrible death.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "730b69d225259565c705f5f5a11cb1aba69568f1",
      "tree": "9ae3f20102d06d83b23dbbed1ae8acb86e01e7ea",
      "parents": [
        "d72b37513cdfbd3f53f3d485a8c403cc96d2c95f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Oct 22 10:00:22 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Oct 22 10:00:22 2008 +1100"
      },
      "message": "module: check kernel param length at compile time, not runtime\n\nThe kparam code tries to handle over-length parameter prefixes at\nruntime.  Not only would I bet this has never been tested, it\u0027s not\nclear that truncating names is a good idea either.\n\nSo let\u0027s check at compile time.  We need to move the #define to\nmoduleparam.h to do this, though.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "91d35dd93e14c34539a8005183ea500f25caad02",
      "tree": "1bb38d5b7d903881e23f2350bf0d3616746e4509",
      "parents": [
        "bc2cda1ebd4430f55deb60f0193a3e3b835499a2"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Wed Feb 13 15:03:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 13 16:21:19 2008 -0800"
      },
      "message": "moduleparam: fix alpha, ia64 and ppc64 compile failures\n\nOn alpha, ia64 and ppc64 only relocations to local data can go into\nread-only sections. The vast majority of module parameters use the global\ngeneric param_set_*/param_get_* functions, so the \u0027const\u0027 attribute for\nstruct kernel_param is not only useless, but it also causes compile\nfailures due to \u0027section type conflict\u0027 in those rare cases where\nparam_set/get are local functions.\n\nThis fixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d8964\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.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": "3ff6eecca4e5c49a5d1dd8b58ea0e20102ce08f0",
      "tree": "9af53a5ce0054520be6d572f988a76f3ab4ef0c0",
      "parents": [
        "bc395add945659e04cc7cf250755ba0edc1a9fdc"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Thu Jan 24 22:16:20 2008 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon Jan 28 23:21:18 2008 +0100"
      },
      "message": "remove __attribute_used__\n\nRemove the deprecated __attribute_used__.\n\n[Introduce __section in a few places to silence checkpatch /sam]\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "22e48eaf587d044ba311a73c6fe0d0deaa8fdb63",
      "tree": "8407d8f3f9a69b275e9008249e678499ce92253d",
      "parents": [
        "d5aa0daf6d9f327a9c13bc3a203bfac2b8707e2f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Tue Oct 16 23:29:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:56 2007 -0700"
      },
      "message": "constify string/array kparam tracking structures\n\n.. in an effort to make read-only whatever can be made, so that\nCONFIG_DEBUG_RODATA can catch as many issues as possible.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "874ff01bd9183ad16495acfd54e93a619d12b8b5",
      "tree": "e9527e94649fadfa705dae64018e027e51681b88",
      "parents": [
        "ebbe46f73a11a667df59cb8e58b371c0a35f29d0",
        "86aae08faa0069a559ba543ff3dab33fe95f891b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 19 13:29:02 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 19 13:29:02 2007 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (25 commits)\n  Documentation/kernel-docs.txt update.\n  arch/cris: typo in KERN_INFO\n  Storage class should be before const qualifier\n  kernel/printk.c: comment fix\n  update I/O sched Kconfig help texts - CFQ is now default, not AS.\n  Remove duplicate listing of Cris arch from README\n  kbuild: more doc. cleanups\n  doc: make doc. for maxcpus\u003d more visible\n  drivers/net/eexpress.c: remove duplicate comment\n  add a help text for BLK_DEV_GENERIC\n  correct a dead URL in the IP_MULTICAST help text\n  fix the BAYCOM_SER_HDX help text\n  fix SCSI_SCAN_ASYNC help text\n  trivial documentation patch for platform.txt\n  Fix typos concerning hierarchy\n  Fix comment typo \"spin_lock_irqrestore\".\n  Fix misspellings of \"agressive\".\n  drivers/scsi/a100u2w.c: trivial typo patch\n  Correct trivial typo in log2.h.\n  Remove useless FIND_FIRST_BIT() macro from cardbus.c.\n  ...\n"
    },
    {
      "commit": "405ae7d381302468ecc803f2148a2ae40a04c999",
      "tree": "7b1915220ae6595a28755fbbb32ee95d233a3da9",
      "parents": [
        "ca820181fc187af316a18b2700582663662c4012"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 17 19:13:42 2007 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Feb 17 19:13:42 2007 +0100"
      },
      "message": "Replace remaining references to \"driverfs\" with \"sysfs\".\n\nGlobally, s/driverfs/sysfs/g.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\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": "9774a1f54f173ad18e816496c8979f1bf8ef666a",
      "tree": "43787344922cca18dfa0eba9a4fc3ce646e22bff",
      "parents": [
        "37167485302c8876cb0303af113696e88c2945aa"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Dec 06 20:36:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:34 2006 -0800"
      },
      "message": "[PATCH] Compile-time check re world-writeable module params\n\nOne of the mistakes a module_param() user can make is to supply default\nvalue of module parameter as the last argument.  module_param() accepts\npermissions instead.  If default value is, say, 3 (-------wx), parameter\nbecomes world-writeable.\n\nSo far, the only remedy was to apply grep(1) and read drivers submitted\nto -mm. BTDT.\n\nWith this patch applied, compiler will finally do some job.\n\n*) bounds checking on permissions\n*) world-writeable bit checking on permissions\n*) compile breakage if checks trigger\n\nFirst version of this check (only \"\u0026 2\" part) directly caught 4 out of 7\nplaces during my last grep.\n\n    Subject: Neverending module_param() bugs\n    [X] drivers/acpi/sbs.c:101:module_param(capacity_mode, int, CAPACITY_UNIT);\n    [X] drivers/acpi/sbs.c:102:module_param(update_mode, int, UPDATE_MODE);\n    [ ] drivers/acpi/sbs.c:103:module_param(update_info_mode, int, UPDATE_INFO_MODE);\n    [ ] drivers/acpi/sbs.c:104:module_param(update_time, int, UPDATE_TIME);\n    [ ] drivers/acpi/sbs.c:105:module_param(update_time2, int, UPDATE_TIME2);\n    [X] drivers/char/watchdog/sbc8360.c:203:module_param(timeout, int, 27);\n    [X] drivers/media/video/tuner-simple.c:13:module_param(offset, int, 0666);\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9871728b756646e0d758a966ba00f2c0ff812817",
      "tree": "32899f2bc1e72d6ba51665b59350e9729e7f5287",
      "parents": [
        "8d3b33f67fdc0fb364a1ef6d8fbbea7c2e4e6c98"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Mar 25 03:07:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:52 2006 -0800"
      },
      "message": "[PATCH] kernel/params.c: make param_array() static\n\nparam_array() in kernel/params.c can now become static.\n\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": "367cb704212cd0c9273ba2b1e62523139210563b",
      "tree": "cda6402ea19e2b706ad8ac9a186f1e391ab3c6ea",
      "parents": [
        "20ede2741551d4a1d24313292beb0da915a55911"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Fri Jan 06 21:17:50 2006 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Fri Jan 06 21:17:50 2006 +0100"
      },
      "message": "kbuild: un-stringnify KBUILD_MODNAME\n\nNow when kbuild passes KBUILD_MODNAME with \"\" do not __stringify it when\nused. Remove __stringnify for all users.\nThis also fixes the output of:\n\n$ ls -l /sys/module/\ndrwxr-xr-x 4 root root 0 2006-01-05 14:24 pcmcia\ndrwxr-xr-x 4 root root 0 2006-01-05 14:24 pcmcia_core\ndrwxr-xr-x 3 root root 0 2006-01-05 14:24 \"processor\"\ndrwxr-xr-x 3 root root 0 2006-01-05 14:24 \"psmouse\"\n\nThe quoting of the module names will be gone again.\nThanks to GregKH + Kay Sievers for reproting this.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
