)]}'
{
  "log": [
    {
      "commit": "d5123480b1d6f7d1a5fe1a13520cef88fb5d4c84",
      "tree": "d0037d50b26f5b0fa70640f4c459924d2417341a",
      "parents": [
        "6230c9b4f8957c8938ee4cf2d03166d3c2dc89de"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Tue Oct 11 16:08:11 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 18 23:55:29 2011 -0400"
      },
      "message": "netconsole: enable netconsole can make net_device refcnt incorrent\n\nThere is no check if netconsole is enabled current.\nso when exec echo 1 \u003e enabled;\nthe reference of net_device will increment always.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nAcked-by: Flavio Leitner \u003cfbl@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "97c7de055713afddf4218f19c896b5185555da15",
      "tree": "b1fddc5a24a7556a3c957350eeb4ff46642c70a9",
      "parents": [
        "710778ff878a06654175863db133293007d45aee"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Tue Sep 20 15:45:07 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 20 15:45:07 2011 -0400"
      },
      "message": "netconsole: switch init_netconsole() to late_initcall\n\nCommit 88491d8(drivers/net: Kconfig \u0026 Makefile cleanup) causes a\nregression that netconsole does not work if netconsole and network\ndevice driver are build into kernel, because netconsole is linked\nbefore network device driver.\n\nAndrew Morton suggested to fix this with initcall ordering.\nFixes it by switching init_netconsole() to late_initcall.\n\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "daf9209bb2c8b07ca025eac82e3d175534086c77",
      "tree": "5101649f4edf2cf316e334c49380b6dd1ecebc77",
      "parents": [
        "bb8ed6302b0613339c1a5f0a2cb0b3807c0af611"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Thu May 19 21:39:12 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 22 21:01:19 2011 -0400"
      },
      "message": "net: rename NETDEV_BONDING_DESLAVE to NETDEV_RELEASE\n\ns/NETDEV_BONDING_DESLAVE/NETDEV_RELEASE/ as Andy suggested.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCc: Neil Horman \u003cnhorman@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d8fc29d02a33e4bd5f4fa47823c1fd386346093",
      "tree": "822657741aca7297209c28c906f6b8caa43d163b",
      "parents": [
        "a37dd3332319260cce81ac91ce25fcc3a31de997"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Thu May 19 21:39:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 22 21:01:19 2011 -0400"
      },
      "message": "netpoll: disable netpoll when enslave a device\n\nV3: rename NETDEV_ENSLAVE to NETDEV_JOIN\n\nCurrently we do nothing when we enslave a net device which is running netconsole.\nNeil pointed out that we may get weird results in such case, so let\u0027s disable\nnetpoll on the device being enslaved. I think it is too harsh to prevent\nthe device being ensalved if it is running netconsole.\n\nBy the way, this patch also removes the NETDEV_GOING_DOWN from netconsole\nnetdev notifier, because netpoll will check if the device is running or not\nand we don\u0027t handle NETDEV_PRE_UP neither.\n\nThis patch is based on net-next-2.6.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4940fc889e1e63667a15243028ddcd84d471cd8e",
      "tree": "c52bb193d0ad4f13e0f617748ed1db297261f521",
      "parents": [
        "99f823f98fb981b55c663a3783c3d2293958ece4"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat May 07 23:00:07 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 09 12:10:49 2011 -0700"
      },
      "message": "net: add mac_pton() for parsing MAC address\n\nmac_pton() parses MAC address in form XX:XX:XX:XX:XX:XX and only in that form.\n\nmac_pton() doesn\u0027t dirty result until it\u0027s sure string representation is valid.\n\nmac_pton() doesn\u0027t care about characters _after_ last octet,\nit\u0027s up to caller to deal with it.\n\nmac_pton() diverges from 0/-E return value convention.\nTarget usage:\n\n\tif (!mac_pton(str, whatever-\u003emac))\n\t\treturn -EINVAL;\n\t/* -\u003emac being u8 [ETH_ALEN] is filled at this point. */\n\t/* optionally check str[3 * ETH_ALEN - 1] for termination */\n\nUse mac_pton() in pktgen and netconsole for start.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "99f823f98fb981b55c663a3783c3d2293958ece4",
      "tree": "e7c17a9193efab3834c9497a90a623e729f1edf6",
      "parents": [
        "0693e88e6ccf615d9674548d8b924cdd9a1c976c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat May 07 20:33:13 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 09 12:10:48 2011 -0700"
      },
      "message": "netconsole: switch to kstrto*() functions\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13f172ff26563995049abe73f6eeba828de3c09d",
      "tree": "deef6ba4f54596410ab873281709c7f46979ddc3",
      "parents": [
        "1ed3aad141fe595673c20225a9e004730088be52"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Fri Apr 22 08:10:59 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 22 14:33:51 2011 -0700"
      },
      "message": "netconsole: fix deadlock when removing net driver that netconsole is using (v2)\n\nA deadlock was reported to me recently that occured when netconsole was being\nused in a virtual guest.  If the virtio_net driver was removed while netconsole\nwas setup to use an interface that was driven by that driver, the guest\ndeadlocked.  No backtrace was provided because netconsole was the only console\nconfigured, but it became clear pretty quickly what the problem was.  In\nnetconsole_netdev_event, if we get an unregister event, we call\n__netpoll_cleanup with the target_list_lock held and irqs disabled.\n__netpoll_cleanup can, if pending netpoll packets are waiting call\ncancel_delayed_work_sync, which is a sleeping path.  the might_sleep call in\nthat path gets triggered, causing a console warning to be issued.  The\nnetconsole write handler of course tries to take the target_list_lock again,\nwhich we already hold, causing deadlock.\n\nThe fix is pretty striaghtforward.  Simply drop the target_list_lock and\nre-enable irqs prior to calling __netpoll_cleanup, the re-acquire the lock, and\nrestart the loop.  Confirmed by myself to fix the problem reported.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "38cfb907a55f3223445151b517b6e4678b8c9d66",
      "tree": "d585d38666d2ce22f9719448e224eb55b850eaa8",
      "parents": [
        "141dfba342b672588799432d74a3b6be88b5d713"
      ],
      "author": {
        "name": "Ferenc Wagner",
        "email": "wferi@niif.hu",
        "time": "Thu Jan 06 05:11:20 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 06 11:30:23 2011 -0800"
      },
      "message": "netconsole: clarify stopping message\n\nSigned-off-by: Ferenc Wagner \u003cwferi@niif.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "141dfba342b672588799432d74a3b6be88b5d713",
      "tree": "84fa2d4340133a9caf350cf38344fe9569671998",
      "parents": [
        "68d7c1aa2fee6acb11fcb826a207e4b81d8a1f57"
      ],
      "author": {
        "name": "Ferenc Wagner",
        "email": "wferi@niif.hu",
        "time": "Thu Jan 06 05:11:19 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 06 11:30:22 2011 -0800"
      },
      "message": "netconsole: don\u0027t announce stopping if nothing happened\n\nSigned-off-by: Ferenc Wagner \u003cwferi@niif.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b410a310b48a8e7de3438957635093596ad5ca5",
      "tree": "494176f29fb9bb1a6126319a843403a9e850f73e",
      "parents": [
        "990c3d6f9c4115347659fc2b163907c8c832ae44"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Oct 13 16:01:52 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 18 08:32:08 2010 -0700"
      },
      "message": "bonding: Fix netconsole to not deadlock on rmmod\n\nNetconsole calls netpoll_cleanup on receipt of a NETDEVICE_UNREGISTER event.\nThe notifier subsystem calls these event handlers with rtnl_lock held, which\nnetpoll_cleanup also takes, resulting in deadlock.  Fix this by calling the\n__netpoll_cleanup interior function instead, and fixing up the additional\npointers.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e34e93177fb1f642cab080e0bde664c06c7183a",
      "tree": "5353f873ab99c2cff76f12b41e9a9e2018e66b30",
      "parents": [
        "08259594e047170923ef11d1482648642bfe606f"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "amwang@redhat.com",
        "time": "Thu May 06 00:47:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 00:47:21 2010 -0700"
      },
      "message": "netpoll: add generic support for bridge and bonding devices\n\nThis whole patchset is for adding netpoll support to bridge and bonding\ndevices. I already tested it for bridge, bonding, bridge over bonding,\nand bonding over bridge. It looks fine now.\n\nTo make bridge and bonding support netpoll, we need to adjust\nsome netpoll generic code. This patch does the following things:\n\n1) introduce two new priv_flags for struct net_device:\n   IFF_IN_NETPOLL which identifies we are processing a netpoll;\n   IFF_DISABLE_NETPOLL is used to disable netpoll support for a device\n   at run-time;\n\n2) introduce one new method for netdev_ops:\n   -\u003endo_netpoll_cleanup() is used to clean up netpoll when a device is\n     removed.\n\n3) introduce netpoll_poll_dev() which takes a struct net_device * parameter;\n   export netpoll_send_skb() and netpoll_poll_dev() which will be used later;\n\n4) hide a pointer to struct netpoll in struct netpoll_info, ditto.\n\n5) introduce -\u003ereal_dev for struct netpoll.\n\n6) introduce a new status NETDEV_BONDING_DESLAE, which is used to disable\n   netconsole before releasing a slave, to avoid deadlocks.\n\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "2382b15bcc39228572ccf1d9a1185dcabb84c833",
      "tree": "f24ff62a60da71984288f81ddbbc20476d18d063",
      "parents": [
        "acda074390270ca9e28f2a9729f7b835e2ad6da4"
      ],
      "author": {
        "name": "Bruno Prémont",
        "email": "bonbons@linux-vserver.org",
        "time": "Wed Apr 29 20:45:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 01 15:24:18 2009 -0700"
      },
      "message": "netconsole: take care of NETDEV_UNREGISTER event\n\nWhen netconsole is loaded and a network interface fades away (e.g. on\nrmmod $interface_driver_module) the rmmod remains stuck and some locks\nare taken that prevent any additional module loading/unloading as well\nas interface up/down changes.\nIn addition kernel logs (and console) get flooded at 10s interval with\n\n[  122.464065] unregister_netdevice: waiting for eth0 to become free. Usage count \u003d 1\n[  132.704059] unregister_netdevice: waiting for eth0 to become free. Usage count \u003d 1\n\nThis patch lets netconsole take NETDEV_UNREGISTER event into account\nand release the affected interface if it was in use.\n\nSigned-off-by: Bruno Prémont \u003cbonbons@linux-vserver.org\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7557af56a576762a655f1aaaded253ad14c5958",
      "tree": "7594980090f4c6b8fcfe1be554d94096b9d80db3",
      "parents": [
        "f940964901aa69e28ce729d7614061d014184472"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Mar 28 15:38:31 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 28 23:55:58 2009 -0700"
      },
      "message": "netpoll: store local and remote ip in net-endian\n\nAllows for the removal of byteswapping in some places and\nthe removal of HIPQUAD (replaced by %pI4).\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e174961ca1a0b28f7abf0be47973ad57cb74e5f0",
      "tree": "e8f74ecd420a0e380a71670e5aec5c2a0c15640a",
      "parents": [
        "0c68ae2605dbcf67414d8d1f19af93be44b355fb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Oct 27 15:59:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 27 17:06:18 2008 -0700"
      },
      "message": "net: convert print_mac to %pM\n\nThis converts pretty much everything to print_mac. There were\na few things that had conflicts which I have just dropped for\nnow, no harm done.\n\nI\u0027ve built an allyesconfig with this and looked at the files\nthat weren\u0027t built very carefully, but it\u0027s a huge patch.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61a2d07d3fb1ac34d142b9b62d4cd60a0f8c229e",
      "tree": "f7ffe587767438bc0a4f4008a135e976e6264977",
      "parents": [
        "3a4b7886ee59e122d359e1714ed89585a06645ad"
      ],
      "author": {
        "name": "Niels de Vos",
        "email": "niels@nixpanic.net",
        "time": "Thu Jul 31 00:07:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 12:46:41 2008 -0700"
      },
      "message": "Remove newline from the description of module parameters\n\nSome module parameters with only one line have the \u0027\\n\u0027 at the end of the\ndescription.  This is not needed nor wanted as after the description the\ntype (i.e.  int) is followed by a newline.\n\nSome modules contain a multi-line description, these are not affected\nby this patch.\n\nSigned-off-by: Niels de Vos \u003cniels.devos@wincor-nixdorf.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: John W. Linville \u003clinville@tuxdriver.com\u003e\nCc: Ed L. Cashin \u003cecashin@coraid.com\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6795e9ebb420d87af43789174689af0d66d1d35",
      "tree": "fb2a86ad010015fdd311f3b7f6ef30f60c14b8f7",
      "parents": [
        "f89ab8619e5320cc9c2576f5f8dcbaf6c0ba3950"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 17 15:21:29 2008 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 17 15:21:29 2008 -0700"
      },
      "message": "configfs: Allow -\u003emake_item() and -\u003emake_group() to return detailed errors.\n\nThe configfs operations -\u003emake_item() and -\u003emake_group() currently\nreturn a new item/group.  A return of NULL signifies an error.  Because\nof this, -ENOMEM is the only return code bubbled up the stack.\n\nMultiple folks have requested the ability to return specific error codes\nwhen these operations fail.  This patch adds that ability by changing the\n-\u003emake_item/group() ops to return ERR_PTR() values.  These errors are\nbubbled up appropriately.  NULL returns are changed to -ENOMEM for\ncompatibility.\n\nAlso updated are the in-kernel users of configfs.\n\nThis is a rework of reverted commit 11c3b79218390a139f2d474ee1e983a672d5839a.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "f89ab8619e5320cc9c2576f5f8dcbaf6c0ba3950",
      "tree": "e703050b232c76de7cb25afd63a2b4dd885c4bb9",
      "parents": [
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 17 14:53:48 2008 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 17 14:53:48 2008 -0700"
      },
      "message": "Revert \"configfs: Allow -\u003emake_item() and -\u003emake_group() to return detailed errors.\"\n\nThis reverts commit 11c3b79218390a139f2d474ee1e983a672d5839a.  The code\nwill move to PTR_ERR().\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "11c3b79218390a139f2d474ee1e983a672d5839a",
      "tree": "03fa1a4927f2d9856ee45a64d522424478058b6f",
      "parents": [
        "6d8344baee99402de58b5fa5dfea197242955c15"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jun 12 14:00:18 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:16 2008 -0700"
      },
      "message": "configfs: Allow -\u003emake_item() and -\u003emake_group() to return detailed errors.\n\nThe configfs operations -\u003emake_item() and -\u003emake_group() currently\nreturn a new item/group.  A return of NULL signifies an error.  Because\nof this, -ENOMEM is the only return code bubbled up the stack.\n\nMultiple folks have requested the ability to return specific error codes\nwhen these operations fail.  This patch adds that ability by changing the\n-\u003emake_item/group() ops to return an int.\n\nAlso updated are the in-kernel users of configfs.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "0517deed78be9cc9ce9799bf15da58fd0d2078bb",
      "tree": "03b831f70096f99162a8cb26a55e01b64cd97926",
      "parents": [
        "56690c2151d33534f0537fd03c533eda81d96f0f"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Tue Apr 15 00:49:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 15 00:49:04 2008 -0700"
      },
      "message": "netconsole: only set CON_PRINTBUFFER if the user specifies a netconsole\n\nSince 0bcc1816188e570bde1d56a208996660f2633ae0 (netconsole: Support\ndynamic reconfiguration using configfs), the netconsole is always\nregistered, regardless of whether the user actually specified a\nnetconsole configuration on the command line.\n\nHowever because netconsole has CON_PRINTBUFFER set, when it is\nregistered it causes the printk buffer to be replayed to all consoles.\nWhen there is no netconsole configured this is a) pointless, and b)\nsomewhat annoying for the user of the existing console.\n\nSo instead we should only set CON_PRINTBUFFER if there is a netconsole\nconfiguration found on the command line. This retains the existing\nbehaviour if a netconsole is setup by the user, and avoids spamming\nother consoles when we\u0027re only registering for the dynamic\nnetconsole case.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69c3683ca7fe066ecba9e8a0424c5abd258a5d58",
      "tree": "885d2e9eca411c70d600623b2bfb9526304f1320",
      "parents": [
        "b5c15fc004ac83b7ad280acbe0fd4bbed7e2c8d4"
      ],
      "author": {
        "name": "Keiichi KII",
        "email": "k-keiichi@bx.jp.nec.com",
        "time": "Fri Feb 15 02:01:58 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 15 02:01:58 2008 -0800"
      },
      "message": "netconsole: avoid null pointer dereference at show_local_mac()\n\nThis patch avoids a null pointer dereference when we read local_mac \nfor netconsole in configfs and shows default local mac address\nvalue.\n\nA null pointer dereference occurs when we call show_local_mac() via \nlocal_mac entry in configfs before we setup the content of netpoll\nusing netpoll_setup().\n\nSigned-off-by: Keiichi KII \u003ck-keiichi@bx.jp.nec.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0953864160bdd28dfe45fd46fa462b4d2d53cb96",
      "tree": "fcc3be7c24858b4606d6eeafee2292a58d84c6a4",
      "parents": [
        "5106930bd6b57402205e3de54dae9476e215b622"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Mon Nov 19 19:23:29 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:17 2008 -0800"
      },
      "message": "[NETPOLL]: no need to store local_mac\n\nThe local_mac is managed by the network device, no need to keep a\nspare copy and all the management problems that could cause.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0795af5729b18218767fab27c44b1384f72dc9ad",
      "tree": "67c16df84aa6ec219340b8ea1b5cfb0e8150a216",
      "parents": [
        "95ea36275f3c9a1d3d04c217b4b576c657c4e70e"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Oct 03 17:59:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:42 2007 -0700"
      },
      "message": "[NET]: Introduce and use print_mac() and DECLARE_MAC_BUF()\n\nThis is nicer than the MAC_FMT stuff.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bcc1816188e570bde1d56a208996660f2633ae0",
      "tree": "8104c0b0c54a93a510b4b9b50a45cbaabad245f4",
      "parents": [
        "b5427c27173e128dda1541bd9d3b05df79af5882"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:35:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:06 2007 -0700"
      },
      "message": "[NET] netconsole: Support dynamic reconfiguration using configfs\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\nThis patch introduces support for dynamic reconfiguration (adding, removing\nand/or modifying parameters of netconsole targets at runtime) using a\nuserspace interface exported via configfs.  Documentation is also updated\naccordingly.\n\nIssues and brief design overview:\n\n(1) Kernel-initiated creation / destruction of kernel objects is not\n    possible with configfs -- the lifetimes of the \"config items\" is managed\n    exclusively from userspace.  But netconsole must support boot/module\n    params too, and these are parsed in kernel and hence netpolls must be\n    setup from the kernel.  Joel Becker suggested to separately manage the\n    lifetimes of the two kinds of netconsole_target objects -- those created\n    via configfs mkdir(2) from userspace and those specified from the\n    boot/module option string.  This adds complexity and some redundancy here\n    and also means that boot/module param-created targets are not exposed\n    through the configfs namespace (and hence cannot be updated / destroyed\n    dynamically).  However, this saves us from locking / refcounting\n    complexities that would need to be introduced in configfs to support\n    kernel-initiated item creation / destroy there.\n\n(2) In configfs, item creation takes place in the call chain of the\n    mkdir(2) syscall in the driver subsystem.  If we used an ioctl(2) to\n    create / destroy objects from userspace, the special userspace program is\n    able to fill out the structure to be passed into the ioctl and hence\n    specify attributes such as local interface that are required at the time\n    we set up the netpoll.  For configfs, this information is not available at\n    the time of mkdir(2).  So, we keep all newly-created targets (via\n    configfs) disabled by default.  The user is expected to set various\n    attributes appropriately (including the local network interface if\n    required) and then write(2) \"1\" to the \"enabled\" attribute.  Thus,\n    netpoll_setup() is then called on the set parameters in the context of\n    _this_ write(2) on the \"enabled\" attribute itself.  This design enables\n    the user to reconfigure existing netconsole targets at runtime to be\n    attached to newly-come-up interfaces that may not have existed when\n    netconsole was loaded or when the targets were actually created.  All this\n    effectively enables us to get rid of custom ioctls.\n\n(3) Ultra-paranoid configfs attribute show() and store() operations, with\n    sanity and input range checking, using only safe string primitives, and\n    compliant with the recommendations in Documentation/filesystems/sysfs.txt.\n\n(4) A new function netpoll_print_options() is created in the netpoll API,\n    that just prints out the configured parameters for a netpoll structure.\n    netpoll_parse_options() is modified to use that and it is also exported to\n    be used from netconsole.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nAcked-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5427c27173e128dda1541bd9d3b05df79af5882",
      "tree": "96d71faf39ff39002335cd4d8c9ef8ae1ad49a62",
      "parents": [
        "17951f34b0970b05e29fd93a5b93fa05ec71308b"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:33:40 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:06 2007 -0700"
      },
      "message": "[NET] netconsole: Support multiple logging targets\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\nThis patch introduces support for multiple targets, independent of\nCONFIG_NETCONSOLE_DYNAMIC -- this is useful even in the default case and\n(including the infrastructure introduced in previous patches) doesn\u0027t really\nadd too many bytes to module text.  All the complexity (and size) comes with\nthe dynamic reconfigurability / userspace interface patch, and so it\u0027s\nplausible users may want to keep this enabled but that disabled (say to avoid\na dependency on CONFIG_CONFIGFS_FS too).\n\nAlso update documentation to mention the use of \";\" separator to specify\nmultiple logging targets in the boot/module option string.\n\nBrief overview:\n\nWe maintain a target_list (and corresponding lock).  Get rid of the static\n\"default_target\" and introduce allocation and release functions for our\nnetconsole_target objects (but keeping sure to preserve previous behaviour\nsuch as default values).  During init_netconsole(), \";\" is used as the\nseparator to identify multiple target specifications in the boot/module option\nstring.  The target specifications are parsed and netpolls setup.  During\nexit, the target_list is torn down and all items released.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nSigned-off-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17951f34b0970b05e29fd93a5b93fa05ec71308b",
      "tree": "a9b03366b502d878389c09afcffe4d7feff884b2",
      "parents": [
        "df180e369cf54a8ef8440667ab1d13d452fc7215"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:33:01 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:05 2007 -0700"
      },
      "message": "[NET] netconsole: Introduce netconsole_netdev_notifier\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\nTo update fields of underlying netpoll structure at runtime on corresponding\nNETDEV_CHANGEADDR or NETDEV_CHANGENAME notifications.\n\nioctl(SIOCSIFHWADDR or SIOCSIFNAME) could be used to change the hardware/MAC\naddress or name of the local interface that our netpoll is attached to.\nWhenever this happens, netdev notifier chain is called out with the\nNETDEV_CHANGEADDR or NETDEV_CHANGENAME event message.  We respond to that and\nupdate the local_mac or dev_name field of the struct netpoll.  This makes\nsense anyway, but is especially required for dynamic netconsole because the\nnetpoll structure\u0027s internal members become user visible files when either\nsysfs or configfs are used.  So this helps us to keep up with the MAC\naddress/name changes and keep values in struct netpoll uptodate.\n\n[ Note that ioctl(SIOCSIFADDR) to change IP address of interface at\n  runtime is not handled (to update local_ip of netpoll) on purpose --\n  some setups may set the local_ip to a private address, not necessary\n  the actual IP address of the sender host, as presently allowed. ]\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nSigned-off-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df180e369cf54a8ef8440667ab1d13d452fc7215",
      "tree": "5079a4b016af25f4fb2fcac4b014af8d8d891173",
      "parents": [
        "8d4ef88b5df1afe097e38aef8cab2ed35ca141ea"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:32:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:04 2007 -0700"
      },
      "message": "[NET] netconsole: Introduce netconsole_target\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\nIntroduce a wrapper structure over netpoll to represent logging targets\nconfigured in netconsole.  This will get extended with other members in\nfurther patches.\n\nThis is done independent of the (to-be-introduced) NETCONSOLE_DYNAMIC config\noption so that we\u0027re able to drastically cut down on the #ifdef complexity of\nfinal netconsole.c.  Also, struct netconsole_target would be required for\nmultiple targets support also, and not just dynamic reconfigurability.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nSigned-off-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0cc120bea1d4ba3893a26c70d271e89f928b8a97",
      "tree": "5ff99a2211acc2886889b994d1dd3b9e7b1ce892",
      "parents": [
        "d2b60881e28072109601c373abd1085499ccfef0"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:30:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:03 2007 -0700"
      },
      "message": "[NET] netconsole: Use netif_running() in write_msg()\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\nAvoid unnecessarily disabling interrupts and calling netpoll_send_udp() if the\ncorresponding local interface is not up.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nAcked-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d2b60881e28072109601c373abd1085499ccfef0",
      "tree": "141bc863e95a627b3e9d0e838e3e565ba5883e6c",
      "parents": [
        "d133ccbdc30c7f86459519cec1126d6473762b10"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:29:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:03 2007 -0700"
      },
      "message": "[NET] netconsole: Simplify boot/module option setup logic\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\nPresently, boot/module parameters are set up quite differently for the case of\nbuilt-in netconsole (__setup() -\u003e obsolete_checksetup() -\u003e\nnetpoll_parse_options() -\u003e strlen(config) \u003d\u003d 0 in init_netconsole()) vs\nmodular netconsole (module_param_string() -\u003e string copied to the config\nvariable -\u003e strlen(config) !\u003d 0 init_netconsole() -\u003e netpoll_parse_options()).\n\nThis patch makes both of them similar by doing exactly the equivalent of a\nmodule_param_string() in option_setup() also -- just copying the param string\npassed from the kernel command line into \"config\" variable.  So,\nstrlen(config) !\u003d 0 in both cases, and netpoll_parse_options() is always\ncalled from init_netconsole(), thus making the setup logic for both cases\nsimilar.\n\nNow, option_setup() is only ever called / used for the built-in case, so we\nput it inside a #ifndef MODULE, otherwise gcc will complain about\noption_setup() being \"defined but not used\".  Also, the \"configured\" variable\nis redundant with this patch and hence removed.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nSigned-off-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d133ccbdc30c7f86459519cec1126d6473762b10",
      "tree": "37f41671ddba891149a7aec6c3ab349c81a9a7c1",
      "parents": [
        "d39badf05b52f99169b22ce324fd31c8b44a0473"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:28:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:02 2007 -0700"
      },
      "message": "[NET] netconsole: Remove bogus check\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\nThe (!np.dev) check in write_msg() is bogus (always false), because: np.dev is\nset by netpoll_setup(), which is called by init_netconsole() before\nregister_console(), so write_msg() cannot be triggered unless netpoll_setup()\nsuccessfully set np.dev.  Also np.dev cannot go away from under us, because\nnetpoll_setup() grabs us reference on it.  So let\u0027s remove the bogus check.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nAcked-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d39badf05b52f99169b22ce324fd31c8b44a0473",
      "tree": "42a08b0253860cae60bbc54cb7b279d00aa583be",
      "parents": [
        "ab66b4a7a3969077f6e2a18a0d2d849d3b84a337"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:27:24 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:02 2007 -0700"
      },
      "message": "[NET] netconsole: Cleanups, codingstyle, prettyfication\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\n(1) Remove unwanted headers.\n(2) Mark __init and __exit as appropriate.\n(3) Various trivial codingstyle and prettification stuff.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nSigned-off-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5de4a473bda49554e4e9bd93b78f43c49a7ea69c",
      "tree": "13a74efb896968e8b535561d5024e3cc8a2f19cc",
      "parents": [
        "2bdfe0baeca0e2750037b8fba71905c00ac3c515"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Oct 26 15:46:55 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:37 2006 -0800"
      },
      "message": "netpoll queue cleanup\n\nThe beast had a long and not very happy history. At one\npoint, a friend (netdump) had asked that he open up a little.\nWell, the friend was long gone now, and the beast had\nthis dangling piece hanging (netpoll_queue).\n\nIt wasn\u0027t hard to stitch the netpoll_queue back in\nwhere it belonged and make everything tidy.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\n"
    },
    {
      "commit": "b41848b61bae30e3661efd4ec62ea380cedef687",
      "tree": "76d671dd1553be6f8355edbc344306f6d0d2ae72",
      "parents": [
        "b6cd27ed33886a5ffaf0925a6d98e13e18e8a1af"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Oct 26 15:46:52 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:34 2006 -0800"
      },
      "message": "netpoll setup error handling\n\nThe beast was not always healthy. When it was sick,\nit tended to be laconic and not tell anyone the real problem.\nA few small changes had it telling the world about its\nproblems, if they really wanted to hear.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\n"
    },
    {
      "commit": "92cd6eeea62e235fcb6634d87d1572c3da59f088",
      "tree": "ad00e5623d0e057e47d5898aa861b8a528bc6398",
      "parents": [
        "f291196979ca80cdef199ca2b55e2758e8c23a0d"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Jun 05 15:04:37 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 05 15:04:37 2006 -0700"
      },
      "message": "[NETCONSOLE]: Clean up initcall warning.\n\nFrom: Matt Mackall \u003cmpm@selenic.com\u003e\n\nnetconsole is being wrong here.  If it wasn\u0027t enabled there\u0027s no error.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d938ab44c0c5418bb74a97b422a070e2cdccce22",
      "tree": "4404cad3bc941be9f25e51a478ba61a94c2c5ed4",
      "parents": [
        "50fba2aa7cefa6b0e1768cb350c9e69042320c03"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Apr 04 20:11:56 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Apr 09 22:25:25 2006 -0700"
      },
      "message": "[NET] netconsole: set .name in struct console\n\nSet .name in netconsole\u0027s struct console to identify the\nstruct\u0027s owner.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b41046cd0ee0a57f849d6e1363f7933e363cca9",
      "tree": "246820e9493770e071cb92a48e7f72d8b9c90a98",
      "parents": [
        "68eef3b4791572ecb70249c7fb145bb3742dd899"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Fri Mar 31 02:30:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:53 2006 -0800"
      },
      "message": "[PATCH] Don\u0027t pass boot parameters to argv_init[]\n\nThe boot cmdline is parsed in parse_early_param() and\nparse_args(,unknown_bootoption).\n\nAnd __setup() is used in obsolete_checksetup().\n\n\tstart_kernel()\n\t\t-\u003e parse_args()\n\t\t\t-\u003e unknown_bootoption()\n\t\t\t\t-\u003e obsolete_checksetup()\n\nIf __setup()\u0027s callback (-\u003esetup_func()) returns 1 in\nobsolete_checksetup(), obsolete_checksetup() thinks a parameter was\nhandled.\n\nIf -\u003esetup_func() returns 0, obsolete_checksetup() tries other\n-\u003esetup_func().  If all -\u003esetup_func() that matched a parameter returns 0,\na parameter is seted to argv_init[].\n\nThen, when runing /sbin/init or init\u003dapp, argv_init[] is passed to the app.\nIf the app doesn\u0027t ignore those arguments, it will warning and exit.\n\nThis patch fixes a wrong usage of it, however fixes obvious one only.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
