)]}'
{
  "log": [
    {
      "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": "a1054322afc8120ea5a50bc84e5beeda54571862",
      "tree": "ee7d56b7b72ee51193067ede97d61d14535244fc",
      "parents": [
        "e6df34a4429b77fdffb6e05adf263468a3dcda33"
      ],
      "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:18 2010 +0930"
      },
      "message": "param: use free hook for charp (fix leak of charp parameters)\n\nInstead of using a \"I kmalloced this\" flag, we keep track of the kmalloced\nstrings and use that list to check if we need to kfree (in practice, the\nlist is very short).\n\nThis means that kparams can be const again, and plugs a leak.  This\nis important for drivers/usb/gadget/nokia.c which gets modprobe/rmmod\u0027ed\nfrequently on the N9000.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReviewed-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Artem Bityutskiy \u003cdedekind1@gmail.com\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": "a14fe249a8f74269c9e636bcbaa78f5bdb354ce3",
      "tree": "3cae09b8db30b321401ca985d01e572e4cf75848",
      "parents": [
        "2e9fb9953df91ef6310da22182ca8f4496907502"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 11 23:04:11 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 11 23:04:12 2010 +0930"
      },
      "message": "param: move the EXPORT_SYMBOL to after the definitions.\n\nThis is modern style, and good to do before we start changing things.\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": "2e9fb9953df91ef6310da22182ca8f4496907502",
      "tree": "096a7b4c2cff57e6fb520f1abdc740260c57471f",
      "parents": [
        "d2800800d795350435936b08afb402ed9aab1e66"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 11 23:04:10 2010 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 11 23:04:11 2010 +0930"
      },
      "message": "params: don\u0027t hand NULL values to param.set callbacks.\n\nAn audit by Dongdong Deng revealed that most driver-author-written param\ncalls don\u0027t handle val \u003d\u003d NULL (which happens when parameters are specified\nwith no \u003d, eg \"foo\" instead of \"foo\u003d1\").\n\nThe only real case to use this is boolean, so handle it specially for that\ncase and remove a source of bugs for everyone else.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Dongdong Deng \u003cdongdong.deng@windriver.com\u003e\nCc: Américo Wang \u003cxiyou.wangcong@gmail.com\u003e\n"
    },
    {
      "commit": "c32da02342b7521df25fefc2ef20aee0e61cf887",
      "tree": "7e38f664fa3e13602c357d37f77d8adcf82fccc2",
      "parents": [
        "dca1d9f6d7ae428c193f32bd3e9a4ca13176648b",
        "318ae2edc3b29216abd8a2510f3f80b764f06858"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:04:50 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:04:50 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (56 commits)\n  doc: fix typo in comment explaining rb_tree usage\n  Remove fs/ntfs/ChangeLog\n  doc: fix console doc typo\n  doc: cpuset: Update the cpuset flag file\n  Fix of spelling in arch/sparc/kernel/leon_kernel.c no longer needed\n  Remove drivers/parport/ChangeLog\n  Remove drivers/char/ChangeLog\n  doc: typo - Table 1-2 should refer to \"status\", not \"statm\"\n  tree-wide: fix typos \"ass?o[sc]iac?te\" -\u003e \"associate\" in comments\n  No need to patch AMD-provided drivers/gpu/drm/radeon/atombios.h\n  devres/irq: Fix devm_irq_match comment\n  Remove reference to kthread_create_on_cpu\n  tree-wide: Assorted spelling fixes\n  tree-wide: fix \u0027lenght\u0027 typo in comments and code\n  drm/kms: fix spelling in error message\n  doc: capitalization and other minor fixes in pnp doc\n  devres: typo fix s/dev/devm/\n  Remove redundant trailing semicolons from macros\n  fix typo \"definetly\" -\u003e \"definitely\" in comment\n  tree-wide: s/widht/width/g typo in comments\n  ...\n\nFix trivial conflict in Documentation/laptops/00-INDEX\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "a07e4156a2ee6359d31a44946d7ee7f85dbf6bca",
      "tree": "1ab5ef1c8a0e9549b8e72af889ae0b5f5f660400",
      "parents": [
        "6992f5334995af474c2b58d010d08bc597f0f2fe"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Feb 11 15:23:05 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:51 2010 -0800"
      },
      "message": "sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes\n\nThese are the non-static sysfs attributes that exist on\nmy test machine.  Fix them to use sysfs_attr_init or\nsysfs_bin_attr_init as appropriate.   It simply requires\nmaking a sysfs attribute present to see this.  So this\nis a little bit tedious but otherwise not too bad.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "52cf25d0ab7f78eeecc59ac652ed5090f69b619e",
      "tree": "031d1ffb3890bd69c0260c864c512e0be62ac05c",
      "parents": [
        "6c1733aca0b48db4d0e660d54976a1cca25b5eaf"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Tue Jan 19 02:58:23 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "Driver core: Constify struct sysfs_ops in struct kobj_type\n\nConstify struct sysfs_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nAcked-by: David Teigland \u003cteigland@redhat.com\u003e\nAcked-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nAcked-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9cd43611ccfb46632bfa7d19f688924ea93f1613",
      "tree": "e11ecee403235ba9d8855892fa7ad55d9b63e221",
      "parents": [
        "985fc176a6c03836454629be2f2a611ccc7c7002"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Thu Dec 31 14:52:51 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "kobject: Constify struct kset_uevent_ops\n\nConstify struct kset_uevent_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9c03c383563f147907f1a90cf16f1e190e2f4aae",
      "tree": "5aeff12a5a38ab6af49acaf909963d876df1ca61",
      "parents": [
        "5f1664f92b2247111b7d37e454a050b76ac61b7f"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Fri Mar 05 13:42:52 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:32 2010 -0800"
      },
      "message": "includecheck fix for kernel/params.c\n\nFix the following \u0027make includecheck\u0027 warning:\n  kernel/params.c: linux/string.h is included more than once.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: André Goddard Rosa \u003candre.goddard@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": "350f82586b7554240bee18c41cc5c842f63265ae",
      "tree": "de737c5b2c1b7f5c71bf3ab1797a6cb0027d59dc",
      "parents": [
        "7d9b48ea81ee49779b95ecd0df5a8c2789e4f836"
      ],
      "author": {
        "name": "Edward Z. Yang",
        "email": "ezyang@ksplice.com",
        "time": "Mon Feb 01 18:26:59 2010 -0500"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Feb 05 12:22:43 2010 +0100"
      },
      "message": "Remove redundant trailing semicolons from macros\n\nSigned-off-by: Edward Z. Yang \u003cezyang@ksplice.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "e7d2860b690d4f3bed6824757c540579638e3d1e",
      "tree": "84268ee28893256fd6a6a7e1d4474f61dbee74e7",
      "parents": [
        "84c95c9acf088c99d8793d78036b67faa5d0b851"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "tree-wide: convert open calls to remove spaces to skip_spaces() lib function\n\nMakes use of skip_spaces() defined in lib/string.c for removing leading\nspaces from strings all over the tree.\n\nIt decreases lib.a code size by 47 bytes and reuses the function tree-wide:\n   text    data     bss     dec     hex filename\n  64688     584     592   65864   10148 (TOTALS-BEFORE)\n  64641     584     592   65817   10119 (TOTALS-AFTER)\n\nAlso, while at it, if we see (*str \u0026\u0026 isspace(*str)), we can be sure to\nremove the first condition (*str) as the second one (isspace(*str)) also\nevaluates to 0 whenever *str \u003d\u003d 0, making it redundant. In other words,\n\"a char equals zero is never a space\".\n\nJulia Lawall tried the semantic patch (http://coccinelle.lip6.fr) below,\nand found occurrences of this pattern on 3 more files:\n    drivers/leds/led-class.c\n    drivers/leds/ledtrig-timer.c\n    drivers/video/output.c\n\n@@\nexpression str;\n@@\n\n( // ignore skip_spaces cases\nwhile (*str \u0026\u0026  isspace(*str)) { \\(str++;\\|++str;\\) }\n|\n- *str \u0026\u0026\nisspace(*str)\n)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c7d76e371ac1a3802ae1673f5c63554af59325c",
      "tree": "6b8d84acb92196b0f9f044f98fd1908f8f655c87",
      "parents": [
        "d553ad864e3b3dde3f1038d491e207021b2d6293"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:19 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:20 2009 +1030"
      },
      "message": "param: fix setting arrays of bool\n\nWe create a dummy struct kernel_param on the stack for parsing each\narray element, but we didn\u0027t initialize the flags word.  This matters\nfor arrays of type \"bool\", where the flag indicates if it really is\nan array of bools or unsigned int (old-style).\n\nReported-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "d553ad864e3b3dde3f1038d491e207021b2d6293",
      "tree": "2a6d4e482e72daf6056e1fb984407754e019f15a",
      "parents": [
        "65afac7d80ab3bc9f81e75eafb71eeb92a3ebdef"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:17 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:18 2009 +1030"
      },
      "message": "param: fix NULL comparison on oom\n\nkp-\u003earg is always true: it\u0027s the contents of that pointer we care about.\n\nReported-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: stable@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": "26d052bfce799ef0e7262695b46e3525ca4d381d",
      "tree": "4244565b8a687f52fa2b7375cc8435fd1bb41e98",
      "parents": [
        "554bdfe5acf3715e87c8d5e25a4f9a896ac9f014"
      ],
      "author": {
        "name": "Peter Oberparleiter",
        "email": "oberpar@linux.vnet.ibm.com",
        "time": "Mon Jul 06 17:11:22 2009 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Sep 25 00:32:58 2009 +0930"
      },
      "message": "param: allow whitespace as kernel parameter separator\n\nSome boot mechanisms require that kernel parameters are stored in a\nseparate file which is loaded to memory without further processing\n(e.g. the \"Load from FTP\" method on s390). When such a file contains\nnewline characters, the kernel parameter preceding the newline might\nnot be correctly parsed (due to the newline being stuck to the end of\nthe actual parameter value) which can lead to boot failures.\n\nThis patch improves kernel command line usability in such a situation\nby allowing generic whitespace characters as separators between kernel\nparameters.\n\nSigned-off-by: Peter Oberparleiter \u003coberpar@linux.vnet.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\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": "d2441183dc222d12961ff2201f5086c846505d93",
      "tree": "dcede8bab98871d7fd4739a063c533d6fd79921d",
      "parents": [
        "88ed86fee6651033de9b7038dac7869a9f19775a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 12:07:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 12:09:00 2008 -0700"
      },
      "message": "Fix compile warning in kernel/params.c\n\nMove free_module_param_attrs() into the CONFIG_MODULES section, since\nit\u0027s only used inside there. Thus avoiding the warning\n\n  kernel/params.c:514: warning: \u0027free_module_param_attrs\u0027 defined but not used\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "9b473de87209fa86eb421b23386693b461612f30",
      "tree": "7fe30a3f37347d5bb6f2ade2cc09133ae158ea3d",
      "parents": [
        "730b69d225259565c705f5f5a11cb1aba69568f1"
      ],
      "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:23 2008 +1100"
      },
      "message": "param: Fix duplicate module prefixes\n\nInstead of insisting each new module_param sysfs entry is unique,\nhandle the case where it already exists (for builtin modules).\n\nThe current code assumes that all identical prefixes are together in\nthe section: true for normal uses, but not necessarily so if someone\noverrides MODULE_PARAM_PREFIX.  More importantly, it\u0027s not true with\nthe new \"core_param()\" code which uses \"kernel\" as a prefix.\n\nThis simplifies the caller for the builtin case, at a slight loss of\nefficiency (we do the lookup every time to see if the directory\nexists).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\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": "06b2a76d25d3cfbd14680021c1d356c91be6904e",
      "tree": "d7bc9d65fc7cfa9b30a9e3c731fd7a3e8d8c0100",
      "parents": [
        "10e6f32bdf02448f787d78647e75cf98a02f19a4"
      ],
      "author": {
        "name": "Yi Yang",
        "email": "yi.y.yang@intel.com",
        "time": "Fri Feb 08 04:21:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:41 2008 -0800"
      },
      "message": "Add new string functions strict_strto* and convert kernel params to use them\n\nCurrently, for every sysfs node, the callers will be responsible for\nimplementing store operation, so many many callers are doing duplicate\nthings to validate input, they have the same mistakes because they are\ncalling simple_strtol/ul/ll/uul, especially for module params, they are\njust numeric, but you can echo such values as 0x1234xxx, 07777888 and\n1234aaa, for these cases, module params store operation just ignores\nsuccesive invalid char and converts prefix part to a numeric although input\nis acctually invalid.\n\nThis patch tries to fix the aforementioned issues and implements\nstrict_strtox serial functions, kernel/params.c uses them to strictly\nvalidate input, so module params will reject such values as 0x1234xxxx and\nreturns an error:\n\nwrite error: Invalid argument\n\nAny modules which export numeric sysfs node can use strict_strtox instead of\nsimple_strtox to reject any invalid input.\n\nHere are some test results:\n\nBefore applying this patch:\n\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 0x1000 \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 0x1000g \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 0x1000gggggggg \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 010000 \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 0100008 \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 010000aaaaa \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]#\n\nAfter applying this patch:\n\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 0x1000 \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 0x1000g \u003e /sys/module/e1000/parameters/copybreak\n-bash: echo: write error: Invalid argument\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 0x1000gggggggg \u003e /sys/module/e1000/parameters/copybreak\n-bash: echo: write error: Invalid argument\n[root@yangyi-dev /]# echo 010000 \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# echo 0100008 \u003e /sys/module/e1000/parameters/copybreak\n-bash: echo: write error: Invalid argument\n[root@yangyi-dev /]# echo 010000aaaaa \u003e /sys/module/e1000/parameters/copybreak\n-bash: echo: write error: Invalid argument\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo -n 4096 \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]#\n\n[akpm@linux-foundation.org: fix compiler warnings]\n[akpm@linux-foundation.org: fix off-by-one found by tiwai@suse.de]\nSigned-off-by: Yi Yang \u003cyi.y.yang@intel.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb38a996ebacefe4ce2274de901138505d9cc96b",
      "tree": "7a00d32dbbc9d32436c08d380b4339e2196753f0",
      "parents": [
        "15ae02baf025750cd79ef3929c28f7083a088bd2"
      ],
      "author": {
        "name": "Richard Knutsson",
        "email": "ricknu-0@student.ltu.se",
        "time": "Wed Feb 06 01:37:50 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:08 2008 -0800"
      },
      "message": "kernel/params.c: remove sparse-warning (different signedness)\n\nFixing:\n  CHECK   kernel/params.c\nkernel/params.c:329:41: warning: incorrect type in argument 8 (different signedness)\nkernel/params.c:329:41:    expected int *num\nkernel/params.c:329:41:    got unsigned int *\n\nSigned-off-by: Richard Knutsson \u003cricknu-0@student.ltu.se\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8686c99875f3849047660a5b6d02438443f22ce7",
      "tree": "42eca5ce8533f973553376e4afbe7362608bf01d",
      "parents": [
        "6dd06c9fbe025f542bce4cdb91790c0f91962722"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Mon Jan 21 17:08:25 2008 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:24 2008 +1100"
      },
      "message": "module: fix the module name length in param_sysfs_builtin\n\nthe original code use KOBJ_NAME_LEN for built-in module name length,\nthat\u0027s defined to 20 in linux/kobject.h, but this is not enough appearntly,\nmany module names are longer than this;\n #define KOBJ_NAME_LEN                   20\n\nanother macro is MODULE_NAME_LEN defined in linux/module.h, I think this is\nenough for module names:\n #define MODULE_NAME_LEN (64 - sizeof(unsigned long))\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "9b73e76f3cf63379dcf45fcd4f112f5812418d0a",
      "tree": "4e6bef87cd0cd6d848fc39a5ae25b981dbbe035b",
      "parents": [
        "50d9a126240f9961cfdd063336bbeb91f77a7dce",
        "23c3e290fb9ce38cabc2822b47583fc8702411bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (200 commits)\n  [SCSI] usbstorage: use last_sector_bug flag universally\n  [SCSI] libsas: abstract STP task status into a function\n  [SCSI] ultrastor: clean up inline asm warnings\n  [SCSI] aic7xxx: fix firmware build\n  [SCSI] aacraid: fib context lock for management ioctls\n  [SCSI] ch: remove forward declarations\n  [SCSI] ch: fix device minor number management bug\n  [SCSI] ch: handle class_device_create failure properly\n  [SCSI] NCR5380: fix section mismatch\n  [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices\n  [SCSI] IB/iSER: add logical unit reset support\n  [SCSI] don\u0027t use __GFP_DMA for sense buffers if not required\n  [SCSI] use dynamically allocated sense buffer\n  [SCSI] scsi.h: add macro for enclosure bit of inquiry data\n  [SCSI] sd: add fix for devices with last sector access problems\n  [SCSI] fix pcmcia compile problem\n  [SCSI] aacraid: add Voodoo Lite class of cards.\n  [SCSI] aacraid: add new driver features flags\n  [SCSI] qla2xxx: Update version number to 8.02.00-k7.\n  [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command.\n  ...\n"
    },
    {
      "commit": "7a6a41615bfb2f03ce797bc24104c50b42c935e5",
      "tree": "07eccb0b229da186dac531d6407b7b6d2e6dbef0",
      "parents": [
        "0f4dafc0563c6c49e17fe14b3f5f356e4c4b8806"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Dec 22 21:18:25 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:39 2008 -0800"
      },
      "message": "Modules: remove unneeded release function\n\nNow that kobjects properly clean up their name structures, no matter if\nthey have a release function or not, we can drop this empty module\nkobject release function too (it was needed prior to this because of the\nway we handled static kobject names, we based the fact that if a release\nfunction was present, then we could safely free the name string, now we\nare more smart about things and only free names we have previously set.)\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e43b9192c59402685bd1f809068dd13aa5931570",
      "tree": "e274bbe6234692fa8bd6f09562be6bac8f9dcdac",
      "parents": [
        "a5815ddf26aa8208d4ad79b4fba5e6bf7d5ba688"
      ],
      "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:31 2008 -0800"
      },
      "message": "Kobject: convert kernel/params.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": "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": "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": "d4acd722b7bb5f48b9fc3848e8c2a845b100d84f",
      "tree": "24c0ccb9cd13d79b47588d44b27b3f1eb91a0ec7",
      "parents": [
        "d52b3815a52456dcf1a45fbc344e23bb643b2bda"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Oct 31 09:38:04 2007 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 23 11:29:18 2008 -0600"
      },
      "message": "[SCSI] sysfs: add filter function to groups\n\nThis patch allows the various users of attribute_groups to selectively\nallow the appearance of group attributes.  The primary consumer of\nthis will be the transport classes in which we currently have\nelaborate attribute selection algorithms to do this same thing.\n\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "d172f4ef31bec924c6ebcb242c9d7d290811e1e5",
      "tree": "2c694919af4a14170a77b8c704151eb8a65851f0",
      "parents": [
        "e5f114e97d6e4833e90ca408af9eb1e7a3262b5e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Dec 22 21:18:25 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Dec 22 23:09:05 2007 -0800"
      },
      "message": "Modules: fix memory leak of module names\n\nDue to the change in kobject name handling, the module kobject needs to\nhave a null release function to ensure that the name it previously set\nwill be properly cleaned up.\n\nAll of this wierdness goes away in 2.6.25 with the rework of the kobject\nname and cleanup logic, but this is required for 2.6.24.\n\nThanks to Alexey Dobriyan for finding the problem, and to Kay Sievers\nfor pointing out the simple way to fix it after I tried many complex\nways.\n\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "22800a2830ec07e7cc5c837999890ac47cc7f5de",
      "tree": "48dbd0e712551d72ba9a6631797a38803a47b737",
      "parents": [
        "9fcc2d15b14894aa53e5e8b7fd5d6e3ca558e5df"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@web.de",
        "time": "Wed Nov 14 17:00:08 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:42 2007 -0800"
      },
      "message": "fix param_sysfs_builtin name length check\n\nCommit faf8c714f4508207a9c81cc94dafc76ed6680b44 caused a regression:\nparameter names longer than MAX_KBUILD_MODNAME will now be rejected,\nalthough we just need to keep the module name part that short.  This patch\nrestores the old behaviour while still avoiding that memchr is called with\nits length parameter larger than the total string length.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@web.de\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: 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": "faf8c714f4508207a9c81cc94dafc76ed6680b44",
      "tree": "74746c9b577b9bbf008dafbbeef4d94d2813c7be",
      "parents": [
        "8f286c33f1e838d631f4a3260b33efce4bc5973c"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Thu Oct 18 03:05:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:21 2007 -0700"
      },
      "message": "param_sysfs_builtin memchr argument fix\n\nIf memchr argument is longer than strlen(kp-\u003ename), there will be some\nweird result.\n\nIt will casuse duplicate filenames in sysfs for the \"nousb\".  kernel\nwarning messages are as bellow:\n\nsysfs: duplicate filename \u0027usbcore\u0027 can not be created\nWARNING: at fs/sysfs/dir.c:416 sysfs_add_one()\n [\u003cc01c4750\u003e] sysfs_add_one+0xa0/0xe0\n [\u003cc01c4ab8\u003e] create_dir+0x48/0xb0\n [\u003cc01c4b69\u003e] sysfs_create_dir+0x29/0x50\n [\u003cc024e0fb\u003e] create_dir+0x1b/0x50\n [\u003cc024e3b6\u003e] kobject_add+0x46/0x150\n [\u003cc024e2da\u003e] kobject_init+0x3a/0x80\n [\u003cc053b880\u003e] kernel_param_sysfs_setup+0x50/0xb0\n [\u003cc053b9ce\u003e] param_sysfs_builtin+0xee/0x130\n [\u003cc053ba33\u003e] param_sysfs_init+0x23/0x60\n [\u003cc024d062\u003e] __next_cpu+0x12/0x20\n [\u003cc052aa30\u003e] kernel_init+0x0/0xb0\n [\u003cc052aa30\u003e] kernel_init+0x0/0xb0\n [\u003cc052a856\u003e] do_initcalls+0x46/0x1e0\n [\u003cc01bdb12\u003e] create_proc_entry+0x52/0x90\n [\u003cc0158d4c\u003e] register_irq_proc+0x9c/0xc0\n [\u003cc01bda94\u003e] proc_mkdir_mode+0x34/0x50\n [\u003cc052aa30\u003e] kernel_init+0x0/0xb0\n [\u003cc052aa92\u003e] kernel_init+0x62/0xb0\n [\u003cc0104f83\u003e] kernel_thread_helper+0x7/0x14\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nkobject_add failed for usbcore with -EEXIST, don\u0027t try to register things with the same name in the same directory.\n [\u003cc024e466\u003e] kobject_add+0xf6/0x150\n [\u003cc053b880\u003e] kernel_param_sysfs_setup+0x50/0xb0\n [\u003cc053b9ce\u003e] param_sysfs_builtin+0xee/0x130\n [\u003cc053ba33\u003e] param_sysfs_init+0x23/0x60\n [\u003cc024d062\u003e] __next_cpu+0x12/0x20\n [\u003cc052aa30\u003e] kernel_init+0x0/0xb0\n [\u003cc052aa30\u003e] kernel_init+0x0/0xb0\n [\u003cc052a856\u003e] do_initcalls+0x46/0x1e0\n [\u003cc01bdb12\u003e] create_proc_entry+0x52/0x90\n [\u003cc0158d4c\u003e] register_irq_proc+0x9c/0xc0\n [\u003cc01bda94\u003e] proc_mkdir_mode+0x34/0x50\n [\u003cc052aa30\u003e] kernel_init+0x0/0xb0\n [\u003cc052aa92\u003e] kernel_init+0x62/0xb0\n [\u003cc0104f83\u003e] kernel_thread_helper+0x7/0x14\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nModule \u0027usbcore\u0027 failed to be added to sysfs, error number -17\nThe system will be unstable now.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: 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": "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": "74c5b597e9c2fc728c61582afdea4971a5c8ed8f",
      "tree": "1441aeb556118c7797f240c6314be2028d2de2f5",
      "parents": [
        "f285ea058001ef534f9e53a21aad42c2952bbad5"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 30 11:26:38 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 30 14:25:23 2007 -0700"
      },
      "message": "modules: better error messages when modules fail to load due to a sysfs problem.\n\nThis helps people when debugging problems like the ones that were in the\nrecent -mm releases.\n\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\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": "9730b5b06fee7ffd1f0150855f03cf319c0e004f",
      "tree": "a27dcf664e467b5b1fbc6a4139091fb8f04a45dc",
      "parents": [
        "a5c43dae7ae38c2a6b3e9a819bcf45f010bf6a4a"
      ],
      "author": {
        "name": "Bert Wesarg",
        "email": "wesarg@informatik.uni-halle.de",
        "time": "Tue May 08 00:28:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "kernel/params.c: fix lying comment for param_array()\n\nThis fixes the comment for the function param_array. Which lies that it\nonly *temporarily* mangle the input string @val.\n\nSigned-off-by: Bert Wesarg \u003cwesarg@informatik.uni-halle.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\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": "fe20e581a72979917e35d5146458ceba79be391f",
      "tree": "37c5d2639da3c4c1ad9aa5d1fc0e3fa124b1f071",
      "parents": [
        "80584ff3b99c36ead7e130e453b3a48b18072d18"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Apr 11 23:28:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Apr 12 15:31:41 2007 -0700"
      },
      "message": "[PATCH] fix kernel oops with badly formatted module option\n\nCatch malformed kernel parameter usage of \"param \u003d value\".  Spaces are not\nsupported, but don\u0027t cause a kernel fault on such usage, just report an\nerror.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Larry Finger \u003cLarry.Finger@lwfinger.net\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": "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": "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": "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": "a416aba637dcb4127595c02a59041cd278422f7e",
      "tree": "e99c948c07e42e6e387bc84260e456e55a0fbd60",
      "parents": [
        "c4a68306b9c0939b3facdad2cc5e34d660ff463a"
      ],
      "author": {
        "name": "Ard van Breemen",
        "email": "ard@telegraafnet.nl",
        "time": "Fri Jan 05 16:36:20 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:21 2007 -0800"
      },
      "message": "[PATCH] kernelparams: detect if and which parameter parsing enabled irq\u0027s\n\nThe parsing of some kernel parameters seem to enable irq\u0027s at a stage that\nirq\u0027s are not supposed to be enabled (Particularly the ide kernel parameters).\n\nHaving irq\u0027s enabled before the irq controller is initialized might lead to a\nkernel panic.  This patch only detects this behaviour and warns about wich\nparameter caused it.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Ard van Breemen \u003card@telegraafnet.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d10be6d1bdb0c901b78244872de3cc1c1b6c3fb2",
      "tree": "560171a8091e7f18763ff40099ccbcf9567b7842",
      "parents": [
        "8454aeef6fea944ced757ff8e761b59eb3ee960f"
      ],
      "author": {
        "name": "Mark Huang",
        "email": "mlhuang@CS.Princeton.EDU",
        "time": "Fri Sep 29 01:59:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:08 2006 -0700"
      },
      "message": "[PATCH] module_subsys: initialize earlier\n\nInitialize module_subsys earlier (or at least earlier than devices) since\nit could be used very early in the boot process if kmod loads a module\nbefore the device initcalls.  Otherwise, kmod will crash in\nkernel/module.c:mod_sysfs_setup() since the kset in module_subsys is not\ninitialized yet.\n\nI only noticed this problem because occasionally, kmod loads the modules\nfor my SCSI and Ethernet adapters very early, during the boot process\nitself.  I don\u0027t quite understand why it loads them sometimes and doesn\u0027t\nload them other times.  Or who is telling kmod to do so.  Can someone\nexplain?\n\nSigned-off-by: Mark Huang \u003cmlhuang@cs.princeton.edu\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": "d8c7649e99e4b081b624aefe1e77caa30b53cb18",
      "tree": "4afc0411a45521963492a22a6c9712d9b7059bbb",
      "parents": [
        "5906e4171ad61ce68de95e51b773146707671f80"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Fri Sep 29 01:58:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:04 2006 -0700"
      },
      "message": "[PATCH] kernel/params: driver layer error checking\n\nCheck driver layer return values in kernel/params.c\n\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": "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": "b9e20a920092eb3840424f85c78852c0433df00d",
      "tree": "267bf2564817cc5d5c36cb4b3acd860e2ee2c126",
      "parents": [
        "7b7a317cf863559b49b548a8b97b2f4bdf1e149e"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Tue Mar 28 01:56:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:03 2006 -0800"
      },
      "message": "[PATCH] Change dash2underscore() return value to char\n\nSince dash2underscore() just operates and returns chars, I guess its safe\nto change the return value to a char.  With my .config, this reduces its\nsize by 5 bytes.\n\n   text    data     bss     dec     hex filename\n   4155     152       0    4307    10d3 params.o.orig\n   4150     152       0    4302    10ce params.o\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "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": "03e88ae1b13dfdc8bbaa59b8198e1ca53aad12ac",
      "tree": "322127d9875129d2e9b1c3cb744b4940bd7d8a47",
      "parents": [
        "b87ba0a33a634c9a8e3609702122a04034a0688d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 16 13:50:23 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 20 13:42:58 2006 -0800"
      },
      "message": "[PATCH] fix module sysfs files reference counting\n\nThe module files, refcnt, version, and srcversion did not properly\nincrement the owner\u0027s module reference count, allowing the modules to\nbe removed while the files were open, causing oopses.\n\nThis patch fixes this, and also fixes the problem that the version and\nsrcversion files were not showing up, unless CONFIG_MODULE_UNLOAD was\nenabled, which is not correct.\n\nCc: Nathan Lynch \u003cntl@pobox.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9e28393998d3d0733097306762f6d1c083fc92c6",
      "tree": "9cc87f8c1f936164fd570c58126ef761839f74e3",
      "parents": [
        "7e8702334841b6da4b8f564dc1771ca17c59a621"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Dec 20 15:21:24 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Dec 20 10:31:33 2005 -0800"
      },
      "message": "[PATCH] kernel/params.c: fix sysfs access with CONFIG_MODULES\u003dn\n\nAll the work was done to setup the file and maintain the file handles but\nthe access functions were zeroed out due to the #ifdef.  Removing the\n#ifdef allows full access to all the parameters when CONFIG_MODULES\u003dn.\n\nakpm: put it back again, but use CONFIG_SYSFS instead.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4e57b6817880946a3a78d5d8cad1ace363f7e449",
      "tree": "b6b5f3f9e8e52cc55d98239a4992e72e983c8fa4",
      "parents": [
        "b0423a0d9cc836b2c3d796623cd19236bfedfe63"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Sun Oct 30 15:03:48 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:32 2005 -0800"
      },
      "message": "[PATCH] fix missing includes\n\nI recently picked up my older work to remove unnecessary #includes of\nsched.h, starting from a patch by Dave Jones to not include sched.h\nfrom module.h. This reduces the number of indirect includes of sched.h\nby ~300. Another ~400 pointless direct includes can be removed after\nthis disentangling (patch to follow later).\nHowever, quite a few indirect includes need to be fixed up for this.\n\nIn order to feed the patches through -mm with as little disturbance as\npossible, I\u0027ve split out the fixes I accumulated up to now (complete for\ni386 and x86_64, more archs to follow later) and post them before the real\npatch.  This way this large part of the patch is kept simple with only\nadding #includes, and all hunks are independent of each other.  So if any\nhunk rejects or gets in the way of other patches, just drop it.  My scripts\nwill pick it up again in the next round.\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f36462f078403c1859a7e58177b28e01b3a179e4",
      "tree": "48cc5b800e8fb6701a18135e015ebe57b4f1be60",
      "parents": [
        "e3306dd5f7eb2e699f36a4a313fca4b48b18d5e1"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Sep 27 21:45:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 28 07:46:41 2005 -0700"
      },
      "message": "[PATCH] Ignore trailing whitespace on kernel parameters correctly\n\nDave Jones says:\n\n... if the modprobe.conf has trailing whitespace, modules fail to load\nwith the following helpful message..\n\n\tsnd_intel8x0: Unknown parameter `\u0027\n\nPrevious version truncated last argument.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd3927105b6f65afb7dac17682172cdfb86d3f00",
      "tree": "5cf282aff500cad23b9d7e13dc19b2b2d31e1ce6",
      "parents": [
        "640e803376b9c4072f69fec42e304c974a631298"
      ],
      "author": {
        "name": "Pekka J Enberg",
        "email": "penberg@cs.Helsinki.FI",
        "time": "Tue Sep 06 15:18:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:45 2005 -0700"
      },
      "message": "[PATCH] introduce and use kzalloc\n\nThis patch introduces a kzalloc wrapper and converts kernel/ to use it.  It\nsaves a little program text.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\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": "70f2817a43c89b784dc2ec3d06ba5bf3064f8235",
      "tree": "210bbd16599d4e402051e4ec30c82e70b8b427ef",
      "parents": [
        "6c1852a08e444a2e66367352a99c0e93c8bf3e97"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Fri Apr 29 01:27:34 2005 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:03 2005 -0700"
      },
      "message": "[PATCH] sysfs: (rest) if show/store is missing return -EIO\n\nsysfs: fix the rest of the kernel so if an attribute doesn\u0027t\n       implement show or store method read/write will return\n       -EIO instead of 0 or -EINVAL or -EPERM.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "31143a12044caa3521edafd736e3bc18c098d2fd",
      "tree": "b9adfc09908b0a7b6abe041f865cf335eac03056",
      "parents": [
        "fc9c9ab22d5650977c417ef2032d02f455011b23"
      ],
      "author": {
        "name": "Bert Wesarg",
        "email": "wesarg@informatik.uni-halle.de",
        "time": "Sat Apr 16 15:25:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:25:42 2005 -0700"
      },
      "message": "[PATCH] kernel/param.c: don\u0027t use .max when .num is NULL in param_array_set()\n\nthere seems to be a bug, at least for me, in kernel/param.c for arrays with\n.num \u003d\u003d NULL.  If .num \u003d\u003d NULL, the function param_array_set() uses \u0026.max\nfor the call to param_array(), wich alters the .max value to the number of\narguments.  The result is, you can\u0027t set more array arguments as the last\ntime you set the parameter.\n\nexample:\n\n# a module \u0027example\u0027 with\n# static int array[10] \u003d { 0, };\n# module_param_array(array, int, NULL, 0644);\n\n$ insmod example.ko array\u003d1,2,3\n$ cat /sys/module/example/parameters/array\n1,2,3\n$ echo \"4,3,2,1\" \u003e /sys/module/example/parameters/array\n$ dmesg | tail -n 1\nkernel: array: can take only 3 arguments\n\nSigned-off-by: Bert Wesarg \u003cwesarg@informatik.uni-halle.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.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"
    }
  ]
}
