)]}'
{
  "log": [
    {
      "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": "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": "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"
    },
    {
      "commit": "158a962422e4a54dc256b6a9b9562f3d30d34d9c",
      "tree": "21a71d7d671d12388f4b085e31b0258d1047f125",
      "parents": [
        "6b6adc22a01941165d5af9a3e69e28e948b28f47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 02 13:04:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 02 13:04:48 2008 -0800"
      },
      "message": "Unify /proc/slabinfo configuration\n\nBoth SLUB and SLAB really did almost exactly the same thing for\n/proc/slabinfo setup, using duplicate code and per-allocator #ifdef\u0027s.\n\nThis just creates a common CONFIG_SLABINFO that is enabled by both SLUB\nand SLAB, and shares all the setup code.  Maybe SLOB will want this some\nday too.\n\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "57ed3eda977a215f054102b460ab0eb5d8d112e6",
      "tree": "aff1529df49c14df1f84d78fbae66a4a0bcfcdb8",
      "parents": [
        "476c6c11a9ee4610ff0e4941e3851729f7caf062"
      ],
      "author": {
        "name": "Pekka J Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue Jan 01 17:23:28 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jan 01 11:32:02 2008 -0800"
      },
      "message": "slub: provide /proc/slabinfo\n\nThis adds a read-only /proc/slabinfo file on SLUB, that makes slabtop work.\n\n[ mingo@elte.hu: build fix. ]\n\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c838197751db19d08a00e633e33dce23a69fb0c",
      "tree": "a7a6a4a59656cd52a9c814defbf34ea6b29774f3",
      "parents": [
        "c68cb23dde29fb107575656effa46f7b9440ac04"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Dec 27 23:55:13 2007 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Dec 27 23:55:13 2007 -0500"
      },
      "message": "increase PNP_MAX_PORT to 40 from 24\n\na7839e960675b549f06209d18283d5cee2ce9261\n(PNP: increase the maximum number of resources)\nincreased PNP_MAX_PORT to 24 from 8.\nIt also added a test and a complaint when a\nmachine exceeded the limit, causing:\n\npnpacpi: exceeded the max number of IO resources: 24\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9535\n\nWe should have been squawking about this all along,\nas this is a potentially serious issue.\n\nFor now, simply burn some dynamic bytes and\nincrease the limit by another 16 to 40.\nThere is no guarantee that this will satisfy\nevery system on Earth.  It probably will not,\nbut it should be an improvement.\n\nIn the future, PNPACPI should allocate resource\nstructures as needed, rather than max-sized arrays.\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "ecef969e5b376f98b142e22deb1cec2f23e4f5d6",
      "tree": "d414bbb2f0c8937705256e09ab162e2ae6f46f8c",
      "parents": [
        "75ec533ec3335913009c32de878d5ed7cbe0d41c"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Dec 25 17:23:59 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 26 19:36:35 2007 -0800"
      },
      "message": "[VETH]: move veth.h to include/linux\n\nMove veth.h from net/ to linux/ since it is a user api, and add it to\nuser header processing Kbuild.\n\n[ Use header-y as suggested by Sam Ravnborg.  -DaveM ]\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75ec533ec3335913009c32de878d5ed7cbe0d41c",
      "tree": "97df5c2fd8c237b11d025b91fc89506285e256ee",
      "parents": [
        "c6e991de4bd22dcdf9b9d9035e18b63b0bf2d198"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen.hemminger@vyatta.com",
        "time": "Mon Dec 24 21:59:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 26 19:36:35 2007 -0800"
      },
      "message": "[NET] tc_nat: header install\n\niproute2 build needs tc_nat.h header from kernel make install_headers.\n\nSigned-off-by: Stephen Hemminger \u003cstephen.hemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed367fc3a7349b17354c7acef551533337764859",
      "tree": "90f795da9aa2165be7cffd776822712e5fc4ad56",
      "parents": [
        "5b825ed22b02691e39774e8b2a077d1807969ec7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Dec 22 14:03:23 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Dec 23 12:54:36 2007 -0800"
      },
      "message": "quicklists: do not release off node pages early\n\nquicklists must keep even off node pages on the quicklists until the TLB\nflush has been completed.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91212507f93778c09d4c1335207b6f4b995f5ad1",
      "tree": "651bc8678413d7d6d6879214264f4bb7f9fb089d",
      "parents": [
        "69267a30bed1fabec658058c63845528a8b813d4"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Thu Dec 13 14:16:04 2007 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 20 17:32:12 2007 +0000"
      },
      "message": "dm: merge max_hw_sector\n\nMake sure dm honours max_hw_sectors of underlying devices\n\n  We still have no firm testing evidence in support of this patch but\n  believe it may help to resolve some bug reports.  - agk\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "3e3b3916a9c5c28a16528585478de19fea59816b",
      "tree": "f7da78c1044840e62008ac7b5512b40713c342bc",
      "parents": [
        "51dad801e271f3754a728e5b9a2ef974576490cc",
        "4aae07025265151e3f7041dfbf0f529e122de1d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Dec 18 09:42:44 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Dec 18 09:42:44 2007 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:\n  x86: fix \"Kernel panic - not syncing: IO-APIC + timer doesn\u0027t work!\"\n  genirq: revert lazy irq disable for simple irqs\n  x86: also define AT_VECTOR_SIZE_ARCH\n  x86: kprobes bugfix\n  x86: jprobe bugfix\n  timer: kernel/timer.c section fixes\n  genirq: add unlocked version of set_irq_handler()\n  clockevents: fix reprogramming decision in oneshot broadcast\n  oprofile: op_model_athlon.c support for AMD family 10h barcelona performance counters\n"
    },
    {
      "commit": "b019e57321f3e006c0ec7a54f13efc377bcb6451",
      "tree": "9ed37924d702981a04f86db0300d9c3aff709ca9",
      "parents": [
        "cdc6f27d9e3c2f7ca1a3e19c6eabb1ad6a2add5d"
      ],
      "author": {
        "name": "Kevin Hilman",
        "email": "khilman@mvista.com",
        "time": "Tue Dec 18 18:05:58 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 18 18:05:58 2007 +0100"
      },
      "message": "genirq: add unlocked version of set_irq_handler()\n\nAdd unlocked version for use by irq_chip.set_type handlers which may\nwish to change handler to level or edge handler when IRQ type is\nchanged.\n\nThe normal set_irq_handler() call cannot be used because it tries to\ntake irq_desc.lock which is already held when the irq_chip.set_type\nhook is called.\n\nSigned-off-by: Kevin Hilman \u003ckhilman@mvista.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3c615e19a4c518e349cc81a7f43223c7ec5f9e9a",
      "tree": "45326cb0f8b8b67d2e8123151e5c8c34d28b1587",
      "parents": [
        "57680915a6f2324c008b6213fe12b74507b3fcd0",
        "458cf5e9b666c251b04cb5242fb19fd5114645ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Dec 18 08:04:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Dec 18 08:04:24 2007 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Cleanup umem driver: fix most checkpatch warnings, conform to kernel\n  block: let elv_register() return void\n  as-iosched: fix write batch start point\n  as-iosched: fix incorrect comments\n  block: use jiffies conversion functions in scsi_ioctl.c\n"
    },
    {
      "commit": "d55653377df36f8c04a966f3420335f1a0eb4d83",
      "tree": "a986fbd0e8310b1fec44886001f8aeecce32f42a",
      "parents": [
        "c63a1190368771b8207d86c4217ae4afdf1cbd5e",
        "cc3000e4ef13fa9f388f5a37f11c0fa3cc68112b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Dec 18 08:03:01 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Dec 18 08:03:01 2007 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:\n  mmc: remove unused \u0027mode\u0027 from the mmc_host structure\n  sdhci: support JMicron JMB38x chips\n  sdhci: use PIO when DMA can\u0027t satisfy the request\n  sdhci: don\u0027t warn about sdhci 2.0 controllers\n  sdhci: describe quirks\n"
    },
    {
      "commit": "2fdd82bd8852ec8ebad5c69c45138da25c6f9273",
      "tree": "ff701ec0a8909fa50b79763a49a4eaada5aa759e",
      "parents": [
        "49565124b13bb16607e7f8fc8fb1d9c5c355a1a3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Dec 12 18:51:56 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Dec 18 08:29:28 2007 +0100"
      },
      "message": "block: let elv_register() return void\n\nelv_register() always returns 0, and there isn\u0027t anything it does where\nit should return an error (the only error condition is so grave that\nit\u0027s handled with a BUG_ON).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ededa4d396b15c282aa60d6aacddfc07f0142dbf",
      "tree": "dc8af166ac6f7332e5a885675dec222a0494de41",
      "parents": [
        "64396accc2831fcbdc7d793edc25481a5ebc75b2",
        "140b5e59119a172a91b5fa13d54ca4f79bbefee1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:29:32 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:29:32 2007 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  libata: fix ATAPI draining\n  libata: update atapi_eh_request_sense() such that lbam/lbah contains buffer size\n  libata-acpi: implement _GTF command filtering\n  libata-acpi: improve _GTF execution error handling and reporting\n  libata-acpi: improve ACPI disabling\n  libata-acpi: implement dev-\u003egtf_cache and evaluate _GTF right after _STM during resume\n  libata-acpi: implement and use ata_acpi_init_gtm()\n  libata-acpi: add new hooks ata_acpi_dissociate() and ata_acpi_on_disable()\n  libata: ata_dev_disable() should be called from EH context\n  libata: add more opcodes to ata.h\n  libata: update ata_*_printk() macros such that level can be a variable\n  libata-acpi: adjust constness in ata_acpi_gtm/stm() parameters\n  sata_mv: improve warnings about Highpoint RocketRAID 23xx cards\n  libata: add ST3160023AS / 3.42 to NCQ blacklist\n  libata: clear link-\u003eeh_info.serror from ata_std_postreset()\n  sata_sil: fix spurious IRQ handling\n"
    },
    {
      "commit": "368d2c6358c3c62b3820a8a73f9fe9c8b540cdea",
      "tree": "43c9c0958897de5ecedf26c3ba8433dd252d24f7",
      "parents": [
        "d1c3fb1f8f29c41b0d098d7cfb3c32939043631f"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Mon Dec 17 16:20:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:28:17 2007 -0800"
      },
      "message": "Revert \"hugetlb: Add hugetlb_dynamic_pool sysctl\"\n\nThis reverts commit 54f9f80d6543fb7b157d3b11e2e7911dc1379790 (\"hugetlb:\nAdd hugetlb_dynamic_pool sysctl\")\n\nGiven the new sysctl nr_overcommit_hugepages, the boolean dynamic pool\nsysctl is not needed, as its semantics can be expressed by 0 in the\novercommit sysctl (no dynamic pool) and non-0 in the overcommit sysctl\n(pool enabled).\n\n(Needed in 2.6.24 since it reverts a post-2.6.23 userspace-visible change)\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1c3fb1f8f29c41b0d098d7cfb3c32939043631f",
      "tree": "b91983662da7ec4c28ac0788e835c2d51eea20e1",
      "parents": [
        "7a3f595cc8298df14a7c71b0d876bafd8e9e1cbf"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Mon Dec 17 16:20:12 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:28:17 2007 -0800"
      },
      "message": "hugetlb: introduce nr_overcommit_hugepages sysctl\n\nhugetlb: introduce nr_overcommit_hugepages sysctl\n\nWhile examining the code to support /proc/sys/vm/hugetlb_dynamic_pool, I\nbecame convinced that having a boolean sysctl was insufficient:\n\n1) To support per-node control of hugepages, I have previously submitted\npatches to add a sysfs attribute related to nr_hugepages. However, with\na boolean global value and per-mount quota enforcement constraining the\ndynamic pool, adding corresponding control of the dynamic pool on a\nper-node basis seems inconsistent to me.\n\n2) Administration of the hugetlb dynamic pool with multiple hugetlbfs\nmount points is, arguably, more arduous than it needs to be. Each quota\nwould need to be set separately, and the sum would need to be monitored.\n\nTo ease the administration, and to help make the way for per-node\ncontrol of the static \u0026 dynamic hugepage pool, I added a separate\nsysctl, nr_overcommit_hugepages. This value serves as a high watermark\nfor the overall hugepage pool, while nr_hugepages serves as a low\nwatermark. The boolean sysctl can then be removed, as the condition\n\n\tnr_overcommit_hugepages \u003e 0\n\nindicates the same administrative setting as\n\n\thugetlb_dynamic_pool \u003d\u003d 1\n\nQuotas still serve as local enforcement of the size of the pool on a\nper-mount basis.\n\nA few caveats:\n\n1) There is a race whereby the global surplus huge page counter is\nincremented before a hugepage has allocated. Another process could then\ntry grow the pool, and fail to convert a surplus huge page to a normal\nhuge page and instead allocate a fresh huge page. I believe this is\nbenign, as no memory is leaked (the actual pages are still tracked\ncorrectly) and the counters won\u0027t go out of sync.\n\n2) Shrinking the static pool while a surplus is in effect will allow the\nnumber of surplus huge pages to exceed the overcommit value. As long as\nthis condition holds, however, no more surplus huge pages will be\nallowed on the system until one of the two sysctls are increased\nsufficiently, or the surplus huge pages go out of use and are freed.\n\nSuccessfully tested on x86_64 with the current libhugetlbfs snapshot,\nmodified to use the new sysctl.\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d936626dd00bd47cf574add458fea8a23b79611",
      "tree": "4d2f13a1629b51edc6c75a1ee537b5467491cb5e",
      "parents": [
        "a33234735b2bcfb23cf1facb1f0d8656b8edab8f"
      ],
      "author": {
        "name": "Adam Jackson",
        "email": "ajax@redhat.com",
        "time": "Mon Dec 17 16:20:04 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:28:16 2007 -0800"
      },
      "message": "apm_event{,info}_t are userspace types\n\nThese types define the size of data read from /dev/apm_bios.  They should\nnot be hidden behind #ifdef __KERNEL__.\n\nThis is killing my xserver compile, apm_event_t is used in the xserver\nsource.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "755271358cc401eb3db0db52b2c8fb8d71ae4d8f",
      "tree": "b0f36643e7ffd1a165898431c4f2d76507e894e6",
      "parents": [
        "2cc3a8f6ac0fb1e6095a47001d31aadcf9722bde"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Dec 17 16:19:44 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:28:15 2007 -0800"
      },
      "message": "fix headers_install\n\nmake[3]: *** No rule to make target `/usr/src/devel/include/linux/ticable.h\u0027, needed by `/usr/src/devel/usr/include/linux/ticable.h\u0027.  Stop.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "140b5e59119a172a91b5fa13d54ca4f79bbefee1",
      "tree": "ebc04fbd143756d7ef80e870cd9ae214d2607047",
      "parents": [
        "f2dfc1a12bb1a029df62b018a8e1882e91041025"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Dec 12 12:21:52 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Dec 17 20:43:28 2007 -0500"
      },
      "message": "libata: fix ATAPI draining\n\nWith ATAPI transfer chunk size properly programmed, libata PIO HSM\nshould be able to handle full spurious data chunks.  Also, it\u0027s a good\nidea to suppress trailing data warning for misc ATAPI commands as\nthere can be many of them per command - for example, if the chunk size\nis 16 and the drive tries to transfer 510 bytes, there can be 31\ntrailing data messages.\n\nThis patch makes the following updates to libata ATAPI PIO HSM\nimplementation.\n\n* Make it drain full spurious chunks.\n\n* Suppress trailing data warning message for misc commands.\n\n* Put limit on how many bytes can be drained.\n\n* If odd, round up consumed bytes and the number of bytes to be\n  drained.  This gets the number of bytes to drain right for drivers\n  which do 16bit PIO.\n\nThis patch is partial backport of improve-ATAPI-data-xfer patchset\npending for #upstream.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "398e07826b24cbeb5ff2f0a178367fc9d24cd475",
      "tree": "78191583f2e1e5bb0aba9fbee8016e72285f4b31",
      "parents": [
        "c05e6ff035c1b25d17364a685432b33937d3dc23"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Dec 15 15:05:03 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Dec 17 20:33:14 2007 -0500"
      },
      "message": "libata-acpi: implement dev-\u003egtf_cache and evaluate _GTF right after _STM during resume\n\nOn certain implementations, _GTF evaluation depends on preceding _STM\nand both can be pretty picky about the configuration.  Using _GTM\nresult cached during controller initialization satisfies the most\nneurotic _STM implementation.  However, libata evaluates _GTF after\nreset during device configuration and the hardware state can be\ndifferent from what _GTF expects and can cause evaluation failure.\n\nThis patch adds dev-\u003egtf_cache and updates ata_dev_get_GTF() such that\nit uses the cached value if available.  Cache is cleared with a call\nto ata_acpi_clear_gtf().\n\nBecause for SATA ACPI nodes _GTF must be evaluated after _SDD which\ncan\u0027t be done till IDENTIFY is complete, _GTF caching from\nata_acpi_on_resume() is used only for IDE ACPI nodes.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c05e6ff035c1b25d17364a685432b33937d3dc23",
      "tree": "08c9171d024b6659b29a4f9f7d95318430b75b6a",
      "parents": [
        "562f0c2d771ee7be6b37fe015f94a929f8056120"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Dec 15 15:05:02 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Dec 17 20:33:14 2007 -0500"
      },
      "message": "libata-acpi: implement and use ata_acpi_init_gtm()\n\n_GTM fetches currently configured transfer mode while _STM configures\ncontroller according to _GTM parameter and prepares transfer mode\nconfiguration TFs for _GTF.  In many cases _GTM and _STM\nimplementations are quite brittle and can\u0027t cope with configuration\nchanged by libata.\n\nlibata does not depend on ATA ACPI to configure devices.  The only\nreason libata performs _GTM and _STM are to make _GTF evaluation\nsucceed and libata also doesn\u0027t care about how _GTF TFs configure\ntransfer mode.  It overrides that configuration anyway, so from\nlibata\u0027s POV, it doesn\u0027t matter what value is feeded to _STM as long\nas evaluation succeeds for _STM and following _GTF.\n\nThis patch adds dev-\u003e__acpi_init_gtm and store initial _GTM values on\nhost initialization before modified by reset and mode configuration.\nIf the field is valid, ata_acpi_init_gtm() returns pointer to the\nsaved _GTM structure; otherwise, NULL.\n\nThis saved value is used for _STM during resume and peek at\nBIOS/firmware programmed initial timing for later use.  The accessor\nis there to make building w/o ACPI easy as dev-\u003e__acpi_init doesn\u0027t\nexist if ACPI is not enabled.\n\nOn driver detach, the initial BIOS configuration is restored by\nexecuting _STM with the initial _GTM values such that the next driver\ncan also use the initial BIOS configured values.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ce2e0abbd31b047ac7be740d28ef710f5bbdb105",
      "tree": "d7dbdc8b603f8d90bbad5876225970d91c65f01d",
      "parents": [
        "c2e366a107e511ad00c2181c52e4150fc086ec0f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Dec 15 15:04:59 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Dec 17 20:33:12 2007 -0500"
      },
      "message": "libata: add more opcodes to ata.h\n\nAdd constants for DEVICE CONFIGURATION OVERLAY and SET_MAX to\ninclude/linux/ata.h.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c2e366a107e511ad00c2181c52e4150fc086ec0f",
      "tree": "1697b064e0e4c08680fa47daec8b7618ceb425f5",
      "parents": [
        "0d02f0b22b678b9d6c8ac8cad7b4cfbbdf6fab18"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Dec 15 15:04:58 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Dec 17 20:33:12 2007 -0500"
      },
      "message": "libata: update ata_*_printk() macros such that level can be a variable\n\nMake prink helpers format @lv together rather than prepending to the\nformat string as constant.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "0d02f0b22b678b9d6c8ac8cad7b4cfbbdf6fab18",
      "tree": "27b5f5afcff7450f37432f30661e56337313c5e9",
      "parents": [
        "4e5200334e03e5620aa19d538300c13db270a063"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Dec 15 15:04:57 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Dec 17 20:33:12 2007 -0500"
      },
      "message": "libata-acpi: adjust constness in ata_acpi_gtm/stm() parameters\n\n* No internal function uses const ata_port.  Drop const from @ap.\n\n* Make ata_acpi_stm() copy @stm before using it and change @stm to\n  const.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "87d5df6bde5764f1f6c18fe32f80e83f5010fa8c",
      "tree": "d3c861aba3777e032d70508a1133acc76031098c",
      "parents": [
        "4942093e9d3b1ebdb27f43b8f3e483981e85107e",
        "ba3882a9178585289614c16a3b3f9b5f321d27b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 13:33:47 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 13:33:47 2007 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:\n  HOWTO: update misspelling and word incorrected\n  add stable_api_nonsense.txt in korean\n  HOWTO: change addresses of maintainer and lxr url for Korean HOWTO\n  Add Documentation for FAIR_USER_SCHED sysfs files\n  HOWTO: Change man-page maintainer address for Japanese HOWTO\n  tipar: remove obsolete module\n  kobject: fix the documentation of how kobject_set_name works\n"
    },
    {
      "commit": "4942093e9d3b1ebdb27f43b8f3e483981e85107e",
      "tree": "978da94cf8b8c368192c48859e31fbd000e8a1a4",
      "parents": [
        "07232b971577442de0821afa0abafb6531b6192e",
        "e70e7690b66dc06fe2ad9058e696e18fe7f3faa6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 13:33:30 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 13:33:30 2007 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:\n  USB: revert portions of \"UNUSUAL_DEV: Sync up some reported devices from Ubuntu\"\n  usb: Remove broken optimisation in OHCI IRQ handler\n  USB: at91_udc: correct hanging while disconnecting usb cable\n  USB: use IRQF_DISABLED for HCD interrupt handlers\n  USB: fix locking loop by avoiding flush_scheduled_work\n  usb.h: fix kernel-doc warning\n  USB: option: Bind to the correct interface of the Huawei E220\n  USB: cp2101: new device id\n  usb-storage: Fix devices that cannot handle 32k transfers\n  USB: sierra: fix product id\n"
    },
    {
      "commit": "07232b971577442de0821afa0abafb6531b6192e",
      "tree": "78c3558239eaebc65df72b40a6a2c6ddc3a02998",
      "parents": [
        "ea9e7b5569a538123dc4d60ba36b9170ca8e8830",
        "644a9d764b4747af057b3db73ccba28a168b1f4f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 13:32:49 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 13:32:49 2007 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:\n  ide: fix -\u003eio_32bit race in set_io_32bit()\n  ide: remove stale changelog from ide-probe.c\n  ide: remove stale changelog from ide-disk.c\n  ide: remove dead code from __ide_dma_test_irq()\n  hpt366: fix HPT37x PIO mode timings (take 2)\n  pdc202xx_new: fix Promise TX4 support\n  ide-cd: remove dead post_transform_command()\n  ide: DMA reporting and validity checking fixes (take 3)\n  ide: add /sys/bus/ide/devices/*/{model,firmware,serial} sysfs entries\n  ide: coding style fixes for drivers/ide/setup-pci.c\n  ide: fix ide_scan_pcibus() error message\n  ide: deprecate CONFIG_BLK_DEV_OFFBOARD\n  ide: add missing checks for control register existence\n  ide-scsi: add ide_scsi_hex_dump() helper\n"
    },
    {
      "commit": "f88ed90d8627d0d3d93b330d6d2012c2934fb54e",
      "tree": "d895fd416c9363ccafcb096f801627e3c2eb7713",
      "parents": [
        "b5ce18afecda8ce1a9ed5fb8ec6362df6f6f85b8"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Dec 03 14:14:16 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 10:47:15 2007 -0800"
      },
      "message": "usb.h: fix kernel-doc warning\n\nFix kernel-doc warning in usb.h:\nWarning(linux-2.6.24-rc3-git7//include/linux/usb.h:166): No description found for parameter \u0027sysfs_files_created\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "33abc04f0420dceed0ebc2d1094019d3bb2b5c29",
      "tree": "87d8e2c7cf41d6afed4d75c2e3ef113b506541ab",
      "parents": [
        "b9e13ac30f850313be9232497ff98e90c43bc6b6"
      ],
      "author": {
        "name": "Doug Maxey",
        "email": "dwm@enoyolf.org",
        "time": "Wed Dec 05 23:36:45 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 10:47:14 2007 -0800"
      },
      "message": "usb-storage: Fix devices that cannot handle 32k transfers\n\nWhen a device cannot handle the smallest previously limited transfer\nsize (64 blocks) without stalling, limit the device to the amount of\npackets that fit in a platform native page.\n\nThe lowest possible limit is PAGE_CACHE_SIZE, so if the device is ever\nused on a platform that has larger than 8K pages, you lose unless you\ncan convince the device firmware folks to fix the issue.\n\nCc: Mathew Dharm \u003cmdharm-scsi@one-eyed-alien.net\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nSigned-off-by: Doug Maxey \u003cdwm@austin.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cb8c9b6de076d981ca22801dbd6bce12b0758468",
      "tree": "d32ba0cf69b062bf363bdc46f15c6be9afb7efd4",
      "parents": [
        "8c4606b1a4f6eb09344294b7f11641f36cd402af"
      ],
      "author": {
        "name": "Romain Liévin",
        "email": "lkml@lievin.net",
        "time": "Sat Dec 01 08:51:58 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 10:33:18 2007 -0800"
      },
      "message": "tipar: remove obsolete module\n\ntipar: remove obsolete module\n\nThe tipar character driver was used to implement bit-banging access\nto Texas Instruments parallel link cable. A user-land method now \nexists thru PPDEV \u0026 PARPORT.\n\nSigned-off-by: Romain Liévin \u003croms@lpg.ticalc.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4a9ecd5960e6a7814f6e3405807d49010ffe3a88",
      "tree": "974917ceecf5b554dc28421ebff060efc6ef2fa8",
      "parents": [
        "6f229d76b4c4a7fae601ea9398b23c2b426ab3b9"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Dec 13 09:32:04 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Dec 14 13:54:39 2007 -0800"
      },
      "message": "[NETFILTER]: bridge: fix missing link layer headers on outgoing routed packets\n\nAs reported by Damien Thebault, the double POSTROUTING hook invocation\nfix caused outgoing packets routed between two bridges to appear without\na link-layer header. The reason for this is that we\u0027re skipping the\nbr_nf_post_routing hook for routed packets now and don\u0027t save the\noriginal link layer header, but nevertheless tries to restore it on\noutput, causing corruption.\n\nThe root cause for this is that skb-\u003enf_bridge has no clearly defined\nlifetime and is used to indicate all kind of things, but that is\nquite complicated to fix. For now simply don\u0027t touch these packets\nand handle them like packets from any other device.\n\nTested-by: Damien Thebault \u003cdamien.thebault@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ab7efe8e2cbcca2d401b43cfcc2fa9a7dac2299",
      "tree": "7ddbb4d5fdae6f61d23ef0ba2a43aaca23bd2195",
      "parents": [
        "e11b9035a47da66fcd4bafd3a5f6b14f51ca667e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Dec 12 23:31:58 2007 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Dec 12 23:31:58 2007 +0100"
      },
      "message": "ide: DMA reporting and validity checking fixes (take 3)\n\n* ide_xfer_verbose() fixups:\n  - beautify returned mode names\n  - fix PIO5 reporting\n  - make it return \u0027const char *\u0027\n\n* Change printk() level from KERN_DEBUG to KERN_INFO in ide_find_dma_mode().\n\n* Add ide_id_dma_bug() helper based on ide_dma_verbose() to check for invalid\n  DMA info in identify block.\n\n* Use ide_id_dma_bug() in ide_tune_dma() and ide_driveid_update().\n\n  As a result DMA won\u0027t be tuned or will be disabled after tuning if device\n  reports inconsistent info about enabled DMA mode (ide_dma_verbose() does the\n  same checks while the IDE device is probed by ide-{cd,disk} device driver).\n\n* Remove no longer needed ide_dma_verbose().\n\nThis patch should fix the following problem with out-of-sync IDE messages\nreported by Nick Warne:\n\n       hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache\u003c7\u003ehdd:\n       skipping word 93 validity check\n        , UDMA(66)\n\nand later debugged by Mark Lord to be caused by:\n\n        ide_dma_verbose()\n                printk( ... \"2048kB Cache\");\n        eighty_ninty_three()\n                printk(KERN_DEBUG \"%s: skipping word 93 validity check\\n\");\n        ide_dma_verbose()\n                printk(\", UDMA(66)\"\n\nPlease note that as a result ide-{cd,disk} device drivers won\u0027t report the\nDMA speed used but this is intended since now DMA mode being used is always\nreported by IDE core code.\n\nv2:\n* fixes suggested by Randy:\n  - use KERN_CONT for printk()-s in ide-{cd,disk}.c\n  - don\u0027t remove argument name from ide_xfer_verbose() declaration\n\nv3:\n* Remove incorrect check for (id-\u003efield_valid \u0026 1) from ide_id_dma_bug()\n  (spotted by Sergei).\n\n* \"XFER SLOW\" -\u003e \"PIO SLOW\" in ide_xfer_verbose() (suggested by Sergei).\n\n* Fix ide_find_dma_mode() to report the correct mode (\u0027mode\u0027 after being\n  limited by \u0027req_mode\u0027).\n\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Nick Warne \u003cnick@ukfsn.org\u003e\nCc: Mark Lord \u003clkml@rtr.ca\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "cc3000e4ef13fa9f388f5a37f11c0fa3cc68112b",
      "tree": "298248ac9a8dc06e00c1799a3b1f04e0d01e8565",
      "parents": [
        "84c46a53fc4ea4ff36df783a20187b2f65dd21cc"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@cam.org",
        "time": "Thu Dec 06 23:12:46 2007 -0500"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Dec 12 20:01:01 2007 +0100"
      },
      "message": "mmc: remove unused \u0027mode\u0027 from the mmc_host structure\n\nThis field and corresponding defines are simply never used anywhere\nin the code.  But its mere presence is enough to confuse some host\ndriver authors who attempt to rely on it.  Let\u0027s eliminate the\npossibility for confusion and remove it entirely.\n\nSigned-off-by: Nicolas Pitre \u003cnico@cam.org\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "84c46a53fc4ea4ff36df783a20187b2f65dd21cc",
      "tree": "cfd19b5b6afb71526512fe2241140d0057dd701e",
      "parents": [
        "c9fddbc4f844f5a16b5957c61fe2cfcb5c12f990"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Dec 02 19:58:16 2007 +0100"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Dec 12 20:01:00 2007 +0100"
      },
      "message": "sdhci: support JMicron JMB38x chips\n\nThe JMicron JMB38x chip doesn\u0027t support transfers that aren\u0027t 32-bit\naligned (both size and start address). It also doesn\u0027t like switching\nbetween PIO and DMA mode, so it needs to be reset after each request.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "6f6652be183c8c7cb99c646dd7494ab45e4833ba",
      "tree": "8ab3acaa0f7887aad46d0a1dd10f800312d657fa",
      "parents": [
        "b63bb739a1d24f395c09f88ff43c54c736a60453"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Thu Dec 06 23:40:34 2007 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Dec 07 15:00:32 2007 -0500"
      },
      "message": "bonding: Add new layer2+3 hash for xor/802.3ad modes\n\n \tAdd new hash for balance-xor and 802.3ad modes.  Originally\n submitted by \"Glenn Griffin\" \u003cggriffin.kernel@gmail.com\u003e; modified by\n Jay Vosburgh to move setting of hash policy out of line, tweak the\n documentation update and add version update to 3.2.2.\n\n\tGlenn\u0027s original comment follows:\n\nIncluded is a patch for a new xmit_hash_policy for the bonding driver\nthat selects slaves based on MAC and IP information.  This is a middle\nground between what currently exists in the layer2 only policy and the\nlayer3+4 policy.  This policy strives to be fully 802.3ad compliant by\ntransmitting every packet of any particular flow over the same link.\nAs documented the layer3+4 policy is not fully compliant for extreme\ncases such as ip fragmentation, so this policy is a nice compromise\nfor environments that require full compliance but desire more than the\nlayer2 only policy.\n\nSigned-off-by: \"Glenn Griffin\" \u003cggriffin.kernel@gmail.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "dc47206e552c0850ad11f7e9a1fca0a3c92f5d65",
      "tree": "01188f5ca89d295009a618e1be6c5cea2926a522",
      "parents": [
        "f194d132e4971111f85c18c96067acffb13cee6d"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Sat Nov 10 13:29:04 2007 +0000"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Dec 07 09:06:53 2007 +0000"
      },
      "message": "leds: Fix led trigger locking bugs\n\nConvert part of the led trigger core from rw spinlocks to rw\nsemaphores. We\u0027re calling functions which can sleep from invalid\ncontexts otherwise. Fixes bug #9264.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\n"
    },
    {
      "commit": "7e1fb765c613298d861f80fa18af26df87a4ec19",
      "tree": "2c6d499decaf469bcc79a4873557146ead3bef9c",
      "parents": [
        "ad658cec232771b11e95bb5f0d639d48f898a1f2",
        "cde898fa80a45bb23eab2a060fc79d0913081409"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:27:46 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:27:46 2007 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:\n  futex: correctly return -EFAULT not -EINVAL\n  lockdep: in_range() fix\n  lockdep: fix debug_show_all_locks()\n  sched: style cleanups\n  futex: fix for futex_wait signal stack corruption\n"
    },
    {
      "commit": "ad658cec232771b11e95bb5f0d639d48f898a1f2",
      "tree": "7ef4ed87cbba8d8395f67c21af5c167d5de0293a",
      "parents": [
        "2a1292b36ba106b9b7f030d3fa130f5f634fd8f0",
        "5a211a5deabcafdc764817d5b4510c767d317ddc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:26:52 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:26:52 2007 -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  VM/Security: add security hook to do_brk\n  Security: round mmap hint address above mmap_min_addr\n  security: protect from stack expantion into low vm addresses\n  Security: allow capable check to permit mmap or low vm space\n  SELinux: detect dead booleans\n  SELinux: do not clear f_op when removing entries\n"
    },
    {
      "commit": "2a1292b36ba106b9b7f030d3fa130f5f634fd8f0",
      "tree": "12547c03b949e9cfa64c9760be9a73f18bb7a81a",
      "parents": [
        "2cfae2739bda8fc5d934977c0ab19f6df1dd6d6c",
        "621544eb8c3beaa859c75850f816dd9b056a00a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:26:13 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:26:13 2007 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  [LRO]: fix lro_gen_skb() alignment\n  [TCP]: NAGLE_PUSH seems to be a wrong way around\n  [TCP]: Move prior_in_flight collect to more robust place\n  [TCP] FRTO: Use of existing funcs make code more obvious \u0026 robust\n  [IRDA]: Move ircomm_tty_line_info() under #ifdef CONFIG_PROC_FS\n  [ROSE]: Trivial compilation CONFIG_INET\u003dn case\n  [IPVS]: Fix sched registration race when checking for name collision.\n  [IPVS]: Don\u0027t leak sysctl tables if the scheduler registration fails.\n"
    },
    {
      "commit": "5a622f2d0f86b316b07b55a4866ecb5518dd1cf7",
      "tree": "f89bb875b5b440dced320336db6cac24b9e4d8b7",
      "parents": [
        "d4beaf4ab5f89496f2bcf67db62ad95d99bfeff6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Dec 04 23:45:28 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "proc: fix proc_dir_entry refcounting\n\nCreating PDEs with refcount 0 and \"deleted\" flag has problems (see below).\nSwitch to usual scheme:\n* PDE is created with refcount 1\n* every de_get does +1\n* every de_put() and remove_proc_entry() do -1\n* once refcount reaches 0, PDE is freed.\n\nThis elegantly fixes at least two following races (both observed) without\nintroducing new locks, without abusing old locks, without spreading\nlock_kernel():\n\n1) PDE leak\n\nremove_proc_entry\t\t\tde_put\n-----------------\t\t\t------\n\t\t\t[refcnt \u003d 1]\nif (atomic_read(\u0026de-\u003ecount) \u003d\u003d 0)\n\t\t\t\t\tif (atomic_dec_and_test(\u0026de-\u003ecount))\n\t\t\t\t\t\tif (de-\u003edeleted)\n\t\t\t\t\t\t\t/* also not taken! */\n\t\t\t\t\t\t\tfree_proc_entry(de);\nelse\n\tde-\u003edeleted \u003d 1;\n\t\t[refcount\u003d0, deleted\u003d1]\n\n2) use after free\n\nremove_proc_entry\t\t\tde_put\n-----------------\t\t\t------\n\t\t\t[refcnt \u003d 1]\n\n\t\t\t\t\tif (atomic_dec_and_test(\u0026de-\u003ecount))\nif (atomic_read(\u0026de-\u003ecount) \u003d\u003d 0)\n\tfree_proc_entry(de);\n\t\t\t\t\t\t/* boom! */\n\t\t\t\t\t\tif (de-\u003edeleted)\n\t\t\t\t\t\t\tfree_proc_entry(de);\n\nBUG: unable to handle kernel paging request at virtual address 6b6b6b6b\nprinting eip: c10acdda *pdpt \u003d 00000000338f8001 *pde \u003d 0000000000000000\nOops: 0000 [#1] PREEMPT SMP\nModules linked in: af_packet ipv6 cpufreq_ondemand loop serio_raw psmouse k8temp hwmon sr_mod cdrom\nPid: 23161, comm: cat Not tainted (2.6.24-rc2-8c0863403f109a43d7000b4646da4818220d501f #4)\nEIP: 0060:[\u003cc10acdda\u003e] EFLAGS: 00210097 CPU: 1\nEIP is at strnlen+0x6/0x18\nEAX: 6b6b6b6b EBX: 6b6b6b6b ECX: 6b6b6b6b EDX: fffffffe\nESI: c128fa3b EDI: f380bf34 EBP: ffffffff ESP: f380be44\n DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\nProcess cat (pid: 23161, ti\u003df380b000 task\u003df38f2570 task.ti\u003df380b000)\nStack: c10ac4f0 00000278 c12ce000 f43cd2a8 00000163 00000000 7da86067 00000400\n       c128fa20 00896b18 f38325a8 c128fe20 ffffffff 00000000 c11f291e 00000400\n       f75be300 c128fa20 f769c9a0 c10ac779 f380bf34 f7bfee70 c1018e6b f380bf34\nCall Trace:\n [\u003cc10ac4f0\u003e] vsnprintf+0x2ad/0x49b\n [\u003cc10ac779\u003e] vscnprintf+0x14/0x1f\n [\u003cc1018e6b\u003e] vprintk+0xc5/0x2f9\n [\u003cc10379f1\u003e] handle_fasteoi_irq+0x0/0xab\n [\u003cc1004f44\u003e] do_IRQ+0x9f/0xb7\n [\u003cc117db3b\u003e] preempt_schedule_irq+0x3f/0x5b\n [\u003cc100264e\u003e] need_resched+0x1f/0x21\n [\u003cc10190ba\u003e] printk+0x1b/0x1f\n [\u003cc107c8ad\u003e] de_put+0x3d/0x50\n [\u003cc107c8f8\u003e] proc_delete_inode+0x38/0x41\n [\u003cc107c8c0\u003e] proc_delete_inode+0x0/0x41\n [\u003cc1066298\u003e] generic_delete_inode+0x5e/0xc6\n [\u003cc1065aa9\u003e] iput+0x60/0x62\n [\u003cc1063c8e\u003e] d_kill+0x2d/0x46\n [\u003cc1063fa9\u003e] dput+0xdc/0xe4\n [\u003cc10571a1\u003e] __fput+0xb0/0xcd\n [\u003cc1054e49\u003e] filp_close+0x48/0x4f\n [\u003cc1055ee9\u003e] sys_close+0x67/0xa5\n [\u003cc10026b6\u003e] sysenter_past_esp+0x5f/0x85\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nCode: c9 74 0c f2 ae 74 05 bf 01 00 00 00 4f 89 fa 5f 89 d0 c3 85 c9 57 89 c7 89 d0 74 05 f2 ae 75 01 4f 89 f8 5f c3 89 c1 89 c8 eb 06 \u003c80\u003e 38 00 74 07 40 4a 83 fa ff 75 f4 29 c8 c3 90 90 90 57 83 c9\nEIP: [\u003cc10acdda\u003e] strnlen+0x6/0x18 SS:ESP 0068:f380be44\n\nAlso, remove broken usage of -\u003edeleted from reiserfs: if sget() succeeds,\nmodule is already pinned and remove_proc_entry() can\u0027t happen \u003d\u003e nobody\ncan mark PDE deleted.\n\nDummy proc root in netns code is not marked with refcount 1. AFAICS, we\nnever get it, it\u0027s just for proper /proc/net removal. I double checked\nCLONE_NETNS continues to work.\n\nPatch survives many hours of modprobe/rmmod/cat loops without new bugs\nwhich can be attributed to refcounting.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d4beaf4ab5f89496f2bcf67db62ad95d99bfeff6",
      "tree": "ae6d005199017e9a0ade169fd69cb73d6c0ac88f",
      "parents": [
        "369b8f5a70402d9fe77006cd0044c8a3fcd08430"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Dec 04 23:45:27 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "jbd: Fix assertion failure in fs/jbd/checkpoint.c\n\nBefore we start committing a transaction, we call\n__journal_clean_checkpoint_list() to cleanup transaction\u0027s written-back\nbuffers.\n\nIf this call happens to remove all of them (and there were already some\nbuffers), __journal_remove_checkpoint() will decide to free the transaction\nbecause it isn\u0027t (yet) a committing transaction and soon we fail some\nassertion - the transaction really isn\u0027t ready to be freed :).\n\nWe change the check in __journal_remove_checkpoint() to free only a\ntransaction in T_FINISHED state.  The locking there is subtle though (as\neverywhere in JBD ;().  We use j_list_lock to protect the check and a\nsubsequent call to __journal_drop_transaction() and do the same in the end\nof journal_commit_transaction() which is the only place where a transaction\ncan get to T_FINISHED state.\n\nProbably I\u0027m too paranoid here and such locking is not really necessary -\ncheckpoint lists are processed only from log_do_checkpoint() where a\ntransaction must be already committed to be processed or from\n__journal_clean_checkpoint_list() where kjournald itself calls it and thus\ntransaction cannot change state either.  Better be safe if something\nchanges in future...\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce6bd420f43b28038a2c6e8fbb86ad24014727b6",
      "tree": "e35e86507e11c375c2668a0391f4cf66bb581783",
      "parents": [
        "e3c0ac04f980750a368f7cd5f1b8d1d2cdc1f735"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Dec 05 15:46:09 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 05 15:46:09 2007 +0100"
      },
      "message": "futex: fix for futex_wait signal stack corruption\n\nDavid Holmes found a bug in the -rt tree with respect to\npthread_cond_timedwait. After trying his test program on the latest git\nfrom mainline, I found the bug was there too.  The bug he was seeing\nthat his test program showed, was that if one were to do a \"Ctrl-Z\" on a\nprocess that was in the pthread_cond_timedwait, and then did a \"bg\" on\nthat process, it would return with a \"-ETIMEDOUT\" but early. That is,\nthe timer would go off early.\n\nLooking into this, I found the source of the problem. And it is a rather\nnasty bug at that.\n\nHere\u0027s the relevant code from kernel/futex.c: (not in order in the file)\n\n[...]\nsmlinkage long sys_futex(u32 __user *uaddr, int op, u32 val,\n                          struct timespec __user *utime, u32 __user *uaddr2,\n                          u32 val3)\n{\n        struct timespec ts;\n        ktime_t t, *tp \u003d NULL;\n        u32 val2 \u003d 0;\n        int cmd \u003d op \u0026 FUTEX_CMD_MASK;\n\n        if (utime \u0026\u0026 (cmd \u003d\u003d FUTEX_WAIT || cmd \u003d\u003d FUTEX_LOCK_PI)) {\n                if (copy_from_user(\u0026ts, utime, sizeof(ts)) !\u003d 0)\n                        return -EFAULT;\n                if (!timespec_valid(\u0026ts))\n                        return -EINVAL;\n\n                t \u003d timespec_to_ktime(ts);\n                if (cmd \u003d\u003d FUTEX_WAIT)\n                        t \u003d ktime_add(ktime_get(), t);\n                tp \u003d \u0026t;\n        }\n[...]\n        return do_futex(uaddr, op, val, tp, uaddr2, val2, val3);\n}\n\n[...]\n\nlong do_futex(u32 __user *uaddr, int op, u32 val, ktime_t *timeout,\n                u32 __user *uaddr2, u32 val2, u32 val3)\n{\n        int ret;\n        int cmd \u003d op \u0026 FUTEX_CMD_MASK;\n        struct rw_semaphore *fshared \u003d NULL;\n\n        if (!(op \u0026 FUTEX_PRIVATE_FLAG))\n                fshared \u003d \u0026current-\u003emm-\u003emmap_sem;\n\n        switch (cmd) {\n        case FUTEX_WAIT:\n                ret \u003d futex_wait(uaddr, fshared, val, timeout);\n\n[...]\n\nstatic int futex_wait(u32 __user *uaddr, struct rw_semaphore *fshared,\n                      u32 val, ktime_t *abs_time)\n{\n[...]\n               struct restart_block *restart;\n                restart \u003d \u0026current_thread_info()-\u003erestart_block;\n                restart-\u003efn \u003d futex_wait_restart;\n                restart-\u003earg0 \u003d (unsigned long)uaddr;\n                restart-\u003earg1 \u003d (unsigned long)val;\n                restart-\u003earg2 \u003d (unsigned long)abs_time;\n                restart-\u003earg3 \u003d 0;\n                if (fshared)\n                        restart-\u003earg3 |\u003d ARG3_SHARED;\n                return -ERESTART_RESTARTBLOCK;\n[...]\n\nstatic long futex_wait_restart(struct restart_block *restart)\n{\n        u32 __user *uaddr \u003d (u32 __user *)restart-\u003earg0;\n        u32 val \u003d (u32)restart-\u003earg1;\n        ktime_t *abs_time \u003d (ktime_t *)restart-\u003earg2;\n        struct rw_semaphore *fshared \u003d NULL;\n\n        restart-\u003efn \u003d do_no_restart_syscall;\n        if (restart-\u003earg3 \u0026 ARG3_SHARED)\n                fshared \u003d \u0026current-\u003emm-\u003emmap_sem;\n        return (long)futex_wait(uaddr, fshared, val, abs_time);\n}\n\nSo when the futex_wait is interrupt by a signal we break out of the\nhrtimer code and set up or return from signal. This code does not return\nback to userspace, so we set up a RESTARTBLOCK.  The bug here is that we\nsave the \"abs_time\" which is a pointer to the stack variable \"ktime_t t\"\nfrom sys_futex.\n\nThis returns and unwinds the stack before we get to call our signal. On\nreturn from the signal we go to futex_wait_restart, where we update all\nthe parameters for futex_wait and call it. But here we have a problem\nwhere abs_time is no longer valid.\n\nI verified this with print statements, and sure enough, what abs_time\nwas set to ends up being garbage when we get to futex_wait_restart.\n\nThe solution I did to solve this (with input from Linus Torvalds)\nwas to add unions to the restart_block to allow system calls to\nuse the restart with specific parameters.  This way the futex code now\nsaves the time in a 64bit value in the restart block instead of storing\nit on the stack.\n\nNote: I\u0027m a bit nervious to add \"linux/types.h\" and use u32 and u64\nin thread_info.h, when there\u0027s a #ifdef __KERNEL__ just below that.\nNot sure what that is there for.  If this turns out to be a problem, I\u0027ve\ntested this with using \"unsigned int\" for u32 and \"unsigned long long\" for\nu64 and it worked just the same. I\u0027m using u32 and u64 just to be\nconsistent with what the futex code uses.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "621544eb8c3beaa859c75850f816dd9b056a00a3",
      "tree": "15c4375c8899ced48bd751eb139cfe9b3778bda9",
      "parents": [
        "4e67d876ce07471e02be571038d5435a825f0215"
      ],
      "author": {
        "name": "Andrew Gallatin",
        "email": "gallatin@myri.com",
        "time": "Wed Dec 05 02:31:42 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:32 2007 -0800"
      },
      "message": "[LRO]: fix lro_gen_skb() alignment\n\nAdd a field to the lro_mgr struct so that drivers can specify how much\npadding is required to align layer 3 headers when a packet is copied\ninto a freshly allocated skb by inet_lro.c:lro_gen_skb().  Without\npadding, skbs generated by LRO will cause alignment warnings on\narchitectures which require strict alignment (seen on sparc64).\n\nMyri10GE is updated to use this field.\n\nSigned-off-by: Andrew Gallatin \u003cgallatin@myri.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7cd94146cd504016315608e297219f9fb7b1413b",
      "tree": "1d118d6af0a6d3efb9be66f7305827aee2ceffea",
      "parents": [
        "8869477a49c3e99def1fcdadd6bbc407fea14b45"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Nov 26 18:47:40 2007 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 06 00:25:10 2007 +1100"
      },
      "message": "Security: round mmap hint address above mmap_min_addr\n\nIf mmap_min_addr is set and a process attempts to mmap (not fixed) with a\nnon-null hint address less than mmap_min_addr the mapping will fail the\nsecurity checks.  Since this is just a hint address this patch will round\nsuch a hint address above mmap_min_addr.\n\ngcj was found to try to be very frugal with vm usage and give hint addresses\nin the 8k-32k range.  Without this patch all such programs failed and with\nthe patch they happily get a higher address.\n\nThis patch is wrappad in CONFIG_SECURITY since mmap_min_addr doesn\u0027t exist\nwithout it and there would be no security check possible no matter what.  So\nwe should not bother compiling in this rounding if it is just a waste of\ntime.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "6f4a7f4183bdbd02741dcd8edbd10b8628acc5d5",
      "tree": "b160036cc645c4658c577a12b99902028a3885df",
      "parents": [
        "f9663aea2a938f9dc60dbfef34b9e7847a69c947"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Tue Dec 04 16:17:33 2007 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Dec 04 15:06:33 2007 -0500"
      },
      "message": "PHY: Add the phy_device_release device method.\n\nLately I\u0027ve got this nice badness on mdio bus removal:\n\nDevice \u0027e0103120:06\u0027 does not have a release() function, it is broken and must be fixed.\n------------[ cut here ]------------\nBadness at drivers/base/core.c:107\nNIP: c015c1a8 LR: c015c1a8 CTR: c0157488\nREGS: c34bdcf0 TRAP: 0700   Not tainted  (2.6.23-rc5-g9ebadfbb-dirty)\nMSR: 00029032 \u003cEE,ME,IR,DR\u003e  CR: 24088422  XER: 00000000\n...\n[c34bdda0] [c015c1a8] device_release+0x78/0x80 (unreliable)\n[c34bddb0] [c01354cc] kobject_cleanup+0x80/0xbc\n[c34bddd0] [c01365f0] kref_put+0x54/0x6c\n[c34bdde0] [c013543c] kobject_put+0x24/0x34\n[c34bddf0] [c015c384] put_device+0x1c/0x2c\n[c34bde00] [c0180e84] mdiobus_unregister+0x2c/0x58\n...\n\nThough actually there is nothing broken, it just device\nsubsystem core expects another \"pattern\" of resource managment.\n\nThis patch implement phy device\u0027s release function, thus\nwe\u0027re getting rid of this badness.\n\nAlso small hidden bug fixed, hope none other introduced. ;-)\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nAcked-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ca6435f188a0ce40eae716c158053e49130886a3",
      "tree": "99d58ba96adc568bd227c48669940ab726ca18bf",
      "parents": [
        "26145f7e7ebc8a5f1b29425d6da62e872031be4a",
        "d842de871c8c5e2110c7e4f3f29bbe7b1a519ab8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 03 08:21:06 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 03 08:21:06 2007 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:\n  sched: cpu accounting controller (V2)\n"
    },
    {
      "commit": "8002cedc1adbf51e2d56091534ef7551b88329b4",
      "tree": "2c65c82b2b5300eac581a0ee794d98f0b61593b6",
      "parents": [
        "e87cb5db0dc357473ac71801051954ddd6ff604f",
        "d523a328fb0271e1a763e985a21f2488fd816e7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 03 08:15:36 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 03 08:15:36 2007 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/net-2.6: (27 commits)\n  [INET]: Fix inet_diag dead-lock regression\n  [NETNS]: Fix /proc/net breakage\n  [TEXTSEARCH]: Do not allow zero length patterns in the textsearch infrastructure\n  [NETFILTER]: fix forgotten module release in xt_CONNMARK and xt_CONNSECMARK\n  [NETFILTER]: xt_TCPMSS: remove network triggerable WARN_ON\n  [DECNET]: dn_nl_deladdr() almost always returns no error\n  [IPV6]: Restore IPv6 when MTU is big enough\n  [RXRPC]: Add missing select on CRYPTO\n  mac80211: rate limit wep decrypt failed messages\n  rfkill: fix double-mutex-locking\n  mac80211: drop unencrypted frames if encryption is expected\n  mac80211: Fix behavior of ieee80211_open and ieee80211_close\n  ieee80211: fix unaligned access in ieee80211_copy_snap\n  mac80211: free ifsta-\u003eextra_ie and clear IEEE80211_STA_PRIVACY_INVOKED\n  SCTP: Fix build issues with SCTP AUTH.\n  SCTP: Fix chunk acceptance when no authenticated chunks were listed.\n  SCTP: Fix the supported extensions paramter\n  SCTP: Fix SCTP-AUTH to correctly add HMACS paramter.\n  SCTP: Fix the number of HB transmissions.\n  [TCP] illinois: Incorrect beta usage\n  ...\n"
    },
    {
      "commit": "d842de871c8c5e2110c7e4f3f29bbe7b1a519ab8",
      "tree": "3a0be7d00de97c561e486242f11eec0e1281074b",
      "parents": [
        "92d499d991ec4f5cbd00d6f33967eab9d3ee8d6c"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Sun Dec 02 20:04:49 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 02 20:04:49 2007 +0100"
      },
      "message": "sched: cpu accounting controller (V2)\n\nCommit cfb5285660aad4931b2ebbfa902ea48a37dfffa1 removed a useful feature for\nus, which provided a cpu accounting resource controller.  This feature would be\nuseful if someone wants to group tasks only for accounting purpose and doesnt\nreally want to exercise any control over their cpu consumption.\n\nThe patch below reintroduces the feature. It is based on Paul Menage\u0027s\noriginal patch (Commit 62d0df64065e7c135d0002f069444fbdfc64768f), with\nthese differences:\n\n        - Removed load average information. I felt it needs more thought (esp\n\t  to deal with SMP and virtualized platforms) and can be added for\n\t  2.6.25 after more discussions.\n        - Convert group cpu usage to be nanosecond accurate (as rest of the cfs\n\t  stats are) and invoke cpuacct_charge() from the respective scheduler\n\t  classes\n\t- Make accounting scalable on SMP systems by splitting the usage\n\t  counter to be per-cpu\n\t- Move the code from kernel/cpu_acct.c to kernel/sched.c (since the\n\t  code is not big enough to warrant a new file and also this rightly\n\t  needs to live inside the scheduler. Also things like accessing\n\t  rq-\u003elock while reading cpu usage becomes easier if the code lived in\n\t  kernel/sched.c)\n\nThe patch also modifies the cpu controller not to provide the same accounting\ninformation.\n\nTested-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\n\n Tested the patches on top of 2.6.24-rc3. The patches work fine. Ran\n some simple tests like cpuspin (spin on the cpu), ran several tasks in\n the same group and timed them. Compared their time stamps with\n cpuacct.usage.\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7d400a4c589749bf5b5e544aee07b3c489b54d02",
      "tree": "74e2539a09abbbd6bc8c6ac4e8667acc4bbf59b6",
      "parents": [
        "1a8098be987d3fa00c9fe9d2b68154675df49112"
      ],
      "author": {
        "name": "Kim Phillips",
        "email": "kim.phillips@freescale.com",
        "time": "Mon Nov 26 16:17:48 2007 -0600"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Dec 01 16:32:30 2007 -0500"
      },
      "message": "phylib: add PHY interface modes for internal delay for tx and rx only\n\nAllow phylib specification of cases where hardware needs to configure\nPHYs for Internal Delay only on either RX or TX (not both).\n\nSigned-off-by: Kim Phillips \u003ckim.phillips@freescale.com\u003e\nTested-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nAcked-by: Li Yang \u003cleoli@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c99da91e7a12724127475a85cc7a38214b3504e2",
      "tree": "de0eb3fe32ce58804457963fd133a53bb8fba5b8",
      "parents": [
        "a31e23e15cbb9734c5883a4a7f58d8712d303e0b",
        "92d499d991ec4f5cbd00d6f33967eab9d3ee8d6c"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Dec 01 16:18:56 2007 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Dec 01 16:18:56 2007 -0500"
      },
      "message": "Merge branch \u0027master\u0027 into upstream-fixes\n"
    },
    {
      "commit": "2b1e300a9dfc3196ccddf6f1d74b91b7af55e416",
      "tree": "3181bf4f2c27d185c78b26642f35ed00cb280943",
      "parents": [
        "e03ba84adb62fbc6049325a5bc00ef6932fa5e39"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Dec 02 00:33:17 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Dec 02 00:33:17 2007 +1100"
      },
      "message": "[NETNS]: Fix /proc/net breakage\n\nWell I clearly goofed when I added the initial network namespace support\nfor /proc/net.  Currently things work but there are odd details visible to\nuser space, even when we have a single network namespace.\n\nSince we do not cache proc_dir_entry dentries at the moment we can just\nmodify -\u003elookup to return a different directory inode depending on the\nnetwork namespace of the process looking at /proc/net, replacing the\ncurrent technique of using a magic and fragile follow_link method.\n\nTo accomplish that this patch:\n- introduces a shadow_proc method to allow different dentries to\n  be returned from proc_lookup.\n- Removes the old /proc/net follow_link magic\n- Fixes a weakness in our not caching of proc generic dentries.\n\nAs shadow_proc uses a task struct to decided which dentry to return we can\ngo back later and fix the proc generic caching without modifying any code\nthat uses the shadow_proc method.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "8853c202b4a91713dbfb4d9b6e1c87cc2aa12392",
      "tree": "a6c9621d3067eebc17c2ce53fa45e7513ee832a6",
      "parents": [
        "08b633070ad5fa17a837428a601c32cf3db6aafd"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Nov 28 16:22:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:54 2007 -0800"
      },
      "message": "RTC: convert mutex to bitfield\n\nRTC code is using mutex to assure exclusive access to /dev/rtc.  This is\nhowever wrong usage, as it leaves the mutex locked when returning into\nuserspace, which is unacceptable.\n\nConvert rtc-\u003echar_lock into bit operation.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6643094e73247c1ebd36816f494f631fa7be348",
      "tree": "11ba2e666b6fea1cdf579616d6a04b0afd24f61c",
      "parents": [
        "7dca9fd39f7d4605ac178a67bb1772381056917d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Nov 28 16:22:00 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:54 2007 -0800"
      },
      "message": "fuse: pass open flags to read and write\n\nSome open flags (O_APPEND, O_DIRECT) can be changed with fcntl(F_SETFL, ...)\nafter open, but fuse currently only sends the flags to userspace in open.\n\nTo make it possible to correcly handle changing flags, send the\ncurrent value to userspace in each read and write.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c83172b98e569d9aabf947d8b3b089dadb2ff46",
      "tree": "674db31e73f5ae5f65e459455b63ac61ff5bff96",
      "parents": [
        "f78ba15705a5ef36b55c4e3142724e2211cb1733"
      ],
      "author": {
        "name": "Huang, Ying",
        "email": "ying.huang@intel.com",
        "time": "Wed Nov 28 16:21:55 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:54 2007 -0800"
      },
      "message": "x86_64 EFI boot support: EFI frame buffer driver\n\nThis patch adds Graphics Output Protocol support to the kernel.  UEFI2.0 spec\ndeprecates Universal Graphics Adapter (UGA) protocol and only Graphics Output\nProtocol (GOP) is produced.  Therefore, the boot loader needs to query the\nUEFI firmware with appropriate Output Protocol and pass the video information\nto the kernel.  As a result of GOP protocol, an EFI framebuffer driver is\nneeded for displaying console messages.  The patch adds a EFI framebuffer\ndriver.  The EFI frame buffer driver in this patch is based on the Intel Mac\nframebuffer driver.\n\nThe ELILO bootloader takes care of passing the video information as\nappropriate for EFI firmware.\n\nThe framebuffer driver has been tested in i386 kernel and x86_64 kernel on EFI\nplatform.\n\nSigned-off-by: Chandramouli Narayanan \u003cmouli@linux.intel.com\u003e\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6454d1f9038f708d7deef6270ed4ba5bb6e55869",
      "tree": "447fc22433ed8f16af01353bc93abffc73bc6ddd",
      "parents": [
        "68576cf122bc5195c758ed295e78b5858472378a"
      ],
      "author": {
        "name": "Tobias Poschwatta",
        "email": "tp@fonz.de",
        "time": "Wed Nov 28 16:21:45 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:53 2007 -0800"
      },
      "message": "fix up ext2_fs.h for userspace after reservations backport\n\nIn commit a686cd898bd999fd026a51e90fb0a3410d258ddb:\n\n \"Val\u0027s cross-port of the ext3 reservations code into ext2.\"\n\ninclude/linux/ext2_fs.h got a new function whose return value is only\ndefined if __KERNEL__ is defined. Putting #ifdef __KERNEL__ around the\nfunction seems to help, patch below.\n\nSigned-off-by: Eric Sandeen \u003csandeen@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": "68576cf122bc5195c758ed295e78b5858472378a",
      "tree": "5b6b7cb9608bf757bf3368c808f14bf206eddbe8",
      "parents": [
        "6d4f5879b6f4da50bde94e1cae73755978ed048f"
      ],
      "author": {
        "name": "Thomas Bogendoerfer",
        "email": "tsbogend@alpha.franken.de",
        "time": "Wed Nov 28 16:21:44 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:53 2007 -0800"
      },
      "message": "IP22ZILOG: fix lockup and sysrq\n\n - fix lockup when switching from early console to real console\n - make sysrq reliable\n - fix panic, if sysrq is issued before console is opened\n\nSigned-off-by: Thomas Bogendoerfer \u003ctsbogend@alpha.franken.de\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79288f5e935cb445220eef83f3f793159555f9ae",
      "tree": "a32eeeeeea5b530c44165ab81d1b069afad381df",
      "parents": [
        "fd79b77117f16264206ed2618199d42e93cc8f09"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Nov 28 16:21:32 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:52 2007 -0800"
      },
      "message": "Fix \u003clinux/kd.h\u003e usage in userspace\n\nFor reasons unclear to me, glibc\u0027s \u003csys/kd.h\u003e deliberately defeats the\nattempt we make in \u003clinux/kd.h\u003e to include \u003clinux/types.h\u003e\n\nFor now, change the one instance of __u32 to \u0027unsigned int\u0027 instead\nbecause it\u0027s breaking userspace. We should probably also remove our\ninclusion of \u003clinux/types.h\u003e, since we don\u0027t use it -- but that\u0027s not a\nchange to make in -rc.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a7839e960675b549f06209d18283d5cee2ce9261",
      "tree": "53c3a72760fdcc4b4fb18a15ef7ce83c314c854a",
      "parents": [
        "2c80b01beae3db9f99a161ec216405dd694bc4c2"
      ],
      "author": {
        "name": "Zhao Yakui",
        "email": "yakui.zhao@intel.com",
        "time": "Wed Nov 28 16:21:21 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:52 2007 -0800"
      },
      "message": "PNP: increase the maximum number of resources\n\nOn some systems the number of resources(IO,MEM) returnedy by PNP device is\ngreater than the PNP constant, for example motherboard devices.  It brings\nthat some resources can\u0027t be reserved and resource confilicts.  This will\ncause PCI resources are assigned wrongly in some systems, and cause hang.\nThis is a regression since we deleted ACPI motherboard driver and use PNP\nsystem driver.\n\n[akpm@linux-foundation.org: fix text and coding-style a bit]\nSigned-off-by: Li Shaohua \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Zhao Yakui \u003cyakui.zhao@intel.com\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb0851ff9dc65dd9c9365fdb87895d98235ac463",
      "tree": "d19b7440bb5b0dec31cef2c384cccdd473f314e7",
      "parents": [
        "34f2c1c35ff014a5d145971e41caa940cd62d563",
        "5f629ad7e5f9b99c6d025bf199d402734bd72d0f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 28 16:03:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 28 16:03:09 2007 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (25 commits)\n  USB: s3c2410 gadget: ensure vbus pin in input mode during read\n  USB: s3c2410 gadget: allow sharing of vbus irq\n  USB: s3c2410 gadget: Header move fixups\n  USB: usb-storage: unusual_devs entry for JetFlash TS1GJF2A\n  USB: fix up EHCI startup synchronization\n  USB: make the microtek driver and HAL cooperate\n  USB: uevent environment key fix\n  USB: keep track of whether interface sysfs files exist\n  USB: sierra: new product id\n  USB HCD: avoid duplicate local_irq_disable()\n  USB: mailing lists have changed\n  USB: remove USB HUB entry from MAINTAINERS\n  USB: fix directory references in usb/README\n  USB: add support for an older firmware revision for the Nikon D200\n  USB: FIx locks and urb-\u003estatus in adutux (updated)\n  USB: power-management documenation update\n  USB: Fix signr comment in usbdevice_fs.h\n  usbserial: fix inconsistent lock state\n  USB: fix usbled disconnect read race #2\n  USB: free memory when writing fails in usb/serial/mos7840.c\n  ...\n"
    },
    {
      "commit": "7e61559f6199bb387037abfc7d10a893973561fc",
      "tree": "dd3e8f8cca77077bc4567a047cfe9ee74d100525",
      "parents": [
        "5fdcd0396be443e36a4e2128f51818acca570ee7"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Nov 06 11:43:42 2007 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Nov 28 13:58:35 2007 -0800"
      },
      "message": "USB: keep track of whether interface sysfs files exist\n\nThis patch (as1009) solves the problem of multiple registrations for\nUSB sysfs files in a more satisfying way than the existing code.  It\nsimply adds a flag to keep track of whether or not the files have been\ncreated; that way the files can be created or removed as needed.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\n\n"
    }
  ],
  "next": "bc59462b80c694670fbb5d0bb1a8450ffc353080"
}
