)]}'
{
  "log": [
    {
      "commit": "0b394def21e7d3bd02aeee5570473582ce7984ec",
      "tree": "49ef5487de1439eb3087f3ee086537ecd464bfd3",
      "parents": [
        "9fad368b6dff95b8b009a6b8eed42a549a05b263"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Tue Dec 18 19:27:31 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Fri Jan 25 19:04:07 2008 -0200"
      },
      "message": "V4L/DVB (6868): i2c-id.h: add I2C_DRIVERID_CS5345\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "05e997197e459a03df577ba49c34c1820957ee4a",
      "tree": "fd2e4b13b64933cd4197d2628dfb2ba4dd91ed85",
      "parents": [
        "761dacd25d9e9be2358df21a0f086bbb4cf1c789"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Tue Oct 30 05:41:54 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Fri Jan 25 19:01:47 2008 -0200"
      },
      "message": "V4L/DVB (6487): i2c-id: add M52790 driver ID\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "b47711bfbcd4eb77ca61ef0162487b20e023ae55",
      "tree": "b2a695dbd40f7ca2333664cf946ef34eda7b7dba",
      "parents": [
        "7556afa0e0e436cad4f560ee83e5fbd5dac9359a",
        "2e08c0c1c3977a5ddc88887dd3af1b26c433e9d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:44:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:44:29 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:\n  selinux: make mls_compute_sid always polyinstantiate\n  security/selinux: constify function pointer tables and fields\n  security: add a secctx_to_secid() hook\n  security: call security_file_permission from rw_verify_area\n  security: remove security_sb_post_mountroot hook\n  Security: remove security.h include from mm.h\n  Security: remove security_file_mmap hook sparse-warnings (NULL as 0).\n  Security: add get, set, and cloning of superblock security information\n  security/selinux: Add missing \"space\"\n"
    },
    {
      "commit": "eba0e319c12fb098d66316a8eafbaaa9174a07c3",
      "tree": "b2703117db9e36bb3510654efd55361f61c54742",
      "parents": [
        "df8dc74e8a383eaf2d9b44b80a71ec6f0e52b42e",
        "15e7b4452b72ae890f2fcb027b4c4fa63a1c9a7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:38:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:38:25 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (125 commits)\n  [CRYPTO] twofish: Merge common glue code\n  [CRYPTO] hifn_795x: Fixup container_of() usage\n  [CRYPTO] cast6: inline bloat--\n  [CRYPTO] api: Set default CRYPTO_MINALIGN to unsigned long long\n  [CRYPTO] tcrypt: Make xcbc available as a standalone test\n  [CRYPTO] xcbc: Remove bogus hash/cipher test\n  [CRYPTO] xcbc: Fix algorithm leak when block size check fails\n  [CRYPTO] tcrypt: Zero axbuf in the right function\n  [CRYPTO] padlock: Only reset the key once for each CBC and ECB operation\n  [CRYPTO] api: Include sched.h for cond_resched in scatterwalk.h\n  [CRYPTO] salsa20-asm: Remove unnecessary dependency on CRYPTO_SALSA20\n  [CRYPTO] tcrypt: Add select of AEAD\n  [CRYPTO] salsa20: Add x86-64 assembly version\n  [CRYPTO] salsa20_i586: Salsa20 stream cipher algorithm (i586 version)\n  [CRYPTO] gcm: Introduce rfc4106\n  [CRYPTO] api: Show async type\n  [CRYPTO] chainiv: Avoid lock spinning where possible\n  [CRYPTO] seqiv: Add select AEAD in Kconfig\n  [CRYPTO] scatterwalk: Handle zero nbytes in scatterwalk_map_and_copy\n  [CRYPTO] null: Allow setkey on digest_null \n  ...\n"
    },
    {
      "commit": "79a6ee42fd81be9abc6bdab08f932875924b26a5",
      "tree": "108b8bf6b13c7d06ebaf6c25de97494457fc9ee9",
      "parents": [
        "d462943afee8bff610258a82dba666e8ab72c9c8"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 21:27:06 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 21:27:06 2008 -0800"
      },
      "message": "Kobject: fix coding style issues in kobject.h\n\nFinally clean up the odd spaces and other mess in kobject.h\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d462943afee8bff610258a82dba666e8ab72c9c8",
      "tree": "9046b34170b01ca0a134be0e7ad498f97611e121",
      "parents": [
        "5ed2c832ed256b18d90c2462369c62fd79312e6c"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 21:04:46 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 21:04:46 2008 -0800"
      },
      "message": "Driver core: fix coding style issues in device.h\n\nFinally clean up the odd spaces and other mess in device.h\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "fd04897bb20be29d60f7e426a053545aebeaa61a",
      "tree": "7cd86b2d9de79a70bdeb32997240af5e28be6d03",
      "parents": [
        "63b6971a0876b744e2fcf3c9df15d130501e1deb"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Jan 22 15:27:08 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:44 2008 -0800"
      },
      "message": "Driver Core: add class iteration api\n\nAdd the following class iteration functions for driver use:\n\tclass_for_each_device\n\tclass_find_device\n\tclass_for_each_child\n\tclass_find_child\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "ae72cddb2338bc36b991674a56a7bf70ae104d9e",
      "tree": "6054d3064d8d24f8919a9f226100a0b37862ece0",
      "parents": [
        "92b421416f8194aec87b1439487b5544e9ac8187"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Fri Jan 11 17:24:53 2008 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:43 2008 -0800"
      },
      "message": "Driver Core: constify the name passed to platform_device_register_simple\n\nThis name is just passed to platform_device_alloc which has its parameter\ndeclared const.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "af5ca3f4ec5cc4432a42a73b050dd8898ce8fd00",
      "tree": "3e5a3081b2802547f10da72c0026b4929d0e287b",
      "parents": [
        "528a4bf1d5ffed310d26fc1d82d45c02949f71cf"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Dec 20 02:09:39 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:40 2008 -0800"
      },
      "message": "Driver core: change sysdev classes to use dynamic kobject names\n\nAll kobjects require a dynamically allocated name now. We no longer\nneed to keep track if the name is statically assigned, we can just\nunconditionally free() all kobject names on cleanup.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "528a4bf1d5ffed310d26fc1d82d45c02949f71cf",
      "tree": "fc66cc3597e7bcbe83881d16305a7f80605a5c2c",
      "parents": [
        "78a2d906b40fe530ea800c1e873bfe8f02326f1e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Dec 20 08:13:05 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:40 2008 -0800"
      },
      "message": "Kobject: remove kobject_unregister() as no one uses it anymore\n\nThere are no in-kernel users of kobject_unregister() so it should be\nremoved.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0f4dafc0563c6c49e17fe14b3f5f356e4c4b8806",
      "tree": "f4ded2831853cb6ea328d15d72871db6f8c22610",
      "parents": [
        "12e339ac6e31a34fe42396aec8fb1c0b43caf61e"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Dec 19 01:40:42 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:39 2008 -0800"
      },
      "message": "Kobject: auto-cleanup on final unref\n\nWe save the current state in the object itself, so we can do proper\ncleanup when the last reference is dropped.\n\nIf the initial reference is dropped, the object will be removed from\nsysfs if needed, if an \"add\" event was sent, \"remove\" will be send, and\nthe allocated resources are released.\n\nThis allows us to clean up some driver core usage as well as allowing us\nto do other such changes to the rest of the kernel.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "12e339ac6e31a34fe42396aec8fb1c0b43caf61e",
      "tree": "28427e04e49ba7b5f1cabd9da33a9240f30acfae",
      "parents": [
        "6d06adfaf82d154023141ddc0c9de18b6a49090b"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Apr 09 12:14:34 2002 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:39 2008 -0800"
      },
      "message": "Kset: remove kset_add function\n\nNo one is calling this anymore, so just remove it and hard-code the one\ninternal-use of it.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6d06adfaf82d154023141ddc0c9de18b6a49090b",
      "tree": "a7a7e3c0458158cc6a93df457470c6fdd30a8c35",
      "parents": [
        "f9cb074bff8e762ef24c44678a5a7d907f82fbeb"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 19 11:26:50 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:39 2008 -0800"
      },
      "message": "Kobject: remove kobject_register()\n\nThe function is no longer used by anyone in the kernel, and it prevents\nthe proper sending of the kobject uevent after the needed files are set\nup by the caller.  kobject_init_and_add() can be used in its place.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f9cb074bff8e762ef24c44678a5a7d907f82fbeb",
      "tree": "50438fc90b8f6170dd8eb5d43712c61719a16304",
      "parents": [
        "e1543ddf739b22a8c4218716ad50c26b3e147403"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: rename kobject_init_ng() to kobject_init()\n\nNow that the old kobject_init() function is gone, rename\nkobject_init_ng() to kobject_init() to clean up the namespace.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e1543ddf739b22a8c4218716ad50c26b3e147403",
      "tree": "584f63bf431368d366f2d156abc4ec85636dfe2f",
      "parents": [
        "b2d6db5878a0832659ed58476357eea2db915550"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: remove kobject_init() as no one uses it anymore\n\nThe old kobject_init() function is on longer in use, so let us remove it\nfrom the public scope (kset mess in the kobject.c file still uses it,\nbut that can be cleaned up later very simply.)\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b2d6db5878a0832659ed58476357eea2db915550",
      "tree": "c7c9e98431078ca7b0405e8003bd905ab62df7c4",
      "parents": [
        "9e7bbccd0290e720e0874443932869c55f63d5a8"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: rename kobject_add_ng() to kobject_add()\n\nNow that the old kobject_add() function is gone, rename kobject_add_ng()\nto kobject_add() to clean up the namespace.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9e7bbccd0290e720e0874443932869c55f63d5a8",
      "tree": "80cc436d79f217809d3f7ecc07d621e5d6e050c3",
      "parents": [
        "ac3c8141f62f357169980ec21b7be6d29964a394"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: remove kobject_add() as no one uses it anymore\n\nThe old kobject_add() function is on longer in use, so let us remove it\nfrom the public scope (kset mess in the kobject.c file still uses it,\nbut that can be cleaned up later very simply.)\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "edfaa7c36574f1bf09c65ad602412db9da5f96bf",
      "tree": "d591b80ff9229e4845e41d68e2f4c5aadb017027",
      "parents": [
        "09f82ea92822a7bbb7e816508abbda47ed54a77f"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Mon May 21 22:08:01 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:36 2008 -0800"
      },
      "message": "Driver core: convert block from raw kobjects to core devices\n\nThis moves the block devices to /sys/class/block. It will create a\nflat list of all block devices, with the disks and partitions in one\ndirectory. For compatibility /sys/block is created and contains symlinks\nto the disks.\n\n  /sys/class/block\n  |-- sda -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda\n  |-- sda1 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1\n  |-- sda10 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10\n  |-- sda5 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5\n  |-- sda6 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6\n  |-- sda7 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7\n  |-- sda8 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8\n  |-- sda9 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9\n  `-- sr0 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0\n\n  /sys/block/\n  |-- sda -\u003e ../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda\n  `-- sr0 -\u003e ../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e5dd12784617f0f1fae5f96a7fac1ec4c49fadbe",
      "tree": "c81e2a2f3aa1c60b92951d398774f1391bdc6a1c",
      "parents": [
        "c63469a3985a9771c18a916b8d42845d044ea0b1"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Nov 28 15:59:15 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:35 2008 -0800"
      },
      "message": "Driver core: move the static kobject out of struct driver\n\nThis patch removes the kobject, and a few other driver-core-only fields\nout of struct driver and into the driver core only.  Now drivers can be\nsafely create on the stack or statically (like they currently are.)\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c63469a3985a9771c18a916b8d42845d044ea0b1",
      "tree": "7d54c8741aec9d71864203ce430d289d40c4c975",
      "parents": [
        "cbe9c595f1de2e2a98403be2c14bfbc2486e84c4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Nov 28 12:23:18 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:35 2008 -0800"
      },
      "message": "Driver core: move the driver specific module code into the driver core\n\nThe module driver specific code should belong in the driver core, not in\nthe kernel/ directory.  So move this code.  This is done in preparation\nfor some struct device_driver rework that should be confined to the\ndriver core code only.\n\nThis also lets us keep from exporting these functions, as no external\ncode should ever be calling it.\n\nThanks to Andrew Morton for the !CONFIG_MODULES fix.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cbe9c595f1de2e2a98403be2c14bfbc2486e84c4",
      "tree": "c3e3a30bb18e1597dda4bc28c11c3add049e1e02",
      "parents": [
        "23b9c1ab5baf368a32b7242bf110ef1f48700d04"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 19 15:54:39 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:34 2008 -0800"
      },
      "message": "Driver: add driver_add_kobj for looney iseries_veth driver\n\nThe iseries driver wants to hang kobjects off of its driver, so, to\npreserve backwards compatibility, we need to add a call to the driver\ncore to allow future changes to work properly.\n\nHopefully no one uses this function in the future and the iseries_veth\ndriver authors come to their senses so I can remove this hack...\n\nCc: Dave Larson \u003clarson1@us.ibm.com\u003e\nCc: Santiago Leon \u003csantil@us.ibm.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "57c745340a60c51d2b9af3d4dcf7e0ede284855b",
      "tree": "92640edef147d32663807207c0c0604e228949e7",
      "parents": [
        "2b937303188807b498d1a3163f60305f0941538e"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Wed Dec 05 12:50:23 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:34 2008 -0800"
      },
      "message": "driver core: Introduce default attribute groups.\n\nThis is lot like default attributes for devices (and indeed,\na lot of the code is lifted from there).\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c6f7e72a3f4641095ade9ded287d910c980c6148",
      "tree": "d2d7d946b978ce9f5586a02c3520aa76e928a551",
      "parents": [
        "b249072ee6897fe4f8d461c7bb4b926223263c28"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 19:41:16 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:33 2008 -0800"
      },
      "message": "driver core: remove fields from struct bus_type\n\nstruct bus_type is static everywhere in the kernel.  This moves the\nkobject in the structure out of it, and a bunch of other private only to\nthe driver core fields are now moved to a private structure.  This lets\nus dynamically create the backing kobject properly and gives us the\nchance to be able to document to users exactly how to use the struct\nbus_type as there are no fields they can improperly access.\n\nThanks to Kay for the build fixes on this patch.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b249072ee6897fe4f8d461c7bb4b926223263c28",
      "tree": "a6dde5703458677302516145c47f308e52cda189",
      "parents": [
        "0fed80f7a63abd7168907267af69ee31f6bcf301"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 19:41:16 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:33 2008 -0800"
      },
      "message": "driver core: add way to get to bus device klist\n\nThis allows an easier way to get to the device klist associated with a\nstruct bus_type (you have three to choose from...)  This will make it\neasier to move these fields to be dynamic in a future patch.\n\nThe only user of this is the PCI core which horribly abuses this\ninterface to rearrange the order of the pci devices.  This should be\ndone using the existing bus device walking functions, but that\u0027s left\nfor future patches.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0fed80f7a63abd7168907267af69ee31f6bcf301",
      "tree": "2380e2180aa01d883a5c2a2a0528c40f36d23d91",
      "parents": [
        "cc972e896b303f453f5893ecf8eca0d0e395ab64"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 19:41:16 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:33 2008 -0800"
      },
      "message": "driver core: add way to get to bus kset\n\nThis allows an easier way to get to the kset associated with a struct\nbus_type (you have three to choose from...)  This will make it easier to\nmove these fields to be dynamic in a future patch.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cc972e896b303f453f5893ecf8eca0d0e395ab64",
      "tree": "66eb0b8ce2046625c551d45f0f2d69f6b8821a5b",
      "parents": [
        "e32cc7366d88eeba12d22272a73dd83fb570ccb0"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 13:31:26 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:31 2008 -0800"
      },
      "message": "driver core: remove owner field from struct bus_type\n\nThis isn\u0027t used by anything in the driver core, and by no one in the 204\ndifferent usages of it in the kernel tree.  Remove this field so no one\ngets any idea that it is needed to be used.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "81e7c6a636c81d9eeaeaa732bfbace44535fab00",
      "tree": "fecb19e67acb96c2c9a11194ebebca63f0139f02",
      "parents": [
        "9f66fa2a4690a16da0dbaae2f44ddfc313802504"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 04 22:41:54 2007 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:26 2008 -0800"
      },
      "message": "UIO: fix kobject usage\n\nThe uio kobject code is \"wierd\".  This patch should hopefully fix it up\nto be sane and not leak memory anymore.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benedikt Spranger \u003cb.spranger@linutronix.de\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d76e15fb20eeb7632ef38876a884fe3508b2c01d",
      "tree": "5f3d63e70d8ac2365ee0c3f6b0489c8377ec1cd0",
      "parents": [
        "37b0c020343080241984d978981d6caf877b278a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 27 11:28:26 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:25 2008 -0800"
      },
      "message": "driver core: make /sys/power a kobject\n\n/sys/power should not be a kset, that\u0027s overkill.  This patch renames it\nto power_kset and fixes up all usages of it in the tree.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2fb9113b974c3c7c43e76647bd5077238e274e1c",
      "tree": "b87912c7d2c7a24b35a9a5e82fe462d7cffcbacb",
      "parents": [
        "0ff21e46630abce11fdaaffabd72bbd4eed5ac2c"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 06 15:03:30 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:24 2008 -0800"
      },
      "message": "kobject: remove subsystem_(un)register functions\n\nThese functions are no longer used and are the last remants of the old\nsubsystem crap.  So delete them for good.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0ff21e46630abce11fdaaffabd72bbd4eed5ac2c",
      "tree": "cc49671622ef90775bf12a91d20b8286aa346e6f",
      "parents": [
        "5c03c7ab886859eb195440dbb6ccb8c30c4e84cc"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 06 10:36:58 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:24 2008 -0800"
      },
      "message": "kobject: convert kernel_kset to be a kobject\n\nkernel_kset does not need to be a kset, but a much simpler kobject now\nthat we have kobj_attributes.\n\nWe also rename kernel_kset to kernel_kobj to catch all users of this\nsymbol with a build error instead of an easy-to-ignore build warning.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5c03c7ab886859eb195440dbb6ccb8c30c4e84cc",
      "tree": "16274460957bd2c6c80bb5708ba344bea20d4315",
      "parents": [
        "830d3cfb16728e2496edc2985ad8f68025135e37"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 02 16:19:59 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:24 2008 -0800"
      },
      "message": "kset: remove decl_subsys macro\n\nThis macro is no longer used.  ksets should be created dynamically with\na call to kset_create_and_add() not declared statically.\n\nYes, there are 5 remaining static struct kset usages in the kernel tree,\nbut they will be fixed up soon.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f62ed9e33b3ccff54d66b08f82d11940bb9e269b",
      "tree": "730e79fe5e1c38a0a277b075405d6671b8e450fe",
      "parents": [
        "15f2f9b3a9db65aaf908fe7ee17bbe262ae3550f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 05 13:16:15 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:23 2008 -0800"
      },
      "message": "firmware: change firmware_kset to firmware_kobj\n\nThere is no firmware \"subsystem\" it\u0027s just a directory in /sys that\nother portions of the kernel want to hook into.  So make it a kobject\nnot a kset to help alivate anyone who tries to do some odd kset-like\nthings with this.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "15f2f9b3a9db65aaf908fe7ee17bbe262ae3550f",
      "tree": "a0553775a92887b82aa2869535f2d832344e2c42",
      "parents": [
        "99e0d2fc6c60ca44f56203eeda9fc0e07b508f06"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 02 16:19:59 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:23 2008 -0800"
      },
      "message": "firmware: remove firmware_(un)register()\n\nThese functions are no longer called or needed, so we can remove them.\n\nAs I rewrote the whole firmware.c file, add my copyright.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "000f2a4d8cfc1e1cbc0aa98136015e7ae7719b46",
      "tree": "f501a2d118797a88184a77be089d335c4cc48e88",
      "parents": [
        "4443d07fcfab39c4d2d9d7711cff983f15b374fc"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Nov 02 13:47:53 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:22 2008 -0800"
      },
      "message": "Driver Core: kill subsys_attribute and default sysfs ops\n\nRemove the no longer needed subsys_attributes, they are all converted to\nthe more sensical kobj_attributes.\n\nThere is no longer a magic fallback in sysfs attribute operations, all\nkobjects which create simple attributes need explicitely a ktype\nassigned, which tells the core what was intended here.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "9e5f7f9abe18a4f134585a2de016974cbda80539",
      "tree": "895be0970aadd1b4e8584891d546ef4379a15e40",
      "parents": [
        "334c6307543a2b8af730a422f466d5f9442b606a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 02 13:20:40 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:19 2008 -0800"
      },
      "message": "firmware: export firmware_kset so that people can use that instead of the braindead firmware_register interface\n\nNeeded for future firmware subsystem cleanups.\n\nIn the end, the firmware_register/unregister functions will be deleted\nentirely, but we need this symbol so that subsystems can migrate over.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nCc: Matt Tolentino \u003cmatthew.e.tolentino@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "eb41d9465cdafee45e0cb30f3b7338646221908e",
      "tree": "a2e5d62c8b1bd48d5b20515b541096709fe184e0",
      "parents": [
        "386f275f5d097758f867bc99ddeaeb7a03b6b190"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Nov 02 13:47:53 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:18 2008 -0800"
      },
      "message": "fix struct user_info export\u0027s sysfs interaction\n\nClean up the use of ksets and kobjects. Kobjects are instances of\nobjects (like struct user_info), ksets are collections of objects of a\nsimilar type (like the uids directory containing the user_info directories).\nSo, use kobjects for the user_info directories, and a kset for the \"uids\"\ndirectory.\n\nOn object cleanup, the final kobject_put() was missing.\n\nCc: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "23b5212cc7422f475b82124334b64277b5b43013",
      "tree": "15be8d1e0f9600d87d28244de865c60e80b3389c",
      "parents": [
        "6dcec2511ff55b4abaca7ad3433011a7c04c2430"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Nov 02 13:47:53 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:18 2008 -0800"
      },
      "message": "Driver Core: add kobj_attribute handling\n\nAdd kobj_sysfs_ops to replace subsys_sysfs_ops. There is no\nneed for special kset operations, we want to be able to use\nsimple attribute operations at any kobject, not only ksets.\n\nThe whole concept of any default sysfs attribute operations\nwill go away with the upcoming removal of subsys_sysfs_ops.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6dcec2511ff55b4abaca7ad3433011a7c04c2430",
      "tree": "aeb9c18a877987478a1594d42b8f041ebb388875",
      "parents": [
        "3d8995963dfec66ef6270e729bf75903e9043f9d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 13:31:26 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:16 2008 -0800"
      },
      "message": "kset: convert struct bus_device-\u003edrivers to use kset_create\n\nDynamically create the kset instead of declaring it statically.\n\nHaving 3 static kobjects in one structure is not only foolish, but ripe\nfor nasty race conditions if handled improperly.  We also rename the\nfield to catch any potential users of it (not that there should be\noutside of the driver core...)\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3d8995963dfec66ef6270e729bf75903e9043f9d",
      "tree": "3abf600f400fb1bbc26f0be4f43af6cb22d24ce4",
      "parents": [
        "039a5dcd2fc45188a2d522df630db4f7ef903a0f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 13:31:26 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:16 2008 -0800"
      },
      "message": "kset: convert struct bus_device-\u003edevices to use kset_create\n\nDynamically create the kset instead of declaring it statically.\n\nHaving 3 static kobjects in one structure is not only foolish, but ripe\nfor nasty race conditions if handled improperly.  We also rename the\nfield to catch any potential users of it (not that there should be\noutside of the driver core...)\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "039a5dcd2fc45188a2d522df630db4f7ef903a0f",
      "tree": "dbadc8ef13f00f90acf3c9caad8a3834a34f6ce9",
      "parents": [
        "7405c1e15edfe43b137bfbc5882f1af34d6d414d"
      ],
      "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/power to use kset_create\n\nDynamically create the kset instead of declaring it statically.  We also\nrename power_subsys to power_kset to catch all users of the variable and\nwe properly export it so that people don\u0027t have to guess that it really\nis present in the system.\n\nThe pseries code is wierd, why is it createing /sys/power if CONFIG_PM\nis disabled?  Oh well, stupid big boxes ignoring config options...\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7405c1e15edfe43b137bfbc5882f1af34d6d414d",
      "tree": "94093ac6ece6e0a33f504e6c7778a2c443dae958",
      "parents": [
        "081248de0a0288a0ce4e1447a07ccf56aa4fae01"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 10:39:50 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:16 2008 -0800"
      },
      "message": "kset: convert /sys/module to use kset_create\n\nDynamically create the kset instead of declaring it statically.  We also\nrename module_subsys to module_kset to catch all users of the variable.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2d72fc00a1fb055e6127ccd30cac3f0eafaa98d0",
      "tree": "2a6850d91f28f1adf9223d14fc3bdee8f793b3e3",
      "parents": [
        "881c6cfd7c5edfe6129006e2404654bfe5911050"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 09:29:06 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:15 2008 -0800"
      },
      "message": "kobject: convert /sys/hypervisor to use kobject_create\n\nWe don\u0027t need a kset here, a simple kobject will do just fine, so\ndynamically create the kobject and use it.\n\nWe also rename hypervisor_subsys to hypervisor_kset to catch all users\nof the variable.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "bd35b93d8049ab47b5bfaf6b10ba39badf21d1c3",
      "tree": "bac82e14d960b2c7011b7f660a93f07e922f8a97",
      "parents": [
        "e5e38a86c0bbe8475543f10f0a48393a45df5182"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 29 20:13:17 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:14 2008 -0800"
      },
      "message": "kset: convert kernel_subsys to use kset_create\n\nDynamically create the kset instead of declaring it statically.  We also\nrename kernel_subsys to kernel_kset to catch all users of this symbol\nwith a build error instead of an easy-to-ignore build warning.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e5e38a86c0bbe8475543f10f0a48393a45df5182",
      "tree": "e823d08ca85003bb116631bc65c890840178c6aa",
      "parents": [
        "81ace5cd8fcb55e144f496af40d4275b03252456"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 29 23:22:26 2007 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:14 2008 -0800"
      },
      "message": "kset: remove decl_subsys_name\n\nThe last user of this macro (pci hotplug core) is now switched over to\nusing a dynamic kset, so this macro is no longer needed at all.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "81ace5cd8fcb55e144f496af40d4275b03252456",
      "tree": "490271ade80924cb0181f71f1c52d7f3976afa76",
      "parents": [
        "d405936b322220dc5cca9d2b58ef1911ae8efec9"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 29 23:22:26 2007 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:14 2008 -0800"
      },
      "message": "kset: convert pci hotplug to use kset_create_and_add\n\nThis also renames pci_hotplug_slots_subsys to pcis_hotplug_slots_kset\ncatch all current users with a build error instead of a build warning\nwhich can easily be missed.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "00d2666623368ffd39afc875ff8a2eead2a0436c",
      "tree": "9b16b85167f1bd86c02c0ebeb74510d8029783a3",
      "parents": [
        "917e865df7eb020f20ffc2b4204f282a587df94f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 29 14:17:23 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:13 2008 -0800"
      },
      "message": "kobject: convert main fs kobject to use kobject_create\n\nThis also renames fs_subsys to fs_kobj to catch all current users with a\nbuild error instead of a build warning which can easily be missed.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "43968d2f1648f4dc92437dc0363a3e88377445b3",
      "tree": "c9ba656e289bbbb5d5de32abc4181ae1d65dee00",
      "parents": [
        "4ff6abff832fbc6cb1d769f6106c841bc2b09f63"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 05 22:24:43 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:11 2008 -0800"
      },
      "message": "kobject: get rid of kobject_kset_add_dir\n\nkobject_kset_add_dir is only called in one place so remove it and use\nkobject_create() instead.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4ff6abff832fbc6cb1d769f6106c841bc2b09f63",
      "tree": "8458c8e29f53b67912edbe2424e43f95556832ce",
      "parents": [
        "3f9e3ee9dc3605e5c593b5d708494571fb0d3970"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 05 22:24:43 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:11 2008 -0800"
      },
      "message": "kobject: get rid of kobject_add_dir\n\nkobject_create_and_add is the same as kobject_add_dir, so drop\nkobject_add_dir.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3f9e3ee9dc3605e5c593b5d708494571fb0d3970",
      "tree": "b5490463c14b919f88ec18833846a38cfb621aa3",
      "parents": [
        "b727c702896f88d2ff6c3e03bd011d7c3dffe3e1"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 05 13:16:15 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:10 2008 -0800"
      },
      "message": "kobject: add kobject_create_and_add function\n\nThis lets users create dynamic kobjects much easier.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b727c702896f88d2ff6c3e03bd011d7c3dffe3e1",
      "tree": "772f0a3eb78a3e1d3475d36356bbff715a907829",
      "parents": [
        "12d03da7c19366268bdbc9fb0cd08d719c0cc283"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Sep 27 14:48:53 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:10 2008 -0800"
      },
      "message": "kset: add kset_create_and_add function\n\nNow ksets can be dynamically created on the fly, no static definitions\nare required.  Thanks to Miklos for hints on how to make this work\nbetter for the callers.\n\nAnd thanks to Kay for finding some stupid bugs in my original version\nand pointing out that we need to handle the fact that kobject\u0027s can have\na kset as a parent and to handle that properly in kobject_add().\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "12d03da7c19366268bdbc9fb0cd08d719c0cc283",
      "tree": "9cda67772234b3962706c5bef5d406aebd185445",
      "parents": [
        "3514faca19a6fdc209734431c509631ea92b094e"
      ],
      "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 kobj_set_kset_s as no one is using it anymore\n\nWhat a confusing name for a macro...\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": "c11c4154e7ff4cebfadad849b1e22689d759c3f4",
      "tree": "2038ed1677f55d3dafca6faac4a7155fb1e19166",
      "parents": [
        "244f6cee9a928103132a722292bfa0eb84114b07"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 03 21:31:08 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:10 2008 -0800"
      },
      "message": "kobject: add kobject_init_and_add function\n\nAlso add a kobject_init_and_add function which bundles up what a lot of\nthe current callers want to do all at once, and it properly handles the\nmemory usages, unlike kobject_register();\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "244f6cee9a928103132a722292bfa0eb84114b07",
      "tree": "4ef3d80c4bd29533dcf5479c51376aa16c36b670",
      "parents": [
        "e86000d042d23904bbb609af2f8618a541cf129b"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 03 21:31:08 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:09 2008 -0800"
      },
      "message": "kobject: add kobject_add_ng function\n\nThis is what the kobject_add function is going to become.\n\nAdd this to the kernel and then we can convert the tree over to use it.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e86000d042d23904bbb609af2f8618a541cf129b",
      "tree": "f31e28280e33248a3cd82ae2bcfa5b51c12d9984",
      "parents": [
        "18041f4775688af073d9b3ab0ffc262c1847e60b"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 03 21:31:08 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:09 2008 -0800"
      },
      "message": "kobject: add kobject_init_ng function\n\nThis is what the kobject_init function is going to become.\n\nAdd this to the kernel and then we can convert the tree over to use it.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "18041f4775688af073d9b3ab0ffc262c1847e60b",
      "tree": "de6bdbd43525340c618bcfac96163ad441b3c446",
      "parents": [
        "663a47430b361f863b515752a97166a7a4b92d35"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 03 21:31:08 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:09 2008 -0800"
      },
      "message": "kobject: make kobject_cleanup be static\n\nNo one except the kobject core calls it so make the function static.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7b8712e563df4fefc25d3107fa3fb3abb7331ff4",
      "tree": "bf82403231e24461e9168af38d38c8a53e6b2c36",
      "parents": [
        "30a468b1c1b9911ae515ff8972ee10c50cca3021"
      ],
      "author": {
        "name": "Emil Medve",
        "email": "Emilian.Medve@Freescale.com",
        "time": "Tue Oct 30 14:37:14 2007 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:08 2008 -0800"
      },
      "message": "driver core: Make the dev_*() family of macros in device.h complete\n\nRemoved duplicates defined elsewhere\n\nSigned-off-by: Emil Medve \u003cEmilian.Medve@Freescale.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7dd817d083b6fc103b9ea4f2b4f4a1c6a09e29a0",
      "tree": "2e9e782982555e99cb4e40cde469699696470e15",
      "parents": [
        "6013c12be8313b3205b41912d965b03f3b06147d"
      ],
      "author": {
        "name": "Tony Jones",
        "email": "tonyj@suse.de",
        "time": "Tue Sep 25 02:03:03 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:06 2008 -0800"
      },
      "message": "tifm: Convert from class_device to device for TI flash media\n\nSigned-off-by: Tony Jones \u003ctonyj@suse.de\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6013c12be8313b3205b41912d965b03f3b06147d",
      "tree": "8763a0e1901d4cad2f947ec49f0626da87c95066",
      "parents": [
        "aa2758261469374b598e2a6a2702e000a6ab2fbb"
      ],
      "author": {
        "name": "Tony Jones",
        "email": "tonyj@suse.de",
        "time": "Tue Sep 25 02:03:03 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:06 2008 -0800"
      },
      "message": "pktcdvd: Convert from class_device to device for block/pktcdvd\n\nstruct class_device is going away, this converts the code to use struct\ndevice instead.\n\nSigned-off-by: Tony Jones \u003ctonyj@suse.de\u003e\nCc: Peter Osterlund \u003cpetero2@telia.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "891f78ea833edd4a1e524e15bfe297a7a84d81a0",
      "tree": "533f12df743c4adc6d2b40d048ffb7d16c93e591",
      "parents": [
        "62ca8792560e5bd7dc09f54ed3523a7864f416c7"
      ],
      "author": {
        "name": "Tony Jones",
        "email": "tonyj@suse.de",
        "time": "Tue Sep 25 02:03:03 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:05 2008 -0800"
      },
      "message": "DMA: Convert from class_device to device for DMA engine\n\nSigned-off-by: Tony Jones \u003ctonyj@suse.de\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nCc: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "41ca28ab2abd76dc203e2c3a7cd609607cb927c3",
      "tree": "9197e7582b4654796914090026e1afed2628d101",
      "parents": [
        "775b64d2b6ca37697de925f70799c710aab5849a"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Mon Dec 10 23:03:43 2007 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:05 2008 -0800"
      },
      "message": "kref: add kref_set()\n\nThis adds kref_set() to the kref api for future use by people who really\nknow what they are doing with krefs...\n\nFrom: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "775b64d2b6ca37697de925f70799c710aab5849a",
      "tree": "09e91c89228c8d3c6928a1b2ef56711190c69836",
      "parents": [
        "7a83d456a86d559a6347115d206d23774bc152d9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 12 20:40:46 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:04 2008 -0800"
      },
      "message": "PM: Acquire device locks on suspend\n\nThis patch reorganizes the way suspend and resume notifications are\nsent to drivers.  The major changes are that now the PM core acquires\nevery device semaphore before calling the methods, and calls to\ndevice_add() during suspends will fail, while calls to device_del()\nduring suspends will block.\n\nIt also provides a way to safely remove a suspended device with the\nhelp of the PM core, by using the device_pm_schedule_removal() callback\nintroduced specifically for this purpose, and updates two drivers (msr\nand cpuid) that need to use it.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1996a10948e50e546dc2b64276723c0b64d3173b",
      "tree": "971b235907b7c6911c21c9139e0ba85c5b84ef80",
      "parents": [
        "63cb34492351078479b2d4bae6a881806a396286"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Wed Jan 23 00:02:58 2008 +0100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 25 11:29:54 2008 +1100"
      },
      "message": "security/selinux: constify function pointer tables and fields\n\nConstify function pointer tables and fields.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "63cb34492351078479b2d4bae6a881806a396286",
      "tree": "d33ab15eda40c5195c4a723d9e49591a9b4950f9",
      "parents": [
        "c43e259cc756ece387faae849af0058b56d78466"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jan 15 23:47:35 2008 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 25 11:29:53 2008 +1100"
      },
      "message": "security: add a secctx_to_secid() hook\n\nAdd a secctx_to_secid() LSM hook to go along with the existing\nsecid_to_secctx() LSM hook.  This patch also includes the SELinux\nimplementation for this hook.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "bced95283e9434611cbad8f2ff903cd396eaea72",
      "tree": "5d56afc7a5f239ebc53a1800a508f16b8d8701b0",
      "parents": [
        "42d7896ebc5f7268b1fe6bbd20f2282e20ae7895"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Sat Dec 29 16:20:25 2007 -0800"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 25 11:29:50 2008 +1100"
      },
      "message": "security: remove security_sb_post_mountroot hook\n\nThe security_sb_post_mountroot() hook is long-since obsolete, and is\nfundamentally broken: it is never invoked if someone uses initramfs.\nThis is particularly damaging, because the existence of this hook has\nbeen used as motivation for not using initramfs.\n\nStephen Smalley confirmed on 2007-07-19 that this hook was originally\nused by SELinux but can now be safely removed:\n\n     http://marc.info/?l\u003dlinux-kernel\u0026m\u003d118485683612916\u0026w\u003d2\n\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "42d7896ebc5f7268b1fe6bbd20f2282e20ae7895",
      "tree": "98247e79ea997801420bcb594c66f351a14bce75",
      "parents": [
        "88c3f7a8f2c86be264d326cf6f49a3e8c30d13a6"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@sdv.(none)",
        "time": "Wed Dec 26 15:12:37 2007 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 25 11:29:49 2008 +1100"
      },
      "message": "Security: remove security.h include from mm.h\n\nRemove security.h include from mm.h, as it is only needed for a single\nextern declaration, and pulls in all kinds of crud.\n\nFine-by-me: David Chinner \u003cdgc@sgi.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "c9180a57a9ab2d5525faf8815a332364ee9e89b7",
      "tree": "c677ec33735f3529d478a2b71fcc732d4fe59adf",
      "parents": [
        "19c5fc198c369bb00f3ed9716ef40648865d8d94"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Nov 30 13:00:35 2007 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 25 11:29:46 2008 +1100"
      },
      "message": "Security: add get, set, and cloning of superblock security information\n\nAdds security_get_sb_mnt_opts, security_set_sb_mnt_opts, and\nsecurity_clont_sb_mnt_opts to the LSM and to SELinux.  This will allow\nfilesystems to directly own and control all of their mount options if they\nso choose.  This interface deals only with option identifiers and strings so\nit should generic enough for any LSM which may come in the future.\n\nFilesystems which pass text mount data around in the kernel (almost all of\nthem) need not currently make use of this interface when dealing with\nSELinux since it will still parse those strings as it always has.  I assume\nfuture LSM\u0027s would do the same.  NFS is the primary FS which does not use\ntext mount data and thus must make use of this interface.\n\nAn LSM would need to implement these functions only if they had mount time\noptions, such as selinux has context\u003d or fscontext\u003d.  If the LSM has no\nmount time options they could simply not implement and let the dummy ops\ntake care of things.\n\nAn LSM other than SELinux would need to define new option numbers in\nsecurity.h and any FS which decides to own there own security options would\nneed to be patched to use this new interface for every possible LSM.  This\nis because it was stated to me very clearly that LSM\u0027s should not attempt to\nunderstand FS mount data and the burdon to understand security should be in\nthe FS which owns the options.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Stephen D. Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d4b7dc499daae909e62dc260b95cd618f2970ded",
      "tree": "d24816be9d0830724e35f322c515dc8db38d4a2e",
      "parents": [
        "7ce95ce5c6dbbc3f70933f04537860ffd9dbe17e"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Jan 23 20:50:56 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Jan 23 21:26:15 2008 -0500"
      },
      "message": "ACPI: make _OSI(Linux) console messages smarter\n\nIf BIOS invokes _OSI(Linux), the kernel response\ndepends on what the ACPI DMI list knows about the system,\nand that is reflectd in dmesg:\n\n1) System unknown to DMI:\n\nACPI: BIOS _OSI(Linux) query ignored\nACPI: DMI System Vendor: LENOVO\nACPI: DMI Product Name: 7661W1P\nACPI: DMI Product Version: ThinkPad T61\nACPI: DMI Board Name: 7661W1P\nACPI: DMI BIOS Vendor: LENOVO\nACPI: DMI BIOS Date: 10/18/2007\nACPI: Please send DMI info above to linux-acpi@vger.kernel.org\nACPI: If \"acpi_osi\u003dLinux\" works better, please notify linux-acpi@vger.kernel.org\n\n2) System known to DMI, but effect of OSI(Linux) unknown:\n\nACPI: DMI detected: Lenovo ThinkPad T61\n...\nACPI: BIOS _OSI(Linux) query ignored via DMI\nACPI: If \"acpi_osi\u003dLinux\" works better, please notify linux-acpi@vger.kernel.org\n\n3) System known to DMI, which disables _OSI(Linux):\n\nACPI: DMI detected: Lenovo ThinkPad T61\n...\nACPI: BIOS _OSI(Linux) query ignored via DMI\n\n4) System known to DMI, which enable _OSI(Linux):\n\nACPI: DMI detected: Lenovo ThinkPad T61\nACPI: Added _OSI(Linux)\n...\nACPI: BIOS _OSI(Linux) query honored via DMI\n\ncmdline overrides take precidence over the built-in\ndefault and the DMI prescribed default.\ncmdline \"acpi_osi\u003dLinux\" results in:\n\nACPI: BIOS _OSI(Linux) query honored via cmdline\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "f89e3b0620a0dc19f313218f55373b9361142203",
      "tree": "4263ef4f23e57715139f3e0cf4380b334b5defef",
      "parents": [
        "81b4e1f6269cea345f17d3aa349ec9beb31a8cd3"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Jan 23 16:36:45 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Jan 23 21:23:13 2008 -0500"
      },
      "message": "DMI: create dmi_get_slot()\n\nThis simply allows other sub-systems (such as ACPI)\nto access and print out slots in static dmi_ident[].\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "81b4e1f6269cea345f17d3aa349ec9beb31a8cd3",
      "tree": "1f5575297b166e51399eaf5fef680d02d30c060f",
      "parents": [
        "667984d9e481e43a930a478c588dced98cb61fea"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Jan 16 17:20:37 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Jan 23 21:22:21 2008 -0500"
      },
      "message": "DMI: move dmi_available declaration to linux/dmi.h\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "eb13ba873881abd5e15af784756a61af635e665e",
      "tree": "228bf4afa2c4418ad09cd50b3ebb762f793ed84a",
      "parents": [
        "5a26db5bd25cf4bf32ae9fa9f6136b6b6d5b45c5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jan 16 09:51:58 2008 +0100"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 16 09:51:58 2008 +0100"
      },
      "message": "lockdep: fix workqueue creation API lockdep interaction\nDave Young reported warnings from lockdep that the workqueue API\ncan sometimes try to register lockdep classes with the same key\nbut different names. This is not permitted in lockdep.\n\nUnfortunately, I was unaware of that restriction when I wrote\nthe code to debug workqueue problems with lockdep and used the\nworkqueue name as the lockdep class name. This can obviously\nlead to the problem if the workqueue name is dynamic.\n\nThis patch solves the problem by always using a constant name\nfor the workqueue\u0027s lockdep class, namely either the constant\nname that was passed in or a string consisting of the variable\nname.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "121a09e590d54be840289c6feac840453aa999d9",
      "tree": "3787fdb9c29811d161049b669209b99dedf79f40",
      "parents": [
        "0f7577434bcdf99456757b44d8911dc6e51c3178"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 14 01:06:40 2008 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Jan 15 16:35:21 2008 -0500"
      },
      "message": "libata: correct handling of TSS DVD\n\nDevices that misreport the validity bit for word 93 look like SATA.  If\nthey are on the blacklist then we must not test for SATA but assume 40 wire\nin the 40 wire case (The TSSCorp reports 80 wire on SATA it seems!)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c23f72cae9523d29ff94eec8f30ccbdaf234b20e",
      "tree": "1e5f46971510cd36a3deebfa8f160933212f4df0",
      "parents": [
        "031f2dcd7075e218e74dd7f942ad015cf82dffab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jan 14 21:21:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jan 14 21:21:29 2008 -0800"
      },
      "message": "Revert \"writeback: introduce writeback_control.more_io to indicate more io\"\n\nThis reverts commit 2e6883bdf49abd0e7f0d9b6297fc3be7ebb2250b, as\nrequested by Fengguang Wu.  It\u0027s not quite fully baked yet, and while\nthere are patches around to fix the problems it caused, they should get\nmore testing.  Says Fengguang: \"I\u0027ll resend them both for -mm later on,\nin a more complete patchset\".\n\nSee\n\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9738\n\nfor some of this discussion.\n\nRequested-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f9dd0194ff23d612e463be764d73da7825da4aa1",
      "tree": "bb826626c73b5c4945a95ef5557940e2e3b4bd1c",
      "parents": [
        "96acafe05fad2c9429ca2c39af47efc5db2d8042"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Jan 14 21:53:31 2008 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Mon Jan 14 21:53:31 2008 +0100"
      },
      "message": "i2c: Driver IDs are optional\n\nDocument the fact that I2C driver IDs are optional.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "417009f64f17d76322d148a2cda40dfec37bcf0b",
      "tree": "5c02e4888a083e276a49ec1f58cd492ca5532e1b",
      "parents": [
        "ba67a39efde8312e386c6f603054f8945433d91f",
        "55d1bb9a3b0f7f791ce597086791ebe54ea4c46a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jan 13 09:58:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jan 13 09:58:22 2008 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:\n  pnpacpi: print resource shortage message only once\n  PM: ACPI and APM must not be enabled at the same time\n  ACPI: apply quirk_ich6_lpc_acpi to more ICH8 and ICH9\n  ACPICA: fix acpi_serialize hang regression\n  ACPI : Not register gsi for PCI IDE controller in legacy mode\n  ACPI: Reintroduce run time configurable max_cstate for !CPU_IDLE case\n  ACPI: Make sysfs interface in ACPI power optional.\n  ACPI: EC: Enable boot EC before bus_scan\n  increase PNP_MAX_PORT to 40 from 24\n"
    },
    {
      "commit": "84427eaef1fb91704c7112bdb598c810003b99f3",
      "tree": "bf22a7186295fcb6dc6bced34cfa73aa74b27300",
      "parents": [
        "974a9f0b47da74e28f68b9c8645c3786aa5ace1a"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Jan 10 12:52:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jan 13 09:56:43 2008 -0800"
      },
      "message": "remove task_ppid_nr_ns\n\ntask_ppid_nr_ns is called in three places.  One of these should never\nhave called it.  In the other two, using it broke the existing\nsemantics.  This was presumably accidental.  If the function had not\nbeen there, it would have been much more obvious to the eye that those\npatches were changing the behavior.  We don\u0027t need this function.\n\nIn task_state, the pid of the ptracer is not the ppid of the ptracer.\n\nIn do_task_stat, ppid is the tgid of the real_parent, not its pid.\nI also moved the call outside of lock_task_sighand, since it doesn\u0027t\nneed it.\n\nIn sys_getppid, ppid is the tgid of the real_parent, not its pid.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b74c92521de123b6b3b01a8be432722121d9e8e",
      "tree": "64155a80a20d6ac848d436c986ed477ce4444e93",
      "parents": [
        "4e1b83ad61b5db143281bb54e88ff420cc6b79d0",
        "2c838197751db19d08a00e633e33dce23a69fb0c"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 11 12:27:50 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 11 12:27:50 2008 -0500"
      },
      "message": "Pull bugzilla-9535 into release branch\n"
    },
    {
      "commit": "02d5bccf8ea3f9b8de21bfe19db77fbc50d92e04",
      "tree": "33402107adad8ebca51ea843291e09afc11a67d7",
      "parents": [
        "eba6860ac5f9578e3ba6d0f9900cfc72599c5d66",
        "9f9adecd2d0e4f88fa0e8cb06c6ec207748df70a"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 11 12:27:13 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 11 12:27:13 2008 -0500"
      },
      "message": "Pull bugzilla-9194 into release branch\n"
    },
    {
      "commit": "9f9adecd2d0e4f88fa0e8cb06c6ec207748df70a",
      "tree": "b3914860b74a9f6c3ae42016aa708b54040248f8",
      "parents": [
        "da8cadb31b82c9d41fc593c8deab6aa20b162d6b"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Dec 13 17:38:03 2007 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 11 12:26:47 2008 -0500"
      },
      "message": "PM: ACPI and APM must not be enabled at the same time\n\nACPI and APM used \"pm_active\" to guarantee that\nthey would not be simultaneously active.\n\nBut pm_active was recently moved under CONFIG_PM_LEGACY,\nso that without CONFIG_PM_LEGACY, pm_active became a NOP --\nallowing ACPI and APM to both be simultaneously enabled.\nThis caused unpredictable results, including boot hangs.\n\nFurther, the code under CONFIG_PM_LEGACY is scheduled\nfor removal.\n\nSo replace pm_active with pm_flags.\npm_flags depends only on CONFIG_PM,\nwhich is present for both CONFIG_APM and CONFIG_ACPI.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9194\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "b801a1e7dbca3f51d0a4b22a750ae257196002cb",
      "tree": "8c6963d592cc34c9964c5760b57447c9ee4e48a5",
      "parents": [
        "88fb61e4ba263685a0d5b82c7e9cd6f22a9e6a9d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 11 10:12:55 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 11 10:12:55 2008 +0100"
      },
      "message": "Don\u0027t blatt first element of prv in sg_chain()\n\nI realize that sg chaining is a ploy to make the rest of the kernel\ndevs feel the pain of the SCSI subsystem.  But this was a little\nunsubtle.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d1ec7298fcefd7e4d1ca612da402ce9e5d5e2c13",
      "tree": "c05cc1a76c3dc74952d0ac629503c875d89f6a49",
      "parents": [
        "fd0b45dfd1858c6b49d06355a460bcf36d654c06"
      ],
      "author": {
        "name": "Zhao Yakui",
        "email": "yakui.zhao@intel.com",
        "time": "Fri Jan 11 00:24:55 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 11 00:24:55 2008 -0500"
      },
      "message": "ACPI: apply quirk_ich6_lpc_acpi to more ICH8 and ICH9\n\nIt is important that these resources be reserved\nto avoid conflicts with well known ACPI registers.\n\nSigned-off-by: Zhao Yakui \u003cyakui.zhao@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "6eb7228421c01ba48a6a88a7a5b3e71cfb70d4a9",
      "tree": "15ec08e0ede5ca43e348a30176cd7c96ffb7985d",
      "parents": [
        "38ed9ab23b8614c9c1553b2961ef2627f3088fd9"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jan 08 17:16:44 2008 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:17:01 2008 +1100"
      },
      "message": "[CRYPTO] api: Set default CRYPTO_MINALIGN to unsigned long long\n\nThanks to David Miller for pointing out that the SLAB (or SLOB/SLUB)\ncache uses the alignment of unsigned long long if the architecture\nkmalloc/slab alignment macros are not defined.\n\nThis patch changes the CRYPTO_MINALIGN so that it uses the same default\nvalue.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "d29ce988aeb459203c74f14747f4f77e1829ef78",
      "tree": "886ec0a429c3b1b5b79f290be6b0d8383b89c30b",
      "parents": [
        "14df4d80433b8413f901e80880c39e8759b8418f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 12 19:24:27 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:52 2008 +1100"
      },
      "message": "[CRYPTO] aead: Create default givcipher instances\n\nThis patch makes crypto_alloc_aead always return algorithms that is\ncapable of generating their own IVs through givencrypt and givdecrypt.\nAll existing AEAD algorithms already do.  New ones must either supply\ntheir own or specify a generic IV generator with the geniv field.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "5b6d2d7fdf806f2b5a9352416f9e670911fc4748",
      "tree": "d2eda87839e1b5de18c691ecff6e6074a35c09f0",
      "parents": [
        "aedb30dc49eeecd48558b601c47e0b3f9e42c602"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 12 19:23:36 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:51 2008 +1100"
      },
      "message": "[CRYPTO] aead: Add aead_geniv_alloc/aead_geniv_free\n\nThis patch creates the infrastructure to help the construction of IV\ngenerator templates that wrap around AEAD algorithms by adding an IV\ngenerator to them.  This is useful for AEAD algorithms with no built-in\nIV generator or to replace their built-in generator.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "743edf57272fd420348e148bf94f9e48ed6abb70",
      "tree": "be4a96ae7f7f8a6b42bf01cc7a61cb4b5938ab50",
      "parents": [
        "03bf712fb4defc7831c727d1e32d0269f7f96de0"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Dec 10 16:18:01 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:49 2008 +1100"
      },
      "message": "[CRYPTO] aead: Add givcrypt operations\n\nThis patch adds the underlying givcrypt operations for aead and associated\nsupport elements.  The rationale is identical to that of the skcipher\ngivcrypt operations, i.e., sometimes only the algorithm knows how the\nIV should be generated.\n\nA new request type aead_givcrypt_request is added which contains an\nembedded aead_request structure with two new elements to support this\noperation.  The new elements are seq and giv.  The seq field should\ncontain a strictly increasing 64-bit integer which may be used by\ncertain IV generators as an input value.  The giv field will be used\nto store the generated IV.  It does not need to obey the alignment\nrequirements of the algorithm because it\u0027s not used during the operation.\n\nThe existing iv field must still be available as it will be used to store\nintermediate IVs and the output IV if chaining is desired.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "b9c55aa475599183d0eab6833ea23e70c52dd24b",
      "tree": "74e011e9b95291f230d6e7200730e3bc3b9d7153",
      "parents": [
        "806d183aa6cc565d0f6bd2fb7fc6bfb175cc4813"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Dec 04 12:46:48 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:46 2008 +1100"
      },
      "message": "[CRYPTO] skcipher: Create default givcipher instances\n\nThis patch makes crypto_alloc_ablkcipher/crypto_grab_skcipher always\nreturn algorithms that are capable of generating their own IVs through\ngivencrypt and givdecrypt.  Each algorithm may specify its default IV\ngenerator through the geniv field.\n\nFor algorithms that do not set the geniv field, the blkcipher layer will\npick a default.  Currently it\u0027s chainiv for synchronous algorithms and\neseqiv for asynchronous algorithms.  Note that if these wrappers do not\nwork on an algorithm then that algorithm must specify its own geniv or\nit can\u0027t be used at all.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "ecfc43292f68566c144afca966b46b371c26d56c",
      "tree": "ef332abe1573434836a90e188257a252ca9f896a",
      "parents": [
        "927eead52c958829ef62c8aa5da2751033a2cf98"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 05 21:08:36 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:44 2008 +1100"
      },
      "message": "[CRYPTO] skcipher: Add skcipher_geniv_alloc/skcipher_geniv_free\n\nThis patch creates the infrastructure to help the construction of givcipher\ntemplates that wrap around existing blkcipher/ablkcipher algorithms by adding\nan IV generator to them.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "23508e11ab3bb405dca66bf4d77e488bf2b07b0c",
      "tree": "f1eead8ce9115097e4c2a73d5cbaf8264085a296",
      "parents": [
        "61da88e2b800eed2b03834a73c46cc89ad48716d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Nov 27 21:33:24 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:43 2008 +1100"
      },
      "message": "[CRYPTO] skcipher: Added geniv field\n\nThis patch introduces the geniv field which indicates the default IV\ngenerator for each algorithm.  It should point to a string that is not\nfreed as long as the algorithm is registered.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "61da88e2b800eed2b03834a73c46cc89ad48716d",
      "tree": "00926f29041a08feefe379f2ce164099d7f82f45",
      "parents": [
        "378f4f51f9fdd8df80ea875320e2bf1d7c6e6e77"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Dec 17 21:51:27 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:43 2008 +1100"
      },
      "message": "[CRYPTO] skcipher: Add givcrypt operations and givcipher type\n\nDifferent block cipher modes have different requirements for intialisation\nvectors.  For example, CBC can use a simple randomly generated IV while\nmodes such as CTR must use an IV generation mechanisms that give a stronger\nguarantee on the lack of collisions.  Furthermore, disk encryption modes\nhave their own IV generation algorithms.\n\nUp until now IV generation has been left to the users of the symmetric\nkey cipher API.  This is inconvenient as the number of block cipher modes\nincrease because the user needs to be aware of which mode is supposed to\nbe paired with which IV generation algorithm.\n\nTherefore it makes sense to integrate the IV generation into the crypto\nAPI.  This patch takes the first step in that direction by creating two\nnew ablkcipher operations, givencrypt and givdecrypt that generates an\nIV before performing the actual encryption or decryption.\n\nThe operations are currently not exposed to the user.  That will be done\nonce the underlying functionality has actually been implemented.\n\nIt also creates the underlying givcipher type.  Algorithms that directly\ngenerate IVs would use it instead of ablkcipher.  All other algorithms\n(including all existing ones) would generate a givcipher algorithm upon\nregistration.  This givcipher algorithm will be constructed from the geniv\nstring that\u0027s stored in every algorithm.  That string will locate a template\nwhich is instantiated by the blkcipher/ablkcipher algorithm in question to\ngive a givcipher algorithm.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "378f4f51f9fdd8df80ea875320e2bf1d7c6e6e77",
      "tree": "f38f23fa09ec7971546a0a3aa42a79cc055c455f",
      "parents": [
        "84c911523020a2e39b307a2da26ee1886b7214fe"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Dec 17 20:07:31 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:42 2008 +1100"
      },
      "message": "[CRYPTO] skcipher: Add crypto_grab_skcipher interface\n\nNote: From now on the collective of ablkcipher/blkcipher/givcipher will\nbe known as skcipher, i.e., symmetric key cipher.  The name blkcipher has\nalways been much of a misnomer since it supports stream ciphers too.\n\nThis patch adds the function crypto_grab_skcipher as a new way of getting\nan ablkcipher spawn.  The problem is that previously we did this in two\nsteps, first getting the algorithm and then calling crypto_init_spawn.\n\nThis meant that each spawn user had to be aware of what type and mask to\nuse for these two steps.  This is difficult and also presents a problem\nwhen the type/mask changes as they\u0027re about to be for IV generators.\n\nThe new interface does both steps together just like crypto_alloc_ablkcipher.\n\nAs a side-effect this also allows us to be stronger on type enforcement\nfor spawns.  For now this is only done for ablkcipher but it\u0027s trivial\nto extend for other types.\n\nThis patch also moves the type/mask logic for skcipher into the helpers\ncrypto_skcipher_type and crypto_skcipher_mask.\n\nFinally this patch introduces the function crypto_require_sync to determine\nwhether the user is specifically requesting a sync algorithm.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "551a09a7a954f720067f207657bbbd26a3fe156a",
      "tree": "083daf83f8f7e67e7541f53bd888a2238ffe8b88",
      "parents": [
        "5e553110f27ff77591ec7305c6216ad6949f7a95"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Dec 01 21:47:07 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:39 2008 +1100"
      },
      "message": "[CRYPTO] api: Sanitise mask when allocating ablkcipher/hash\n\nWhen allocating ablkcipher/hash objects, we use a mask that\u0027s wider than\nthe usual type mask.  This patch sanitises the mask supplied by the user\nso we don\u0027t end up using a narrower mask which may lead to unintended\nresults.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "7ba683a6deba70251756aa5a021cdaa5c875a7a2",
      "tree": "80f63039b56bef0287fdf878163a5fe109821e58",
      "parents": [
        "e29bc6ad0e84e3157e0f49130a15b278cb232c72"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Dec 02 18:49:21 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:29 2008 +1100"
      },
      "message": "[CRYPTO] aead: Make authsize a run-time parameter\n\nAs it is authsize is an algorithm paramter which cannot be changed at\nrun-time.  This is inconvenient because hardware that implements such\nalgorithms would have to register each authsize that they support\nseparately.\n\nSince authsize is a property common to all AEAD algorithms, we can add\na function setauthsize that sets it at run-time, just like setkey.\n\nThis patch does exactly that and also changes authenc so that authsize\nis no longer a parameter of its template.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "984e976f5382ff09351ddd3b023937611396d739",
      "tree": "2fcce0de19b06547772f015b8409efc3d2c8d52a",
      "parents": [
        "2407d60872dd2a95404c6048f775f3b64d438f4b"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Nov 21 12:24:45 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:16 2008 +1100"
      },
      "message": "[HWRNG]: move status polling loop to data_present callbacks\n\nHandle waiting for new random within the drivers themselves, this allows to\nuse better suited timeouts for the individual rngs.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "332f8840f7095d294f9bb066b175a100bcde214c",
      "tree": "fa2e610da8e943765dfdb8f23817027424a1339d",
      "parents": [
        "86f578de5ba6ea11ead9284d9f036fee01ba5893"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Nov 15 22:36:07 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:15 2008 +1100"
      },
      "message": "[CRYPTO] ablkcipher: Add distinct ABLKCIPHER type\n\nUp until now we have ablkcipher algorithms have been identified as\ntype BLKCIPHER with the ASYNC bit set.  This is suboptimal because\nablkcipher refers to two things.  On the one hand it refers to the\ntop-level ablkcipher interface with requests.  On the other hand it\nrefers to and algorithm type underneath.\n\nAs it is you cannot request a synchronous block cipher algorithm\nwith the ablkcipher interface on top.  This is a problem because\nwe want to be able to eventually phase out the blkcipher top-level\ninterface.\n\nThis patch fixes this by making ABLKCIPHER its own type, just as\nwe have distinct types for HASH and DIGEST.  The type it associated\nwith the algorithm implementation only.\n\nWhich top-level interface is used for synchronous block ciphers is\nthen determined by the mask that\u0027s used.  If it\u0027s a specific mask\nthen the old blkcipher interface is given, otherwise we go with the\nnew ablkcipher interface.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "a0a46196cd98af5cc015842bba757571f02a8c30",
      "tree": "1e73ef1d0251f969fbb1a51637722c2c793ff0b6",
      "parents": [
        "bdb95b1792664f25eb2a4d13a587d2020aa93002"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 07 20:35:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 08 23:30:07 2008 -0800"
      },
      "message": "[NET]: Add NAPI_STATE_DISABLE.\n\nCreate a bit to signal that a napi_disable() is in progress.\n\nThis sets up infrastructure such that net_rx_action() can generically\nbreak out of the -\u003epoll() loop on a NAPI context that has a pending\nnapi_disable() yet is being bombed with packets (and thus would\notherwise poll endlessly and not allow the napi_disable() to finish).\n\nNow, what napi_disable() does is first set the NAPI_STATE_DISABLE bit\n(to indicate that a disable is pending), then it polls for the\nNAPI_STATE_SCHED bit, and once the NAPI_STATE_SCHED bit is acquired\nthe NAPI_STATE_DISABLE bit is cleared.  Here, the test_and_set_bit()\nprovides the necessary memory barrier between the various bitops.\n\nnapi_schedule_prep() now tests for a pending disable as it\u0027s first\naction and won\u0027t try to obtain the NAPI_STATE_SCHED bit if a disable\nis pending.\n\nAs a result, we can remove the netif_running() check in\nnetif_rx_schedule_prep() because the NAPI disable pending state serves\nthis purpose.  And, it does so in a NAPI centric manner which is what\nwe really want.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bdb95b1792664f25eb2a4d13a587d2020aa93002",
      "tree": "88b7fc6bc396294417e2e34352039214a0192509",
      "parents": [
        "d987160b710c98997015832422a05e18d9f0f925"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 07 20:26:59 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 08 23:30:07 2008 -0800"
      },
      "message": "[NET]: Do not grab device reference when scheduling a NAPI poll.\n\nIt is pointless, because everything that can make a device go away\nwill do a napi_disable() first.\n\nThe main impetus behind this is that now we can legally do a NAPI\ncompletion in generic code like net_rx_action() which a following\nchangeset needs to do.  net_rx_action() can only perform actions\nin NAPI centric ways, because there may be a one to many mapping\nbetween NAPI contexts and network devices (SKY2 is one example).\n\nWe also want to get rid of this because it\u0027s an extra atomic in the\nNAPI paths, and also because it is one of the last instances where the\nNAPI interfaces care about net devices.\n\nThe one remaining netdev detail the NAPI stuff cares about is the\nnetif_running() check which will be killed off in a subsequent\nchangeset.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf5e5834bffc62b50cd4a201804506eb11ef1af8",
      "tree": "09cd94995a4c67b0fd84f7c81b7f2bb58fac8e50",
      "parents": [
        "cf0594625083111ae522496dc1c256f7476939c2"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Jan 08 14:55:51 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jan 08 16:16:34 2008 -0800"
      },
      "message": "pl2303: Fix mode switching regression\n\nCleaning out all the incorrect \u0027no change made\u0027 checks for termios\nsettings showed up a problem with the PL2303. The hardware here seems to\nlose sync and bits if you tell it to make no changes. This shows up with\na real world application.\n\nTo fix this the driver check for meaningful hardware changes is restored\nbut doing the tests correctly and as a tty layer function so it doesn\u0027t\nget duplicated wrongly everywhere if other drivers turn out to need it.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nTested-by: Mirko Parthey \u003cmirko.parthey@informatik.tu-chemnitz.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b7741b3325d0d94c88b2ad46657a536890aaa2f",
      "tree": "11bc16f7d9991f248652e60ec1ce8d6c528d8d8c",
      "parents": [
        "9f966be8996f2829406324c68e4c67c2d64d864b"
      ],
      "author": {
        "name": "Sebastian Siewior",
        "email": "sebastian@breakpoint.cc",
        "time": "Tue Jan 08 15:32:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jan 08 16:10:35 2008 -0800"
      },
      "message": "KEYS: fix macro\n\nCommit 664cceb0093b755739e56572b836a99104ee8a75 changed the parameters of\nthe function make_key_ref().  The macros that are used in case CONFIG_KEY\nis not defined did not change.\n\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Sebastian Siewior \u003csebastian@breakpoint.cc\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a263898f628dd21e59210b547986c154788f628e",
      "tree": "b6c0a05c607c9b748336e629b3b6f4ddfea191ee",
      "parents": [
        "57a04513cb35086d54bcb2cb92e6627fc8fa0fae"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 30 11:58:17 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jan 06 12:39:42 2008 -0800"
      },
      "message": "CPU hotplug: fix cpu_is_offline() on !CONFIG_HOTPLUG_CPU\n\nmake randconfig bootup testing found that the cpufreq code\ncrashes on bootup, if the powernow-k8 driver is enabled and\nif maxcpus\u003d1 passed on the boot line to a !CONFIG_HOTPLUG_CPU\nkernel.\n\nFirst lockdep found out that there\u0027s an inconsistent unlock\nsequence:\n\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n [ BUG: bad unlock balance detected! ]\n -------------------------------------\n swapper/1 is trying to release lock (\u0026per_cpu(cpu_policy_rwsem, cpu)) at:\n [\u003cffffffff806ffd8e\u003e] unlock_policy_rwsem_write+0x3c/0x42\n but there are no more locks to release!\n\nCall Trace:\n [\u003cffffffff806ffd8e\u003e] unlock_policy_rwsem_write+0x3c/0x42\n [\u003cffffffff80251c29\u003e] print_unlock_inbalance_bug+0x104/0x12c\n [\u003cffffffff80252f3a\u003e] mark_held_locks+0x56/0x94\n [\u003cffffffff806ffd8e\u003e] unlock_policy_rwsem_write+0x3c/0x42\n [\u003cffffffff807008b6\u003e] cpufreq_add_dev+0x2a8/0x5c4\n ...\n\nthen shortly afterwards the cpufreq code crashed on an assert:\n\n ------------[ cut here ]------------\n kernel BUG at drivers/cpufreq/cpufreq.c:1068!\n invalid opcode: 0000 [1] SMP\n [...]\n Call Trace:\n  [\u003cffffffff805145d6\u003e] sysdev_driver_unregister+0x5b/0x91\n  [\u003cffffffff806ff520\u003e] cpufreq_register_driver+0x15d/0x1a2\n  [\u003cffffffff80cc0596\u003e] powernowk8_init+0x86/0x94\n [...]\n ---[ end trace 1e9219be2b4431de ]---\n\nthe bug was caused by maxcpus\u003d1 bootup, which brought up the\nsecondary core as !cpu_online() but !cpu_is_offline() either,\nwhich on on !CONFIG_HOTPLUG_CPU is always 0 (include/linux/cpu.h):\n\n  /* CPUs don\u0027t go offline once they\u0027re online w/o CONFIG_HOTPLUG_CPU */\n  static inline int cpu_is_offline(int cpu) { return 0; }\n\nbut the cpufreq code uses cpu_online() and cpu_is_offline() in\na mixed way - the low-level drivers use cpu_online(), while\nthe cpufreq core uses cpu_is_offline(). This opened up the\npossibility to add the non-initialized sysdev device of the\nsecondary core:\n\n cpufreq-core: trying to register driver powernow-k8\n cpufreq-core: adding CPU 0\n powernow-k8: BIOS error - no PSB or ACPI _PSS objects\n cpufreq-core: initialization failed\n cpufreq-core: adding CPU 1\n cpufreq-core: initialization failed\n\nwhich then blew up. The fix is to make cpu_is_offline() always\nthe negation of cpu_online(). With that fix applied the kernel\nboots up fine without crashing:\n\n Calling initcall 0xffffffff80cc0510: powernowk8_init+0x0/0x94()\n powernow-k8: Found 1 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ processors (1 cpu cores) (version 2.20.00)\n powernow-k8: BIOS error - no PSB or ACPI _PSS objects\n initcall 0xffffffff80cc0510: powernowk8_init+0x0/0x94() returned -19.\n initcall 0xffffffff80cc0510 ran for 19 msecs: powernowk8_init+0x0/0x94()\n Calling initcall 0xffffffff80cc328f: init_lapic_nmi_sysfs+0x0/0x39()\n\nWe could fix this by making CPU enumeration aware of max_cpus, but that\nwould be more fragile IMO, and the cpu_online(cpu) !\u003d cpu_is_offline(cpu)\npossibility was quite confusing and a continuous source of bugs too.\n\nMost distributions have kernels with CPU hotplug enabled, so this bug\nremained hidden for a long time.\n\nBug forensics:\n\nThe broken cpu_is_offline() API variant was introduced via:\n\n commit a59d2e4e6977e7b94e003c96a41f07e96cddc340\n Author: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n Date:   Mon Mar 8 06:06:03 2004 -0800\n\n     [PATCH] minor cleanups for hotplug CPUs\n\n( this predates linux-2.6.git, this commit is available from Thomas\u0027s\n  historic git tree. )\n\nThen 1.5 years later the cpufreq code made use of it:\n\n commit c32b6b8e524d2c337767d312814484d9289550cf\n Author: Ashok Raj \u003cashok.raj@intel.com\u003e\n Date:   Sun Oct 30 14:59:54 2005 -0800\n\n     [PATCH] create and destroy cpufreq sysfs entries based on cpu notifiers\n\n +       if (cpu_is_offline(cpu))\n +               return 0;\n\nwhich is a correct use of the subtly broken new API. v2.6.15 then\nshipped with this bug included.\n\nthen it took two more years for random-kernel qa to hit it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "831830b5a2b5d413407adf380ef62fe17d6fcbf2",
      "tree": "b08f54f15374b5b98b0b3bea20a1d2ea8d1f50e0",
      "parents": [
        "ac40532ef0b8649e6f7f83859ea0de1c4ed08a19"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Wed Jan 02 14:09:57 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 02 13:13:27 2008 -0800"
      },
      "message": "restrict reading from /proc/\u003cpid\u003e/maps to those who share -\u003emm or can ptrace pid\n\nContents of /proc/*/maps is sensitive and may become sensitive after\nopen() (e.g.  if target originally shares our -\u003emm and later does exec\non suid-root binary).\n\nCheck at read() (actually, -\u003estart() of iterator) time that mm_struct\nwe\u0027d grabbed and locked is\n - still the -\u003emm of target\n - equal to reader\u0027s -\u003emm or the target is ptracable by reader.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "158a962422e4a54dc256b6a9b9562f3d30d34d9c"
}
