)]}'
{
  "log": [
    {
      "commit": "1c29b3ff4f2d847464f7be3a0e179c6dfc69bd02",
      "tree": "0fa9c81cac75f65ef2451baf0cc27ae86c11a0fc",
      "parents": [
        "b62f495dad04fa94b5083aec638ff3072bccaaca"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Wed Jul 29 15:04:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:10:36 2009 -0700"
      },
      "message": "net-dccp: suppress warning about large allocations from DCCP\n\nThe DCCP protocol tries to allocate some large hash tables during\ninitialisation using the largest size possible.  This can be larger than\nwhat the page allocator can provide so it prints a warning.  However, the\ncaller is able to handle the situation so this patch suppresses the\nwarning.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1462147f15a954a1a0553390846c6fa3ca742b1",
      "tree": "c57ad5f209bd6bc735580172057153d60f0a4442",
      "parents": [
        "e00b95debb9a0f023b61abcd4b1e74f687276b47",
        "6d7760a88c25057c2c2243e5dfe2d731064bd31d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 27 13:42:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 27 13:42:47 2009 -0700"
      },
      "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: (45 commits)\n  cnic: Fix ISCSI_KEVENT_IF_DOWN message handling.\n  net: irda: init spinlock after memcpy\n  ixgbe: fix for 82599 errata marking UDP checksum errors\n  r8169: WakeOnLan fix for the 8168\n  netxen: reset ring consumer during cleanup\n  net/bridge: use kobject_put to release kobject in br_add_if error path\n  smc91x.h: add config for Nomadik evaluation kit\n  NET: ROSE: Don\u0027t use static buffer.\n  eepro: Read buffer overflow\n  tokenring: Read buffer overflow\n  at1700: Read buffer overflow\n  fealnx: Write outside array bounds\n  ixgbe: remove unnecessary call to device_init_wakeup\n  ixgbe: Don\u0027t priority tag control frames in DCB mode\n  ixgbe: Enable FCoE offload when DCB is enabled for 82599\n  net: Rework mdio-ofgpio driver to use of_mdio infrastructure\n  register at91_ether using platform_driver_probe\n  skge: Enable WoL by default if supported\n  net: KS8851 needs to depend on MII\n  be2net: Bug fix in the non-lro path. Size of received packet was not updated in statistics properly.\n  ...\n"
    },
    {
      "commit": "0cbb0a781a42f131e9c6836554f402cb85f8f38b",
      "tree": "026518c552a42bafb33c8657de28753b666a9175",
      "parents": [
        "8bae1b2b13beb4cf4c0f119f97640503c2b74b0f"
      ],
      "author": {
        "name": "Deepak Saxena",
        "email": "dsaxena@mvista.com",
        "time": "Mon Jul 27 10:49:44 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 27 10:49:44 2009 -0700"
      },
      "message": "net: irda: init spinlock after memcpy\n\nirttp_dup() copies a tsap_cb struct, but does not initialize the\nspinlock in the new structure, which confuses lockdep.\n\nSigned-off-by: Deepak Saxena \u003cdsaxena@mvista.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c587aea951a56d29741a3cef4ea3e142c93b3207",
      "tree": "39045309a2d2ce8fe51bca6d08588cf97e0ee27c",
      "parents": [
        "4a29f396429132dc59f1856ea6cfc860a1955fa1"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Thu Jul 23 23:06:32 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 26 19:20:51 2009 -0700"
      },
      "message": "net/bridge: use kobject_put to release kobject in br_add_if error path\n\nkobject_init_and_add will alloc memory for kobj-\u003ename, so in br_add_if\nerror path, simply use kobject_del will not free memory for kobj-\u003ename.\nFix by using kobject_put instead, kobject_put will internally calls\nkobject_del and frees memory for kobj-\u003ename.\n\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dcf777f6ed9799c5ac90ac17a5c369e6b73ca92e",
      "tree": "dc15b2d5800241d124528d627f8b039ac29d32d4",
      "parents": [
        "d513d018e2236930b6163241bbdce64d2c0de49e"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sun Jul 26 19:11:14 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 26 19:11:14 2009 -0700"
      },
      "message": "NET: ROSE: Don\u0027t use static buffer.\n\nThe use of a static buffer in rose2asc() to return its result is not\nthreadproof and can result in corruption if multiple threads are trying\nto use one of the procfs files based on rose2asc().\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "402168cee1a0b791c54c54a68ae21bb26880f40b",
      "tree": "127b1bd8f2d06b18449998022eaab1c20baab950",
      "parents": [
        "12e8ffe35eaca1411afc1f3124478f8e2b65eedc",
        "a947a39d52f5b647a2fd5eca55d39e722a2fa90f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 09:49:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 09:49:58 2009 -0700"
      },
      "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: (37 commits)\n  sky2: Avoid races in sky2_down\n  drivers/net/mlx4: Adjust constant\n  drivers/net: Move a dereference below a NULL test\n  drivers/net: Move a dereference below a NULL test\n  connector: maintainer/mail update.\n  USB host CDC Phonet network interface driver\n  macsonic, jazzsonic: fix oops on module unload\n  macsonic: move probe function to .devinit.text\n  can: switch carrier on if device was stopped while in bus-off state\n  can: restart device even if dev_alloc_skb() fails\n  can: sja1000: remove duplicated includes\n  New device ID for sc92031 [1088:2031]\n  3c589_cs: re-initialize the multicast in the tc589_reset\n  Fix error return for setsockopt(SO_TIMESTAMPING)\n  netxen: fix thermal check and shutdown\n  netxen: fix deadlock on dev close\n  netxen: fix context deletion sequence\n  net: Micrel KS8851 SPI network driver\n  tcp: Use correct peer adr when copying MD5 keys\n  tcp: Fix MD5 signature checking on IPv4 mapped sockets\n  ...\n"
    },
    {
      "commit": "9e81eccf199d910e5ea8db377a43478e4eccd033",
      "tree": "c425a97da799df89255b13314e4dd96ec40419db",
      "parents": [
        "e56f0975360369347725c49654ecfe3792710429"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@web.de",
        "time": "Sun Jul 19 05:05:37 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 21 12:07:44 2009 -0400"
      },
      "message": "cfg80211: double free in __cfg80211_scan_done\n\nThis patch fixes a double free corruption in __cfg80211_scan_done:\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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n BUG kmalloc-512: Object already free\n ------------------------------------------------\n\n INFO: Allocated in load_elf_binary+0x18b/0x19af age\u003d6\n INFO: Freed in load_elf_binary+0x104e/0x19af age\u003d5\n INFO: Slab 0xffffea0001bae4c0 objects\u003d14 used\u003d7\n INFO: Object 0xffff88007e8a9918 @offset\u003d6424 fp\u003d0xffff88007e8a9488\n\n Bytes b4 0xffff88007e8a9908:  00 00 00 00 00 00 00 00 5a 5a\n [...]\n Pid: 28705, comm: rmmod Tainted: P         C 2.6.31-rc2-wl #1\n Call Trace:\n  [\u003cffffffff810da9f4\u003e] print_trailer+0x14e/0x16e\n  [\u003cffffffff810daa56\u003e] object_err+0x42/0x61\n  [\u003cffffffff810dbcd9\u003e] __slab_free+0x2af/0x396\n  [\u003cffffffffa0ec9694\u003e] ? wiphy_unregister+0x92/0x142 [cfg80211]\n  [\u003cffffffff810dd5e3\u003e] kfree+0x13c/0x17a\n  [\u003cffffffffa0ec9694\u003e] ? wiphy_unregister+0x92/0x142 [cfg80211]\n  [\u003cffffffffa0ec9694\u003e] wiphy_unregister+0x92/0x142 [cfg80211]\n  [\u003cffffffffa0eed163\u003e] ieee80211_unregister_hw+0xc8/0xff [mac80211]\n  [\u003cffffffffa0f3fbc8\u003e] p54_unregister_common+0x31/0x66 [p54common]\n  [...]\n FIX kmalloc-512: Object at 0xffff88007e8a9918 not freed\n\nThe code path which leads to the *funny* double free:\n\n       request \u003d rdev-\u003escan_req;\n       dev \u003d dev_get_by_index(\u0026init_net, request-\u003eifidx);\n\t/*\n\t * the driver was unloaded recently and\n\t * therefore dev_get_by_index will return NULL!\n\t */\n        if (!dev)\n                goto out;\n\t[...]\n\trdev-\u003escan_req \u003d NULL; /* not executed... */\n\t[...]\n out:\n        kfree(request);\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@web.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6c95e2a2f0f0bf4c8880d5b74b2f7f359d352d03",
      "tree": "9758902b92cbde1890339f4747678b0511ee7ac4",
      "parents": [
        "3da7429ce92abd79b14e2275a28be144ce2c3013"
      ],
      "author": {
        "name": "Niko Jokinen",
        "email": "ext-niko.k.jokinen@nokia.com",
        "time": "Wed Jul 15 11:00:53 2009 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 21 12:07:42 2009 -0400"
      },
      "message": "nl80211: Memory leak fixed\n\nPotential memory leak via msg pointer in nl80211_get_key() function.\n\nSigned-off-by: Niko Jokinen \u003cext-niko.k.jokinen@nokia.com\u003e\nSigned-off-by: Luciano Coelho \u003cluciano.coelho@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "35946a571099a50d2595c8866f07617d29558f53",
      "tree": "6ebcff064919ba40cef1fab8b42c17efc4c37e2d",
      "parents": [
        "e603d9d824ff0eda98a65708a7e82112becf2dca"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Mon Jul 13 17:00:10 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 21 12:07:40 2009 -0400"
      },
      "message": "mac80211: use correct address for mesh Path Error\n\nFor forwarded frames, we save the precursor address in addr1 in case it\nneeds to be used to send a Path Error.  mesh_path_discard_frame,\nhowever, was using addr2 instead of addr1 to send Path Error frames, so\ncorrect that and also make the comment regarding this more clear.\n\nSigned-off-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "48ab3578a65c5168ecaaa3b21292b643b7bcc2d5",
      "tree": "ab99e6ee3e1f27b7457809cafba3b9fb38c35cdb",
      "parents": [
        "8ef86c7bfac5b44529b73b84bc50d3cf574bfb4b"
      ],
      "author": {
        "name": "Alan Jenkins",
        "email": "alan-jenkins@tuffmail.co.uk",
        "time": "Sun Jul 12 17:03:13 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 21 12:07:38 2009 -0400"
      },
      "message": "rfkill: fix rfkill_set_states() to set the hw state\n\nThe point of this function is to set the software and hardware state at\nthe same time.  When I tried to use it, I found it was only setting the\nsoftware state.\n\nSigned-off-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8ef86c7bfac5b44529b73b84bc50d3cf574bfb4b",
      "tree": "56e4b14e60fac4f53e81fc21abed0f2556604501",
      "parents": [
        "f54c142725ad2ba33c3ee627873cb6966bf05447"
      ],
      "author": {
        "name": "Pavel Roskin",
        "email": "proski@gnu.org",
        "time": "Fri Jul 10 16:42:29 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 21 12:07:38 2009 -0400"
      },
      "message": "mac80211: fix injection in monitor mode\n\nThe location of the 802.11 header is calculated incorrectly due to a\nwrong placement of parentheses.  Found by kmemcheck.\n\nSigned-off-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f54c142725ad2ba33c3ee627873cb6966bf05447",
      "tree": "4bd86d879222e94c5ee175355242b8a04990334b",
      "parents": [
        "e2e414d92397c366396d13f627a98a20be92e509"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jul 10 21:41:39 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 21 12:07:37 2009 -0400"
      },
      "message": "rfkill: allow toggling soft state in sysfs again\n\nApparently there actually _are_ tools that try to set\nthis in sysfs even though it wasn\u0027t supposed to be used\nthis way without claiming first. Guess what: now that\nI\u0027ve cleaned it all up it doesn\u0027t matter and we can\nsimply allow setting the soft-block state in sysfs.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nTested-By: Darren Salt \u003clinux@youmustbejoking.demon.co.uk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e2e414d92397c366396d13f627a98a20be92e509",
      "tree": "0e30315aaf3c17b0f94187342733d2bace733c24",
      "parents": [
        "7b80ece41aea0b73283c6df5a8f25d40aa13135d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jul 10 11:38:14 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 21 12:07:35 2009 -0400"
      },
      "message": "mac80211: disable mesh\n\nMy kvm instance was complaining a lot about sleeping\nin atomic contexts in the mesh code, and it turns out\nthat both mesh_path_add() and mpp_path_add() need to\nbe able to sleep (they even use synchronize_rcu()!).\nI put in a might_sleep() to annotate that, but I see\nno way, at least right now, of actually making sure\nthose functions are only called from process context\nsince they are both called during TX and RX and the\nmesh code itself even calls them with rcu_read_lock()\n\"held\".\n\nTherefore, let\u0027s disable it completely for now.\n\nIt\u0027s possible that I\u0027m only seeing this because the\nhwsim\u0027s beaconing is broken and thus the peers aren\u0027t\ndiscovered right away, but it is possible that this\nhappens even if beaconing is working, for a peer that\ndoesn\u0027t exist or so.\n\nIt should be possible to solve this by deferring the\nfreeing of the tables to call_rcu() instead of using\nsynchronize_rcu(), and also using atomic allocations,\nbut maybe it makes more sense to rework the code to\nnot call these from atomic contexts and defer more of\nthe work to the workqueue. Right now, I can\u0027t work on\neither of those solutions though.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f249fb783092471a4808e5fc5bda071d2724810d",
      "tree": "12cd535e2ab69bd561124d5e0213fdc7fa0ea98c",
      "parents": [
        "e4135c2da11c337e3759f98727c4819ba2a849fa"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Jul 20 00:47:04 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 20 08:23:36 2009 -0700"
      },
      "message": "Fix error return for setsockopt(SO_TIMESTAMPING)\n\nI guess it should be -EINVAL rather than EINVAL. I have not checked\nwhen the bug came in. Perhaps a candidate for -stable?\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e547bc1eccf539b7403138d8ded913ffd2b7fd0d",
      "tree": "a5d776438864387bdc305ef3ce186ba527f5b5d4",
      "parents": [
        "e3afe7b75ed8f809c1473ea9b39267487c187ccb"
      ],
      "author": {
        "name": "John Dykstra",
        "email": "john.dykstra1@gmail.com",
        "time": "Fri Jul 17 09:23:22 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 20 07:49:08 2009 -0700"
      },
      "message": "tcp: Use correct peer adr when copying MD5 keys\n\nWhen the TCP connection handshake completes on the passive\nside, a variety of state must be set up in the \"child\" sock,\nincluding the key if MD5 authentication is being used.  Fix TCP\nfor both address families to label the key with the peer\u0027s\ndestination address, rather than the address from the listening\nsock, which is usually the wildcard.\n\nReported-by:   Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: John Dykstra \u003cjohn.dykstra1@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3afe7b75ed8f809c1473ea9b39267487c187ccb",
      "tree": "715aa813d57ffbc6b1a179e2f7f2957b88b415dc",
      "parents": [
        "a50a97d415d839e6db9df288ff0205528e52c03e"
      ],
      "author": {
        "name": "John Dykstra",
        "email": "john.dykstra1@gmail.com",
        "time": "Thu Jul 16 05:04:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 20 07:49:07 2009 -0700"
      },
      "message": "tcp: Fix MD5 signature checking on IPv4 mapped sockets\n\nFix MD5 signature checking so that an IPv4 active open\nto an IPv6 socket can succeed.  In particular, use the\ncorrect address family\u0027s signature generation function\nfor the SYN/ACK.\n\nReported-by:   Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: John Dykstra \u003cjohn.dykstra1@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4dc6dc7162c08b9965163c9ab3f9375d4adff2c7",
      "tree": "f4b9959e9ca5e5b8bdb6301663a15e0f67d4c68c",
      "parents": [
        "303d67c288319768b19ed8dbed429fef7eb7c275"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jul 15 23:13:10 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 16 18:05:26 2009 -0700"
      },
      "message": "net: sock_copy() fixes\n\nCommit e912b1142be8f1e2c71c71001dc992c6e5eb2ec1\n(net: sk_prot_alloc() should not blindly overwrite memory)\ntook care of not zeroing whole new socket at allocation time.\n\nsock_copy() is another spot where we should be very careful.\nWe should not set refcnt to a non null value, until\nwe are sure other fields are correctly setup, or\na lockless reader could catch this socket by mistake,\nwhile not fully (re)initialized.\n\nThis patch puts sk_node \u0026 sk_refcnt to the very beginning\nof struct sock to ease sock_copy() \u0026 sk_prot_alloc() job.\n\nWe add appropriate smp_wmb() before sk_refcnt initializations\nto match our RCU requirements (changes to sock keys should\nbe committed to memory before sk_refcnt setting)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95aa1fe4abfc8d75dcd110bb285b09740214d053",
      "tree": "668998047f77fe5d7f76ecbceec73a4f4c8311a6",
      "parents": [
        "b13bb2e9933b9dfa25c81d959d847c843481111e",
        "941297f443f871b8c3372feccf27a8733f6ce9e9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 16 17:34:50 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 16 17:34:50 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6\n"
    },
    {
      "commit": "941297f443f871b8c3372feccf27a8733f6ce9e9",
      "tree": "c98b7e30bf14255cfd87a3d8d929f26f35764d21",
      "parents": [
        "aa6a03eb0ae859c1371555ef381de4c96ca1e4e6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 16 14:03:40 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jul 16 14:03:40 2009 +0200"
      },
      "message": "netfilter: nf_conntrack: nf_conntrack_alloc() fixes\n\nWhen a slab cache uses SLAB_DESTROY_BY_RCU, we must be careful when allocating\nobjects, since slab allocator could give a freed object still used by lockless\nreaders.\n\nIn particular, nf_conntrack RCU lookups rely on ct-\u003etuplehash[xxx].hnnode.next\nbeing always valid (ie containing a valid \u0027nulls\u0027 value, or a valid pointer to next\nobject in hash chain.)\n\nkmem_cache_zalloc() setups object with NULL values, but a NULL value is not valid\nfor ct-\u003etuplehash[xxx].hnnode.next.\n\nFix is to call kmem_cache_alloc() and do the zeroing ourself.\n\nAs spotted by Patrick, we also need to make sure lookup keys are committed to\nmemory before setting refcount to 1, or a lockless reader could get a reference\non the old version of the object. Its key re-check could then pass the barrier.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "aa6a03eb0ae859c1371555ef381de4c96ca1e4e6",
      "tree": "347bd303420a1dc1c59b3204220713e724b331af",
      "parents": [
        "3f1f7cf08ddf10ef7fbf06d881582c95b9747f4e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jul 16 14:01:54 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jul 16 14:01:54 2009 +0200"
      },
      "message": "netfilter: xt_osf: fix nf_log_packet() arguments\n\nThe first argument is the address family, the second one the hook\nnumber.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "b13bb2e9933b9dfa25c81d959d847c843481111e",
      "tree": "8bd4234477ae0c697e575d4fa44ad66fb6c472ab",
      "parents": [
        "f7e5cc0c40dff92bad2894153f675c6c542ba2f0"
      ],
      "author": {
        "name": "Lothar Waßmann",
        "email": "LW@KARO-electronics.de",
        "time": "Tue Jul 14 23:12:25 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 15 11:20:38 2009 -0700"
      },
      "message": "net/can: add module alias to can protocol drivers\n\nAdd appropriate MODULE_ALIAS() to facilitate autoloading of can protocol drivers\n\nSigned-off-by: Lothar Wassmann \u003cLW@KARO-electronics.de\u003e\nAcked-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7e5cc0c40dff92bad2894153f675c6c542ba2f0",
      "tree": "bd7e85854edeb3271f9a29f021392d7fdcc08bed",
      "parents": [
        "252aa9d94a04252046f3a382e6aca1b5c95921d8"
      ],
      "author": {
        "name": "Lothar Waßmann",
        "email": "LW@KARO-electronics.de",
        "time": "Tue Jul 14 23:10:21 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 15 11:20:37 2009 -0700"
      },
      "message": "net/can bugfix: use after free bug in can protocol drivers\n\nFix a use after free bug in can protocol drivers\n\nThe release functions of the can protocol drivers lack a call to\nsock_orphan() which leads to referencing freed memory under certain\ncircumstances.\n\nThis patch fixes a bug reported here:\nhttps://lists.berlios.de/pipermail/socketcan-users/2009-July/000985.html\n\nSigned-off-by: Lothar Wassmann \u003cLW@KARO-electronics.de\u003e\nAcked-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eedfe1c4289216af5a0a7f38e6b2c4d3f07c087f",
      "tree": "5e08b79c88c36ef0607f830523f253305abf8dff",
      "parents": [
        "a17d1720aa35623a9bef3707b36242706714bca5"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Tue Jul 14 13:25:41 2009 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@vTrogdor.(none)",
        "time": "Tue Jul 14 15:54:41 2009 -0500"
      },
      "message": "9p: Possible regression in p9_client_stat\n\nFix a possible regression with p9_client_stat where it can try to kfree \nan ERR_PTR after an erroneous p9pdu_readf. Also remove an unnecessary data \nbuffer increment in p9_client_read.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "a17d1720aa35623a9bef3707b36242706714bca5",
      "tree": "476f9a29c6b8274227e5adab3c08a48317e8eca7",
      "parents": [
        "4b0a84043e0c14088958fddb62f416d050368011"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Tue Jul 14 13:24:10 2009 -0500"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@vTrogdor.(none)",
        "time": "Tue Jul 14 15:54:41 2009 -0500"
      },
      "message": "9p: default 9p transport module fix\n\nThe default 9p transport module is not chosen unless an option parameter (any)\nis passed to mount, which thus returns a ENOPROTOSUPPORT. This fix moves the\ncheck out of parse_opts into p9_client_create.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "a376d446771710790f5f3425172b467bf8578e22",
      "tree": "64dd36bcb3df9a4d76d31900f1967b0cc302254e",
      "parents": [
        "6847e154e3cd74fca6084124c097980a7634285a",
        "252aa9d94a04252046f3a382e6aca1b5c95921d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 14 18:33:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 14 18:33:54 2009 -0700"
      },
      "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  Revert \"NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines.\"\n  skbuff.h: Fix comment for NET_IP_ALIGN\n  drivers/net: using spin_lock_irqsave() in net_send_packet()\n  NET: phy_device, fix lock imbalance\n  gre: fix ToS/DiffServ inherit bug\n  igb: gcc-3.4.6 fix\n  atlx: duplicate testing of MCAST flag\n  NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines.\n  netdev: restore MTU change operation\n  netdev: restore MAC address set and validate operations\n  sit: fix regression: do not release skb-\u003edst before xmit\n  net: ip_push_pending_frames() fix\n  net: sk_prot_alloc() should not blindly overwrite memory\n"
    },
    {
      "commit": "ee686ca919193d7c1f87f907e732df5e2f942523",
      "tree": "2a1f528de455ffc952ab9bc795dd38a863604aaa",
      "parents": [
        "c8159b2db1b49f6bda4429008c85108e2da60712"
      ],
      "author": {
        "name": "Andreas Jaggi",
        "email": "aj@open.ch",
        "time": "Tue Jul 14 09:35:59 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 14 09:35:59 2009 -0700"
      },
      "message": "gre: fix ToS/DiffServ inherit bug\n\nFixes two bugs:\n- ToS/DiffServ inheritance was unintentionally activated when using impair fixed ToS values\n- ECN bit was lost during ToS/DiffServ inheritance\n\nSigned-off-by: Andreas Jaggi \u003caj@open.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2ba025b2036e52a176cddcf91b15ac2b10c644a",
      "tree": "5af959232c95ec4b931b2ac6f9f2063c93345e6f",
      "parents": [
        "e51a67a9c8a2ea5c563f8c2ba6613fe2100ffe67"
      ],
      "author": {
        "name": "Sascha Hlusiak",
        "email": "contact@saschahlusiak.de",
        "time": "Sat Jul 11 20:30:52 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 11 20:30:52 2009 -0700"
      },
      "message": "sit: fix regression: do not release skb-\u003edst before xmit\n\nThe sit module makes use of skb-\u003edst in it\u0027s xmit function, so since\n93f154b594fe47 (\"net: release dst entry in dev_hard_start_xmit()\") sit\ntunnels are broken, because the flag IFF_XMIT_DST_RELEASE is not\nunset.\n\nThis patch unsets that flag for sit devices to fix this\nregression.\n\nSigned-off-by: Sascha Hlusiak \u003ccontact@saschahlusiak.de\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e51a67a9c8a2ea5c563f8c2ba6613fe2100ffe67",
      "tree": "d9741a14cc9134e592c37b1c235f2f13a20c261f",
      "parents": [
        "e912b1142be8f1e2c71c71001dc992c6e5eb2ec1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jul 08 14:20:42 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 11 20:26:21 2009 -0700"
      },
      "message": "net: ip_push_pending_frames() fix\n\nAfter commit 2b85a34e911bf483c27cfdd124aeb1605145dc80\n(net: No more expensive sock_hold()/sock_put() on each tx)\nwe do not take any more references on sk-\u003esk_refcnt on outgoing packets.\n\nI forgot to delete two __sock_put() from ip_push_pending_frames()\nand ip6_push_pending_frames().\n\nReported-by: Emil S Tantilov \u003cemils.tantilov@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Emil S Tantilov \u003cemils.tantilov@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e912b1142be8f1e2c71c71001dc992c6e5eb2ec1",
      "tree": "9812c7d3e5431852d25bc15860830413ff15dc51",
      "parents": [
        "e594e96e8a14101a6decabf6746bd5186287debc"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jul 08 19:36:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 11 20:26:19 2009 -0700"
      },
      "message": "net: sk_prot_alloc() should not blindly overwrite memory\n\nSome sockets use SLAB_DESTROY_BY_RCU, and our RCU code correctness\ndepends on sk-\u003esk_nulls_node.next being always valid. A NULL\nvalue is not allowed as it might fault a lockless reader.\n\nCurrent sk_prot_alloc() implementation doesnt respect this hypothesis,\ncalling kmem_cache_alloc() with __GFP_ZERO. Just call memset() around\nthe forbidden field.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a57de0b4336e48db2811a2030bb68dba8dd09d88",
      "tree": "a01c189d5fd55c69c9e2e842241e84b46728bc60",
      "parents": [
        "1b614fb9a00e97b1eab54d4e442d405229c059dd"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Jul 08 12:09:13 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 09 17:06:57 2009 -0700"
      },
      "message": "net: adding memory barrier to the poll and receive callbacks\n\nAdding memory barrier after the poll_wait function, paired with\nreceive callbacks. Adding fuctions sock_poll_wait and sk_has_sleeper\nto wrap the memory barrier.\n\nWithout the memory barrier, following race can happen.\nThe race fires, when following code paths meet, and the tp-\u003ercv_nxt\nand __add_wait_queue updates stay in CPU caches.\n\nCPU1                         CPU2\n\nsys_select                   receive packet\n  ...                        ...\n  __add_wait_queue           update tp-\u003ercv_nxt\n  ...                        ...\n  tp-\u003ercv_nxt check          sock_def_readable\n  ...                        {\n  schedule                      ...\n                                if (sk-\u003esk_sleep \u0026\u0026 waitqueue_active(sk-\u003esk_sleep))\n                                        wake_up_interruptible(sk-\u003esk_sleep)\n                                ...\n                             }\n\nIf there was no cache the code would work ok, since the wait_queue and\nrcv_nxt are opposit to each other.\n\nMeaning that once tp-\u003ercv_nxt is updated by CPU2, the CPU1 either already\npassed the tp-\u003ercv_nxt check and sleeps, or will get the new value for\ntp-\u003ercv_nxt and will return with new data mask.\nIn both cases the process (CPU1) is being added to the wait queue, so the\nwaitqueue_active (CPU2) call cannot miss and will wake up CPU1.\n\nThe bad case is when the __add_wait_queue changes done by CPU1 stay in its\ncache, and so does the tp-\u003ercv_nxt update on CPU2 side.  The CPU1 will then\nendup calling schedule and sleep forever if there are no more data on the\nsocket.\n\nCalls to poll_wait in following modules were ommited:\n\tnet/bluetooth/af_bluetooth.c\n\tnet/irda/af_irda.c\n\tnet/irda/irnet/irnet_ppp.c\n\tnet/mac80211/rc80211_pid_debugfs.c\n\tnet/phonet/socket.c\n\tnet/rds/af_rds.c\n\tnet/rfkill/core.c\n\tnet/sunrpc/cache.c\n\tnet/sunrpc/rpc_pipe.c\n\tnet/tipc/socket.c\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b614fb9a00e97b1eab54d4e442d405229c059dd",
      "tree": "3260cee5b11a106e7f4e630171627c6e3e528a0f",
      "parents": [
        "d2daeabf62a5fb205d413c35cf604021db17536b"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Wed Jul 08 20:09:44 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 08 20:09:44 2009 -0700"
      },
      "message": "netpoll: Fix carrier detection for drivers that are using phylib\n\nUsing early netconsole and gianfar driver this error pops up:\n\n  netconsole: timeout waiting for carrier\n\nIt appears that net/core/netpoll.c:netpoll_setup() is using\ncond_resched() in a loop waiting for a carrier.\n\nThe thing is that cond_resched() is a no-op when system_state !\u003d\nSYSTEM_RUNNING, and so drivers/net/phy/phy.c\u0027s state_queue is never\nscheduled, therefore link detection doesn\u0027t work.\n\nI belive that the main problem is in cond_resched()[1], but despite\nhow the cond_resched() story ends, it might be a good idea to call\nmsleep(1) instead of cond_resched(), as suggested by Andrew Morton.\n\n[1] http://lkml.org/lkml/2009/7/7/463\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d2daeabf62a5fb205d413c35cf604021db17536b",
      "tree": "844ced1a54745c14ea45d33ccad4eae6e7253322",
      "parents": [
        "c3b85423072c0739d76b7c54080d3f3ccc5dad4d",
        "1ce822fa04fd6878f079461a4b8affe4bb5ec27b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 08 18:13:13 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 08 18:13:13 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "345aa031207d02d7438c1aa96ed9315911ecd745",
      "tree": "e9003cc0010b081eb975e209baa2753e8996582a",
      "parents": [
        "64c8165b44a91c09b19afb4110610ed242286639"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Tue Jul 07 19:39:16 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 08 10:46:45 2009 -0700"
      },
      "message": "ipv4: Fix fib_trie rebalancing, part 4 (root thresholds)\n\nPawel Staszewski wrote:\n\u003cblockquote\u003e\nSome time ago i report this:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d6648\n\nand now with 2.6.29 / 2.6.29.1 / 2.6.29.3 and 2.6.30 it back\ndmesg output:\noprofile: using NMI interrupt.\nFix inflate_threshold_root. Now\u003d15 size\u003d11 bits\n...\nFix inflate_threshold_root. Now\u003d15 size\u003d11 bits\n\ncat /proc/net/fib_triestat\nBasic info: size of leaf: 40 bytes, size of tnode: 56 bytes.\nMain:\n        Aver depth:     2.28\n        Max depth:      6\n        Leaves:         276539\n        Prefixes:       289922\n        Internal nodes: 66762\n          1: 35046  2: 13824  3: 9508  4: 4897  5: 2331  6: 1149  7: 5\n9: 1  18: 1\n        Pointers: 691228\nNull ptrs: 347928\nTotal size: 35709  kB\n\u003c/blockquote\u003e\n\nIt seems, the current threshold for root resizing is too aggressive,\nand it causes misleading warnings during big updates, but it might be\nalso responsible for memory problems, especially with non-preempt\nconfigs, when RCU freeing is delayed long after call_rcu.\n\nIt should be also mentioned that because of non-atomic changes during\nresizing/rebalancing the current lookup algorithm can miss valid leaves\nso it\u0027s additional argument to shorten these activities even at a cost\nof a minimally longer searching.\n\nThis patch restores values before the patch \"[IPV4]: fib_trie root\nnode settings\", commit: 965ffea43d4ebe8cd7b9fee78d651268dd7d23c5 from\nv2.6.22.\n\nPawel\u0027s report:\n\u003cblockquote\u003e\nI dont see any big change of (cpu load or faster/slower\nrouting/propagating routes from bgpd or something else) - in avg there\nis from 2% to 3% more of CPU load i dont know why but it is - i change\nfrom \"preempt\" to \"no preempt\" 3 times and check this my \"mpstat -P ALL\n1 30\"\nalways avg cpu load was from 2 to 3% more compared to \"no preempt\"\n[...]\ncat /proc/net/fib_triestat\nBasic info: size of leaf: 20 bytes, size of tnode: 36 bytes.\nMain:\n        Aver depth:     2.44\n        Max depth:      6\n        Leaves:         277814\n        Prefixes:       291306\n        Internal nodes: 66420\n          1: 32737  2: 14850  3: 10332  4: 4871  5: 2313  6: 942  7: 371  8: 3  17: 1\n        Pointers: 599098\nNull ptrs: 254865\nTotal size: 18067  kB\n\u003c/blockquote\u003e\n\nAccording to this and other similar reports average depth is slightly\nincreased (~0.2), and root nodes are shorter (log 17 vs. 18), but\nthere is no visible performance decrease. So, until memory handling is\nimproved or added parameters for changing this individually, this\npatch resets to safer defaults.\n\nReported-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nReported-by: Jorge Boncompte [DTI2] \u003cjorge@dti2.net\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nTested-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3938b45c1c75e53d45eb65ac253f12e86239c9ba",
      "tree": "9653bd914d6e117c4057f75d65ba61e30e6afa99",
      "parents": [
        "2dce4c2b5f0b43bd25bf9ea6ded06b7f8a54c91f"
      ],
      "author": {
        "name": "Luciano Coelho",
        "email": "luciano.coelho@nokia.com",
        "time": "Fri Jul 03 08:25:08 2009 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 07 12:55:28 2009 -0400"
      },
      "message": "mac80211: minstrel: avoid accessing negative indices in rix_to_ndx()\n\nIf rix is not found in mi-\u003er[], i will become -1 after the loop.  This value\nis eventually used to access arrays, so we were accessing arrays with a\nnegative index, which is obviously not what we want to do.  This patch fixes\nthis potential problem.\n\nSigned-off-by: Luciano Coelho \u003cluciano.coelho@nokia.com\u003e\nAcked-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2dce4c2b5f0b43bd25bf9ea6ded06b7f8a54c91f",
      "tree": "f9ded076fd61f5bd4ce93c995a4c9ab0dbf60742",
      "parents": [
        "76d8b64e536362e16e38ee1c279c965ebfe094cc"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jul 02 15:46:41 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 07 12:55:28 2009 -0400"
      },
      "message": "cfg80211: fix refcount leak\n\nThe code in cfg80211\u0027s cfg80211_bss_update erroneously\ngrabs a reference to the BSS, which means that it will\nnever be freed.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: stable@kernel.org [2.6.29, 2.6.30]\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "59615b5f9d1323898ca94e88e595b5b04115076a",
      "tree": "ca3a1eadbd09e51e77e749d8d4edc7f05c48108a",
      "parents": [
        "a7a4e41ed62a6a1fce6eb503c920f615eca27f02"
      ],
      "author": {
        "name": "Andrey Yurovsky",
        "email": "andrey@cozybit.com",
        "time": "Thu Jun 25 16:07:42 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 07 12:55:27 2009 -0400"
      },
      "message": "mac80211: fix allocation in mesh_queue_preq\n\nWe allocate a PREQ queue node in mesh_queue_preq, however the allocation\nmay cause us to sleep.  Use GFP_ATOMIC to prevent this.\n\n[ 1869.126498] BUG: scheduling while atomic: ping/1859/0x10000100\n[ 1869.127164] Modules linked in: ath5k mac80211 ath\n[ 1869.128310] Pid: 1859, comm: ping Not tainted 2.6.30-wl #1\n[ 1869.128754] Call Trace:\n[ 1869.129293]  [\u003cc1023a2b\u003e] __schedule_bug+0x48/0x4d\n[ 1869.129866]  [\u003cc13b5533\u003e] __schedule+0x77/0x67a\n[ 1869.130544]  [\u003cc1026f2e\u003e] ? release_console_sem+0x17d/0x185\n[ 1869.131568]  [\u003cc807cf47\u003e] ? mesh_queue_preq+0x2b/0x165 [mac80211]\n[ 1869.132318]  [\u003cc13b5b3e\u003e] schedule+0x8/0x1f\n[ 1869.132807]  [\u003cc1023c12\u003e] __cond_resched+0x16/0x2f\n[ 1869.133478]  [\u003cc13b5bf0\u003e] _cond_resched+0x27/0x32\n[ 1869.134191]  [\u003cc108a370\u003e] kmem_cache_alloc+0x1c/0xcf\n[ 1869.134714]  [\u003cc10273ae\u003e] ? printk+0x15/0x17\n[ 1869.135670]  [\u003cc807cf47\u003e] mesh_queue_preq+0x2b/0x165 [mac80211]\n[ 1869.136731]  [\u003cc807d1f8\u003e] mesh_nexthop_lookup+0xee/0x12d [mac80211]\n[ 1869.138130]  [\u003cc807417e\u003e] ieee80211_xmit+0xe6/0x2b2 [mac80211]\n[ 1869.138935]  [\u003cc80be46d\u003e] ? ath5k_hw_setup_rx_desc+0x0/0x66 [ath5k]\n[ 1869.139831]  [\u003cc80c97bc\u003e] ? ath5k_tasklet_rx+0xba/0x506 [ath5k]\n[ 1869.140863]  [\u003cc8075191\u003e] ieee80211_subif_start_xmit+0x6c9/0x6e4\n[mac80211]\n[ 1869.141665]  [\u003cc105cf1c\u003e] ? handle_level_irq+0x78/0x9d\n[ 1869.142390]  [\u003cc12e3f93\u003e] dev_hard_start_xmit+0x168/0x1c7\n[ 1869.143092]  [\u003cc12f1f17\u003e] __qdisc_run+0xe1/0x1b7\n[ 1869.143612]  [\u003cc12e25ff\u003e] qdisc_run+0x18/0x1a\n[ 1869.144248]  [\u003cc12e62f4\u003e] dev_queue_xmit+0x16a/0x25a\n[ 1869.144785]  [\u003cc13b6dcc\u003e] ? _read_unlock_bh+0xe/0x10\n[ 1869.145465]  [\u003cc12eacdb\u003e] neigh_resolve_output+0x19c/0x1c7\n[ 1869.146182]  [\u003cc130e2da\u003e] ? ip_finish_output+0x0/0x51\n[ 1869.146697]  [\u003cc130e2a0\u003e] ip_finish_output2+0x182/0x1bc\n[ 1869.147358]  [\u003cc130e327\u003e] ip_finish_output+0x4d/0x51\n[ 1869.147863]  [\u003cc130e9d5\u003e] ip_output+0x80/0x85\n[ 1869.148515]  [\u003cc130cc49\u003e] dst_output+0x9/0xb\n[ 1869.149141]  [\u003cc130dec6\u003e] ip_local_out+0x17/0x1a\n[ 1869.149632]  [\u003cc130e0bc\u003e] ip_push_pending_frames+0x1f3/0x255\n[ 1869.150343]  [\u003cc13247ff\u003e] raw_sendmsg+0x5e6/0x667\n[ 1869.150883]  [\u003cc1033c55\u003e] ? insert_work+0x6a/0x73\n[ 1869.151834]  [\u003cc8071e00\u003e] ?\nieee80211_invoke_rx_handlers+0x17da/0x1ae8 [mac80211]\n[ 1869.152630]  [\u003cc132bd68\u003e] inet_sendmsg+0x3b/0x48\n[ 1869.153232]  [\u003cc12d7deb\u003e] __sock_sendmsg+0x45/0x4e\n[ 1869.153740]  [\u003cc12d8537\u003e] sock_sendmsg+0xb8/0xce\n[ 1869.154519]  [\u003cc80be46d\u003e] ? ath5k_hw_setup_rx_desc+0x0/0x66 [ath5k]\n[ 1869.155289]  [\u003cc1036b25\u003e] ? autoremove_wake_function+0x0/0x30\n[ 1869.155859]  [\u003cc115992b\u003e] ? __copy_from_user_ll+0x11/0xce\n[ 1869.156573]  [\u003cc1159d99\u003e] ? copy_from_user+0x31/0x54\n[ 1869.157235]  [\u003cc12df646\u003e] ? verify_iovec+0x40/0x6e\n[ 1869.157778]  [\u003cc12d869a\u003e] sys_sendmsg+0x14d/0x1a5\n[ 1869.158714]  [\u003cc8072c40\u003e] ? __ieee80211_rx+0x49e/0x4ee [mac80211]\n[ 1869.159641]  [\u003cc80c83fe\u003e] ? ath5k_rxbuf_setup+0x6d/0x8d [ath5k]\n[ 1869.160543]  [\u003cc80be46d\u003e] ? ath5k_hw_setup_rx_desc+0x0/0x66 [ath5k]\n[ 1869.161434]  [\u003cc80beba4\u003e] ? ath5k_hw_get_rxdp+0xe/0x10 [ath5k]\n[ 1869.162319]  [\u003cc80c97bc\u003e] ? ath5k_tasklet_rx+0xba/0x506 [ath5k]\n[ 1869.163063]  [\u003cc1005627\u003e] ? enable_8259A_irq+0x40/0x43\n[ 1869.163594]  [\u003cc101edb8\u003e] ? __dequeue_entity+0x23/0x27\n[ 1869.164793]  [\u003cc100187a\u003e] ? __switch_to+0x2b/0x105\n[ 1869.165442]  [\u003cc1021d5f\u003e] ? finish_task_switch+0x5b/0x74\n[ 1869.166129]  [\u003cc12d963a\u003e] sys_socketcall+0x14b/0x17b\n[ 1869.166612]  [\u003cc1002b95\u003e] syscall_call+0x7/0xb\n\nSigned-off-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1f5fc70a250cc18f066072119e9fbbc20dad865f",
      "tree": "d661f714f9ae03235c57981ba5edaf0b6b686440",
      "parents": [
        "0ca1b08eba627b4245efd0f71b55a062bf163777"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Sat Jun 20 12:31:11 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 07 12:55:25 2009 -0400"
      },
      "message": "Wireless: nl80211, fix lock imbalance\n\nDon\u0027t forget to unlock cfg80211_mutex in one fail path of\nnl80211_set_wiphy.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "1bc4ee4088c9a502db0e9c87f675e61e57fa1734",
      "tree": "a166f4b7e7aa78fa31431ae6cb060bf4e5d088be",
      "parents": [
        "3c8a9c63d5fd738c261bd0ceece04d9c8357ca13"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun Jul 05 19:45:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 06 12:47:08 2009 -0700"
      },
      "message": "sctp: fix warning at inet_sock_destruct() while release sctp socket\n\nCommit \u0027net: Move rx skb_orphan call to where needed\u0027 broken sctp protocol\nwith warning at inet_sock_destruct(). Actually, sctp can do this right with\nsctp_sock_rfree_frag() and sctp_skb_set_owner_r_frag() pair.\n\n    sctp_sock_rfree_frag(skb);\n    sctp_skb_set_owner_r_frag(skb, newsk);\n\nThis patch not revert the commit d55d87fdff8252d0e2f7c28c2d443aee17e9d70f,\ninstead remove the sctp_sock_rfree_frag() function.\n\n------------[ cut here ]------------\nWARNING: at net/ipv4/af_inet.c:151 inet_sock_destruct+0xe0/0x142()\nModules linked in: sctp ipv6 dm_mirror dm_region_hash dm_log dm_multipath\nscsi_mod ext3 jbd uhci_hcd ohci_hcd ehci_hcd [last unloaded: scsi_wait_scan]\nPid: 1808, comm: sctp_test Not tainted 2.6.31-rc2 #40\nCall Trace:\n [\u003cc042dd06\u003e] warn_slowpath_common+0x6a/0x81\n [\u003cc064a39a\u003e] ? inet_sock_destruct+0xe0/0x142\n [\u003cc042dd2f\u003e] warn_slowpath_null+0x12/0x15\n [\u003cc064a39a\u003e] inet_sock_destruct+0xe0/0x142\n [\u003cc05fde44\u003e] __sk_free+0x19/0xcc\n [\u003cc05fdf50\u003e] sk_free+0x18/0x1a\n [\u003cca0d14ad\u003e] sctp_close+0x192/0x1a1 [sctp]\n [\u003cc0649f7f\u003e] inet_release+0x47/0x4d\n [\u003cc05fba4d\u003e] sock_release+0x19/0x5e\n [\u003cc05fbab3\u003e] sock_close+0x21/0x25\n [\u003cc049c31b\u003e] __fput+0xde/0x189\n [\u003cc049c3de\u003e] fput+0x18/0x1a\n [\u003cc049988f\u003e] filp_close+0x56/0x60\n [\u003cc042f422\u003e] put_files_struct+0x5d/0xa1\n [\u003cc042f49f\u003e] exit_files+0x39/0x3d\n [\u003cc043086a\u003e] do_exit+0x1a5/0x5dd\n [\u003cc04a86c2\u003e] ? d_kill+0x35/0x3b\n [\u003cc0438fa4\u003e] ? dequeue_signal+0xa6/0x115\n [\u003cc0430d05\u003e] do_group_exit+0x63/0x8a\n [\u003cc0439504\u003e] get_signal_to_deliver+0x2e1/0x2f9\n [\u003cc0401d9e\u003e] do_notify_resume+0x7c/0x6b5\n [\u003cc043f601\u003e] ? autoremove_wake_function+0x0/0x34\n [\u003cc04a864e\u003e] ? __d_free+0x3d/0x40\n [\u003cc04a867b\u003e] ? d_free+0x2a/0x3c\n [\u003cc049ba7e\u003e] ? vfs_write+0x103/0x117\n [\u003cc05fc8fa\u003e] ? sys_socketcall+0x178/0x182\n [\u003cc0402a56\u003e] work_notifysig+0x13/0x19\n---[ end trace 9db92c463e789fba ]---\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ded3f59f35a2642852b3e2a1c0fa8a97777e9af",
      "tree": "8740ddef72d2a51849cf87fc30744dcda04864f0",
      "parents": [
        "78c29bd95bd8d2c3bcf7932cb3ab8ae01cd8f58f"
      ],
      "author": {
        "name": "Stephane Contri",
        "email": "Stephane.Contri@grassvalley.com",
        "time": "Thu Jul 02 23:26:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 05 18:03:35 2009 -0700"
      },
      "message": "dsa: fix 88e6xxx statistics counter snapshotting\n\nThe bit that tells us whether a statistics counter snapshot operation\nhas completed is located in the GLOBAL register block, not in the\nGLOBAL2 register block, so fix up mv88e6xxx_stats_wait() to poll the\nright register address.\n\nSigned-off-by: Stephane Contri \u003cStephane.Contri@grassvalley.com\u003e\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nCc: stable@kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1ed05263b74921742b454ef52c30b609ec6940f",
      "tree": "36fcbc8e1907f6f75241c405da22b311e5cad4f8",
      "parents": [
        "59cae0092e4da753b5a2adb32933e0d1b223bcc5"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Thu Jul 02 07:10:52 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 03 19:10:13 2009 -0700"
      },
      "message": "IPv6: preferred lifetime of address not getting updated\n\nThere\u0027s a bug in addrconf_prefix_rcv() where it won\u0027t update the\npreferred lifetime of an IPv6 address if the current valid lifetime\nof the address is less than 2 hours (the minimum value in the RA).\n\nFor example, If I send a router advertisement with a prefix that\nhas valid lifetime \u003d preferred lifetime \u003d 2 hours we\u0027ll build\nthis address:\n\n3: eth0: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qlen 1000\n    inet6 2001:1890:1109:a20:217:8ff:fe7d:4718/64 scope global dynamic\n       valid_lft 7175sec preferred_lft 7175sec\n\nIf I then send the same prefix with valid lifetime \u003d preferred\nlifetime \u003d 0 it will be ignored since the minimum valid lifetime\nis 2 hours:\n\n3: eth0: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qlen 1000\n    inet6 2001:1890:1109:a20:217:8ff:fe7d:4718/64 scope global dynamic\n       valid_lft 7161sec preferred_lft 7161sec\n\nBut according to RFC 4862 we should always reset the preferred lifetime\neven if the valid lifetime is invalid, which would cause the address\nto immediately get deprecated.  So with this patch we\u0027d see this:\n\n5: eth0: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qlen 1000\n    inet6 2001:1890:1109:a20:21f:29ff:fe5a:ef04/64 scope global deprecated dynamic\n       valid_lft 7163sec preferred_lft 0sec\n\nThe comment winds-up being 5x the size of the code to fix the problem.\n\nUpdate the preferred lifetime of IPv6 addresses derived from a prefix\ninfo option in a router advertisement even if the valid lifetime in\nthe option is invalid, as specified in RFC 4862 Section 5.5.3e.  Fixes\nan issue where an address will not immediately become deprecated.\nReported by Jens Rosenboom.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59cae0092e4da753b5a2adb32933e0d1b223bcc5",
      "tree": "b2578c0452504d63de9aeaf5029daae5cefef165",
      "parents": [
        "c615c9f3f3cea60279b1bb38e8ef27bd575ecd0c"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Jul 02 16:59:49 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 03 19:10:10 2009 -0700"
      },
      "message": "xfrm6: fix the proto and ports decode of sctp protocol\n\nThe SCTP pushed the skb above the sctp chunk header, so the\ncheck of pskb_may_pull(skb, nh + offset + 1 - skb-\u003edata) in\n_decode_session6() will never return 0 and the ports decode\nof sctp will always fail. (nh + offset + 1 - skb-\u003edata \u003c 0)\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c615c9f3f3cea60279b1bb38e8ef27bd575ecd0c",
      "tree": "2bf343e769106a87e3cda9801e3b8cb942d722c9",
      "parents": [
        "15da4b1612d608a47e095439b3dd1d77ffe20e0c"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Jul 02 16:57:23 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 03 19:10:06 2009 -0700"
      },
      "message": "xfrm4: fix the ports decode of sctp protocol\n\nThe SCTP pushed the skb data above the sctp chunk header, so the check\nof pskb_may_pull(skb, xprth + 4 - skb-\u003edata) in _decode_session4() will\nnever return 0 because xprth + 4 - skb-\u003edata \u003c 0, the ports decode of\nsctp will always fail.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "15da4b1612d608a47e095439b3dd1d77ffe20e0c",
      "tree": "bc698a7851c73e86e2ac8ef8bfe32c14aff6c71c",
      "parents": [
        "887b5ea3683ce04966e35fa2e5fe215bedcde73c"
      ],
      "author": {
        "name": "Abhishek Kulkarni",
        "email": "adkulkar@umail.iu.edu",
        "time": "Wed Jul 01 08:50:54 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 02 13:17:01 2009 -0700"
      },
      "message": "net/9p: Fix crash due to bad mount parameters.\n\nIt is not safe to use match_int without checking the token type returned\nby match_token (especially when the token type returned is Opt_err and\nargs is empty). Fix it.\n\nSigned-off-by: Abhishek Kulkarni \u003cadkulkar@umail.iu.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8a68e752bc4e39644843403168137663c984524",
      "tree": "3fb17f72a02319f92bd3ed4d73456bbc7e8ac633",
      "parents": [
        "59ed6eecff4aa00c5c5d18ffd180acac108d596e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jun 30 16:27:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 30 19:47:08 2009 -0700"
      },
      "message": "Revert \"ipv4: arp announce, arp_proxy and windows ip conflict verification\"\n\nThis reverts commit 73ce7b01b4496a5fbf9caf63033c874be692333f.\n\nAfter discovering that we don\u0027t listen to gratuitious arps in 2.6.30\nI tracked the failure down to this commit.\n\nThe patch makes absolutely no sense.  RFC2131 RFC3927 and RFC5227.\nare all in agreement that an arp request with sip \u003d\u003d 0 should be used\nfor the probe (to prevent learning) and an arp request with sip \u003d\u003d tip\nshould be used for the gratitous announcement that people can learn\nfrom.\n\nIt appears the author of the broken patch got those two cases confused\nand modified the code to drop all gratuitous arp traffic.  Ouch!\n\nCc: stable@kernel.org\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "008440e3ad4b72f5048d1b1f6f5ed894fdc5ad08",
      "tree": "bcf7771cd07562b258aaa032f85c29eaa00b9b6c",
      "parents": [
        "01e532981460594fffbf9b992ecfc96a78369924"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Tue Jun 30 12:47:19 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 30 12:48:38 2009 -0700"
      },
      "message": "ipv4: Fix fib_trie rebalancing, part 3\n\nAlas current delaying of freeing old tnodes by RCU in trie_rebalance\nis still not enough because we can free a top tnode before updating a\nt-\u003etrie pointer.\n\nReported-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nTested-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff0ac74afb5b9916641723a78796d4ee7937c2ea",
      "tree": "8056226e0c4aaf07249de626b42d32c2a188cf8a",
      "parents": [
        "d51e9b0d94336db56a13fdc65bb30751e3ea33b7"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun Jun 28 22:49:37 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 29 19:41:53 2009 -0700"
      },
      "message": "sctp: xmit sctp packet always return no route error\n\nCommit \u0027net: skb-\u003edst accessors\u0027(adf30907d63893e4208dfe3f5c88ae12bc2f25d5)\nbroken the sctp protocol stack, the sctp packet can never be sent out after\nEric Dumazet\u0027s patch, which have typo in the sctp code.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Vlad Yasevich \u003cvladisalv.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1802571b9865c0fc1d8d0fa39cf73275f3a75af3",
      "tree": "c26651ac2d19ecb5aa633d6a550fbddf7094fee5",
      "parents": [
        "6828b92bd21acd65113dfe0541f19f5df0d9668f"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun Jun 28 18:42:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 29 19:41:46 2009 -0700"
      },
      "message": "xfrm: use xfrm_addr_cmp() instead of compare addresses directly\n\nClean up to use xfrm_addr_cmp() instead of compare addresses directly.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6828b92bd21acd65113dfe0541f19f5df0d9668f",
      "tree": "be9b1009500891d7598a2c19a63fad9c0a28f17c",
      "parents": [
        "8e5b9dda99cc86bdbd822935fcc37c5808e271b3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Jun 28 18:06:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 29 19:41:43 2009 -0700"
      },
      "message": "tcp: Do not tack on TSO data to non-TSO packet\n\nIf a socket starts out on a non-TSO route, and then switches to\na TSO route, then we will tack on data to the tail of the tx queue\neven if it started out life as non-TSO.  This is suboptimal because\nall of it will then be copied and checksummed unnecessarily.\n\nThis patch fixes this by ensuring that skb-\u003eip_summed is set to\nCHECKSUM_PARTIAL before appending extra data beyond the MSS.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e5b9dda99cc86bdbd822935fcc37c5808e271b3",
      "tree": "216ce989fdac1d8ecd33698e8fae46fe0d4bb616",
      "parents": [
        "9c0346bd0891eb009f5cd08b868ff41c65804dbe"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Jun 28 18:03:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 29 19:41:39 2009 -0700"
      },
      "message": "tcp: Stop non-TSO packets morphing into TSO\n\nIf a socket starts out on a non-TSO route, and then switches to\na TSO route, then the tail on the tx queue can morph into a TSO\npacket, causing mischief because the rest of the stack does not\nexpect a partially linear TSO packet.\n\nThis patch fixes this by ensuring that skb-\u003eip_summed is set to\nCHECKSUM_PARTIAL before declaring a packet as TSO.\n\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c0346bd0891eb009f5cd08b868ff41c65804dbe",
      "tree": "51dcbdfc4895e81f60f37fe2e5b59b1207fe5c2b",
      "parents": [
        "53bd9728bf9be7fc3b3147e821dbeb71d767c354",
        "dfd06fe8246c0425f8d6850b8e2c872b0d691ec3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 29 19:23:53 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 29 19:23:53 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan\n"
    },
    {
      "commit": "53bd9728bf9be7fc3b3147e821dbeb71d767c354",
      "tree": "3e4dcda28ef94b6d67d24d22b4e1ec76f6fcd968",
      "parents": [
        "bd46cb6cf11867130a41ea9546dd65688b71f3c2",
        "d6d3f08b0fd998b647a05540cedd11a067b72867"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 29 19:22:31 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 29 19:22:31 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6\n"
    },
    {
      "commit": "dfd06fe8246c0425f8d6850b8e2c872b0d691ec3",
      "tree": "d67ef72edb3a33b6884c799eb1af5fcc624b49df",
      "parents": [
        "932c1329acebc03ef5efa3647c9c3a967b59d0c4"
      ],
      "author": {
        "name": "Dmitry Eremin-Solenikov",
        "email": "dbaryshkov@gmail.com",
        "time": "Fri Jun 19 17:02:09 2009 +0400"
      },
      "committer": {
        "name": "Dmitry Eremin-Solenikov",
        "email": "dbaryshkov@gmail.com",
        "time": "Mon Jun 29 18:20:28 2009 +0400"
      },
      "message": "nl802154: add module license and description\n\nSigned-off-by: Dmitry Eremin-Solenikov \u003cdbaryshkov@gmail.com\u003e\n"
    },
    {
      "commit": "932c1329acebc03ef5efa3647c9c3a967b59d0c4",
      "tree": "c0e281f5074ea0e655543eba8a766d0fe500c8bd",
      "parents": [
        "e0af6062aa4f89081afb8a1a4269605775d354de"
      ],
      "author": {
        "name": "Dmitry Eremin-Solenikov",
        "email": "dbaryshkov@gmail.com",
        "time": "Fri Jun 19 17:00:08 2009 +0400"
      },
      "committer": {
        "name": "Dmitry Eremin-Solenikov",
        "email": "dbaryshkov@gmail.com",
        "time": "Mon Jun 29 18:20:27 2009 +0400"
      },
      "message": "nl802154: fix Oops in ieee802154_nl_get_dev\n\nieee802154_nl_get_dev() lacks check for the existance of the device\nthat was returned by dev_get_XXX, thus resulting in Oops for non-existing\ndevices. Fix it.\n\nSigned-off-by: Dmitry Eremin-Solenikov \u003cdbaryshkov@gmail.com\u003e\n"
    },
    {
      "commit": "d6d3f08b0fd998b647a05540cedd11a067b72867",
      "tree": "9f5152df21771607d13440fe5ae2db9c08051a6b",
      "parents": [
        "8a3af79361e85db6fec4173ef1916322471c19e3"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Jun 29 14:31:46 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 29 14:31:46 2009 +0200"
      },
      "message": "netfilter: xtables: conntrack match revision 2\n\nAs reported by Philip, the UNTRACKED state bit does not fit within\nthe 8-bit state_mask member. Enlarge state_mask and give status_mask\na few more bits too.\n\nReported-by: Philip Craig \u003cphilipc@snapgear.com\u003e\nReferences: http://markmail.org/thread/b7eg6aovfh4agyz7\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "a3a9f79e361e864f0e9d75ebe2a0cb43d17c4272",
      "tree": "e38bb7cc051cf197a813d553713e3071d375a1b9",
      "parents": [
        "308ff823ebd749a94d3b6ac26b95bc0eb114c39e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 29 14:07:56 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 29 14:07:56 2009 +0200"
      },
      "message": "netfilter: tcp conntrack: fix unacknowledged data detection with NAT\n\nWhen NAT helpers change the TCP packet size, the highest seen sequence\nnumber needs to be corrected. This is currently only done upwards, when\nthe packet size is reduced the sequence number is unchanged. This causes\nTCP conntrack to falsely detect unacknowledged data and decrease the\ntimeout.\n\nFix by updating the highest seen sequence number in both directions after\npacket mangling.\n\nTested-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "ff780cd8f2fa928b193554f593b36d1243554212",
      "tree": "451563416dc07de91d274ab696055878fd6270aa",
      "parents": [
        "71f9dacd2e4d233029e9e956ca3f79531f411827"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jun 26 19:27:04 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 26 19:27:04 2009 -0700"
      },
      "message": "gro: Flush GRO packets in napi_disable_pending path\n\nWhen NAPI is disabled while we\u0027re in net_rx_action, we end up\ncalling __napi_complete without flushing GRO packets.  This is\na bug as it would cause the GRO packets to linger, of course it\nalso literally BUGs to catch error like this :)\n\nThis patch changes it to napi_complete, with the obligatory IRQ\nreenabling.  This should be safe because we\u0027ve only just disabled\nIRQs and it does not materially affect the test conditions in\nbetween.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "71f9dacd2e4d233029e9e956ca3f79531f411827",
      "tree": "f625e54e95107dcbc622a6ecf64138fca3d8e0c7",
      "parents": [
        "4a27096bbe2cad4c6e78802a0d9dfe0e598a1129"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jun 26 19:22:37 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 26 19:22:37 2009 -0700"
      },
      "message": "inet: Call skb_orphan before tproxy activates\n\nAs transparent proxying looks up the socket early and assigns\nit to the skb for later processing, we must drop any existing\nsocket ownership prior to that in order to distinguish between\nthe case where tproxy is active and where it is not.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a27096bbe2cad4c6e78802a0d9dfe0e598a1129",
      "tree": "c2d230e74d2b43c88bf3e651592d9baa622875da",
      "parents": [
        "75de874f5c35f679c6370fccc2bf4930e638ef3b"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Fri Jun 26 10:45:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 26 13:51:36 2009 -0700"
      },
      "message": "mac80211: Use rcu_barrier() on unload.\n\nThe mac80211 module uses rcu_call() thus it should use rcu_barrier()\non module unload.\n\nThe rcu_barrier() is placed in mech.c ieee80211_stop_mesh() which is\ninvoked from ieee80211_stop() in case vif.type \u003d\u003d NL80211_IFTYPE_MESH_POINT.\n\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75de874f5c35f679c6370fccc2bf4930e638ef3b",
      "tree": "b5672242086493b45bd153607dafaf4d346d4924",
      "parents": [
        "473c22d759e73cbbe604f41105b497817cc2ee8e"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Fri Jun 26 10:45:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 26 13:51:34 2009 -0700"
      },
      "message": "sunrpc: Use rcu_barrier() on unload.\n\nThe sunrpc module uses rcu_call() thus it should use rcu_barrier() on\nmodule unload.\n\nHave not verified that the possibility for new call_rcu() callbacks\nhas been disabled.  As a hint for checking, the functions calling\ncall_rcu() (unx_destroy_cred and generic_destroy_cred) are\nregistered as crdestroy function pointer in struct rpc_credops.\n\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "473c22d759e73cbbe604f41105b497817cc2ee8e",
      "tree": "799832200c62f721718408a1a072da2cdc5fa35c",
      "parents": [
        "1f2ccd00f224a4e2d6d26f590f3e6851f3deef99"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Fri Jun 26 10:45:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 26 13:51:32 2009 -0700"
      },
      "message": "bridge: Use rcu_barrier() instead of syncronize_net() on unload.\n\nWhen unloading modules that uses call_rcu() callbacks, then we must\nuse rcu_barrier().  This module uses syncronize_net() which is not\nenough to be sure that all callback has been completed.\n\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1f2ccd00f224a4e2d6d26f590f3e6851f3deef99",
      "tree": "fc9ed2324b0b789728df90b155bd61e310f42b70",
      "parents": [
        "10e85448019097e4fcfa535f612f51d0d31a34f4"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Fri Jun 26 10:46:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 26 13:51:31 2009 -0700"
      },
      "message": "ipv6: Use rcu_barrier() on module unload.\n\nThe ipv6 module uses rcu_call() thus it should use rcu_barrier() on\nmodule unload.\n\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "10e85448019097e4fcfa535f612f51d0d31a34f4",
      "tree": "7e5c958ec04dec01dcb7b70251527495686b0d32",
      "parents": [
        "b9389796fa4c87fbdff33816e317cdae5f36dd0b"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Fri Jun 26 10:46:08 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 26 13:51:27 2009 -0700"
      },
      "message": "decnet: Use rcu_barrier() on module unload.\n\nThe decnet module unloading as been disabled with a \u0027#if 0\u0027 statement,\nbecause it have had issues.\n\nWe add a rcu_barrier() anyhow for correctness.\n\nThe maintainer (Chrissie Caulfield) will look into the unload issue\nwhen time permits.\n\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Chrissie Caulfield \u003cchristine.caulfield@googlemail.com\u003e\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1faa69810b2af562b70b2a71c116c7d03575dd3",
      "tree": "074a4b79742f1749eafc5e539f3241e5d57d8236",
      "parents": [
        "1ac530b3553e0b4dc1e18a32bed57cfa84cd57cb"
      ],
      "author": {
        "name": "Jens Rosenboom",
        "email": "me@jayr.de",
        "time": "Thu Jun 25 04:55:50 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 25 20:03:50 2009 -0700"
      },
      "message": "ipv6: avoid wraparound for expired preferred lifetime\n\nAvoid showing wrong high values when the preferred lifetime of an address\nis expired.\n\nSigned-off-by: Jens Rosenboom \u003cme@jayr.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ac530b3553e0b4dc1e18a32bed57cfa84cd57cb",
      "tree": "cc0198945aeee7b60ea06c1699fc72268efc26f7",
      "parents": [
        "d8146bb23ea045fb75c56b4e3b53f0964eed4076"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Jun 24 22:29:31 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 25 20:03:15 2009 -0700"
      },
      "message": "tcp: missing check ACK flag of received segment in FIN-WAIT-2 state\n\nRFC0793 defined that in FIN-WAIT-2 state if the ACK bit is off drop\nthe segment and return[Page 72]. But this check is missing in function\ntcp_timewait_state_process(). This cause the segment with FIN flag but\nno ACK has two diffent action:\n\nCase 1:\n    Node A                      Node B\n              \u003c-------------    FIN,ACK\n                                (enter FIN-WAIT-1)\n    ACK       -------------\u003e\n                                (enter FIN-WAIT-2)\n    FIN       -------------\u003e    discard\n                                (move sk to tw list)\n\nCase 2:\n    Node A                      Node B\n              \u003c-------------    FIN,ACK\n                                (enter FIN-WAIT-1)\n    ACK       -------------\u003e\n                                (enter FIN-WAIT-2)\n                                (move sk to tw list)\n    FIN       -------------\u003e\n\n              \u003c-------------    ACK\n\nThis patch fixed the problem.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "308ff823ebd749a94d3b6ac26b95bc0eb114c39e",
      "tree": "990a750303525a9f643a584a71aa8ac81c568d78",
      "parents": [
        "28d0325ce6e0a52f53d8af687e6427fee59004d3"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Thu Jun 25 16:32:52 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jun 25 16:32:52 2009 +0200"
      },
      "message": "nf_conntrack: Use rcu_barrier()\n\nRCU barriers, rcu_barrier(), is inserted two places.\n\n In nf_conntrack_expect.c nf_conntrack_expect_fini() before the\n kmem_cache_destroy().  Firstly to make sure the callback to the\n nf_ct_expect_free_rcu() code is still around.  Secondly because I\u0027m\n unsure about the consequence of having in flight\n nf_ct_expect_free_rcu/kmem_cache_free() calls while doing a\n kmem_cache_destroy() slab destroy.\n\n And in nf_conntrack_extend.c nf_ct_extend_unregister(), inorder to\n wait for completion of callbacks to __nf_ct_ext_free_rcu(), which is\n invoked by __nf_ct_ext_add().  It might be more efficient to call\n rcu_barrier() in nf_conntrack_core.c nf_conntrack_cleanup_net(), but\n thats make it more difficult to read the code (as the callback code\n in located in nf_conntrack_extend.c).\n\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "2be6fa4c7e5731375cc5e70843a3444293c27514",
      "tree": "82b6f84c70591692cfcc7beaebb406060d991e6c",
      "parents": [
        "c7a1a4c80f873d5d6ecd173035bb80eba489f380"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Wed Jun 24 01:07:45 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 25 02:58:16 2009 -0700"
      },
      "message": "Phonet: generate Netlink RTM_DELADDR when destroying a device\n\nNetlink address deletion events were not sent when a network device\nvanished neither when Phonet was unloaded.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c7a1a4c80f873d5d6ecd173035bb80eba489f380",
      "tree": "5e5ab834178d4acf3074047932d498dff8cf6e52",
      "parents": [
        "11687a1099583273a8a98ec42af62b5bb5a69e45"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Wed Jun 24 01:07:44 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 25 02:58:15 2009 -0700"
      },
      "message": "Phonet: publicize the Netlink notification function\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "245acb87729bc76ba65c7476665c01837e0cdccb",
      "tree": "b7190a01772e3ae93900300712bdc437cf014179",
      "parents": [
        "28d0325ce6e0a52f53d8af687e6427fee59004d3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jun 24 03:55:41 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 24 18:03:10 2009 -0700"
      },
      "message": "ipsec: Fix name of CAST algorithm\n\nOur CAST algorithm is called cast5, not cast128.  Clearly nobody\nhas ever used it :)\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09ce42d3167e3f20b501fa780c2415332330fac5",
      "tree": "2f0a6e2e3ec51187f4df78e8c75aa31602a6edd4",
      "parents": [
        "d7ed9c05ebf56c04811276207d7110706debe09f",
        "7959ea254ed18faee41160b1c50b3c9664735967"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 24 10:01:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 24 10:01:12 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6:\n  bnx2: Fix the behavior of ethtool when ONBOOT\u003dno\n  qla3xxx: Don\u0027t sleep while holding lock.\n  qla3xxx: Give the PHY time to come out of reset.\n  ipv4 routing: Ensure that route cache entries are usable and reclaimable with caching is off\n  net: Move rx skb_orphan call to where needed\n  ipv6: Use correct data types for ICMPv6 type and code\n  net: let KS8842 driver depend on HAS_IOMEM\n  can: let SJA1000 driver depend on HAS_IOMEM\n  netxen: fix firmware init handshake\n  netxen: fix build with without CONFIG_PM\n  netfilter: xt_rateest: fix comparison with self\n  netfilter: xt_quota: fix incomplete initialization\n  netfilter: nf_log: fix direct userspace memory access in proc handler\n  netfilter: fix some sparse endianess warnings\n  netfilter: nf_conntrack: fix conntrack lookup race\n  netfilter: nf_conntrack: fix confirmation race condition\n  netfilter: nf_conntrack: death_by_timeout() fix\n"
    },
    {
      "commit": "b6280b47a7a42970d098a3059f4ebe7e55e90d8d",
      "tree": "527607fdec0db21c6b49b97c7e8b19671bfe25bf",
      "parents": [
        "d55d87fdff8252d0e2f7c28c2d443aee17e9d70f"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Jun 22 10:18:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 23 16:36:26 2009 -0700"
      },
      "message": "ipv4 routing: Ensure that route cache entries are usable and reclaimable with caching is off\n\nWhen route caching is disabled (rt_caching returns false), We still use route\ncache entries that are created and passed into rt_intern_hash once.  These\nroutes need to be made usable for the one call path that holds a reference to\nthem, and they need to be reclaimed when they\u0027re finished with their use.  To be\nmade usable, they need to be associated with a neighbor table entry (which they\ncurrently are not), otherwise iproute_finish2 just discards the packet, since we\ndon\u0027t know which L2 peer to send the packet to.  To do this binding, we need to\nfollow the path a bit higher up in rt_intern_hash, which calls\narp_bind_neighbour, but not assign the route entry to the hash table.\nCurrently, if caching is off, we simply assign the route to the rp pointer and\nare reutrn success.  This patch associates us with a neighbor entry first.\n\nSecondly, we need to make sure that any single use routes like this are known to\nthe garbage collector when caching is off.  If caching is off, and we try to\nhash in a route, it will leak when its refcount reaches zero.  To avoid this,\nthis patch calls rt_free on the route cache entry passed into rt_intern_hash.\nThis places us on the gc list for the route cache garbage collector, so that\nwhen its refcount reaches zero, it will be reclaimed (Thanks to Alexey for this\nsuggestion).\n\nI\u0027ve tested this on a local system here, and with these patches in place, I\u0027m\nable to maintain routed connectivity to remote systems, even if I set\n/proc/sys/net/ipv4/rt_cache_rebuild_count to -1, which forces rt_caching to\nreturn false.\n\nSigned-off-by: Neil Horman \u003cnhorman@redhat.com\u003e\nReported-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nReported-by: Maxime Bizon \u003cmbizon@freebox.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d55d87fdff8252d0e2f7c28c2d443aee17e9d70f",
      "tree": "a4bfb0a47525672c690b63e85bf3f47f4ab014f7",
      "parents": [
        "d5fdd6babcfc2b0e6a8da1acf492a69fb54b4c47"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 22 02:25:25 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 23 16:36:25 2009 -0700"
      },
      "message": "net: Move rx skb_orphan call to where needed\n\nIn order to get the tun driver to account packets, we need to be\nable to receive packets with destructors set.  To be on the safe\nside, I added an skb_orphan call for all protocols by default since\nsome of them (IP in particular) cannot handle receiving packets\ndestructors properly.\n\nNow it seems that at least one protocol (CAN) expects to be able\nto pass skb-\u003esk through the rx path without getting clobbered.\n\nSo this patch attempts to fix this properly by moving the skb_orphan\ncall to where it\u0027s actually needed.  In particular, I\u0027ve added it\nto skb_set_owner_[rw] which is what most users of skb-\u003edestructor\ncall.\n\nThis is actually an improvement for tun too since it means that\nwe only give back the amount charged to the socket when the skb\nis passed to another socket that will also be charged accordingly.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nTested-by: Oliver Hartkopp \u003colver@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5fdd6babcfc2b0e6a8da1acf492a69fb54b4c47",
      "tree": "e4ebdb5d6c4b1ddc16f83e701e3e6038c379a497",
      "parents": [
        "0cf08dcb78e8d61b6d4b2eb5cdb296d969971626"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Tue Jun 23 04:31:07 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 23 04:31:07 2009 -0700"
      },
      "message": "ipv6: Use correct data types for ICMPv6 type and code\n\nChange all the code that deals directly with ICMPv6 type and code\nvalues to use u8 instead of a signed int as that\u0027s the actual data\ntype.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e0338c0de18c50f09aea1fbef45110cf7d64a3c",
      "tree": "30a935c1f6eee7125a9fbb802a33292b1f7268fa",
      "parents": [
        "df36b439c5fedefe013d4449cb6a50d15e2f4d70",
        "47fcb03fefee2501e79176932a4184fc24d6f8ec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 12:55:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 12:55:50 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://fieldses.org/git/linux-nfsd\n\n* \u0027for-2.6.31\u0027 of git://fieldses.org/git/linux-nfsd: (60 commits)\n  SUNRPC: Fix the TCP server\u0027s send buffer accounting\n  nfsd41: Backchannel: minorversion support for the back channel\n  nfsd41: Backchannel: cleanup nfs4.0 callback encode routines\n  nfsd41: Remove ip address collision detection case\n  nfsd: optimise the starting of zero threads when none are running.\n  nfsd: don\u0027t take nfsd_mutex twice when setting number of threads.\n  nfsd41: sanity check client drc maxreqs\n  nfsd41: move channel attributes from nfsd4_session to a nfsd4_channel_attr struct\n  NFS: kill off complicated macro \u0027PROC\u0027\n  sunrpc: potential memory leak in function rdma_read_xdr\n  nfsd: minor nfsd_vfs_write cleanup\n  nfsd: Pull write-gathering code out of nfsd_vfs_write\n  nfsd: track last inode only in use_wgather case\n  sunrpc: align cache_clean work\u0027s timer\n  nfsd: Use write gathering only with NFSv2\n  NFSv4: kill off complicated macro \u0027PROC\u0027\n  NFSv4: do exact check about attribute specified\n  knfsd: remove unreported filehandle stats counters\n  knfsd: fix reply cache memory corruption\n  knfsd: reply cache cleanups\n  ...\n"
    },
    {
      "commit": "df36b439c5fedefe013d4449cb6a50d15e2f4d70",
      "tree": "537c58db778cbf11b74e28091f89d1b8139fb84d",
      "parents": [
        "a9b011f5ac57cbaedb32a8149f3d39d7b2c1f0e0",
        "e9f029855865e917821ef6034b31e340a4cfc815"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 12:53:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 12:53:06 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027for-2.6.31\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (128 commits)\n  nfs41: sunrpc: xprt_alloc_bc_request() should not use spin_lock_bh()\n  nfs41: Move initialization of nfs4_opendata seq_res to nfs4_init_opendata_res\n  nfs: remove unnecessary NFS_INO_INVALID_ACL checks\n  NFS: More \"sloppy\" parsing problems\n  NFS: Invalid mount option values should always fail, even with \"sloppy\"\n  NFS: Remove unused XDR decoder functions\n  NFS: Update MNT and MNT3 reply decoding functions\n  NFS: add XDR decoder for mountd version 3 auth-flavor lists\n  NFS: add new file handle decoders to in-kernel mountd client\n  NFS: Add separate mountd status code decoders for each mountd version\n  NFS: remove unused function in fs/nfs/mount_clnt.c\n  NFS: Use xdr_stream-based XDR encoder for MNT\u0027s dirpath argument\n  NFS: Clean up MNT program definitions\n  lockd: Don\u0027t bother with RPC ping for NSM upcalls\n  lockd: Update NSM state from SM_MON replies\n  NFS: Fix false error return from nfs_callback_up() if ipv6.ko is not available\n  NFS: Return error code from nfs_callback_up() to user space\n  NFS: Do not display the setting of the \"intr\" mount option\n  NFS: add support for splice writes\n  nfs41: Backchannel: CB_SEQUENCE validation\n  ...\n"
    },
    {
      "commit": "5165aece0efac6574fc3e32b6f1c2a964820d1c6",
      "tree": "73131c06a021578a47526a95bad391dbd9d3b932",
      "parents": [
        "e38be994b9cad09b0d8d78a1875d7e8a2e115d29",
        "f6b24caaf933a466397915a08e30e885a32f905a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 11:57:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 11:57:09 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (43 commits)\n  via-velocity: Fix velocity driver unmapping incorrect size.\n  mlx4_en: Remove redundant refill code on RX\n  mlx4_en: Removed redundant check on lso header size\n  mlx4_en: Cancel port_up check in transmit function\n  mlx4_en: using stop/start_all_queues\n  mlx4_en: Removed redundant skb-\u003elen check\n  mlx4_en: Counting all the dropped packets on the TX side\n  usbnet cdc_subset: fix issues talking to PXA gadgets\n  Net: qla3xxx, remove sleeping in atomic\n  ipv4: fix NULL pointer + success return in route lookup path\n  isdn: clean up documentation index\n  cfg80211: validate station settings\n  cfg80211: allow setting station parameters in mesh\n  cfg80211: allow adding/deleting stations on mesh\n  ath5k: fix beacon_int handling\n  MAINTAINERS: Fix Atheros pattern paths\n  ath9k: restore PS mode, before we put the chip into FULL SLEEP state.\n  ath9k: wait for beacon frame along with CAB\n  acer-wmi: fix rfkill conversion\n  ath5k: avoid PCI FATAL interrupts by restoring RETRY_TIMEOUT disabling\n  ...\n"
    },
    {
      "commit": "4d900f9df5f0569c2dc536701e2c11b6d50ebebf",
      "tree": "e1ea624237ce9fab843080263ec51c5cadbe5c22",
      "parents": [
        "6d62182fea6cc6bbc8d82a691ad0608d68a54aeb"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 22 14:17:12 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 22 14:17:12 2009 +0200"
      },
      "message": "netfilter: xt_rateest: fix comparison with self\n\nAs noticed by Török Edwin \u003cedwintorok@gmail.com\u003e:\n\nCompiling the kernel with clang has shown this warning:\n\nnet/netfilter/xt_rateest.c:69:16: warning: self-comparison always results in a\nconstant value\n                        ret \u0026\u003d pps2 \u003d\u003d pps2;\n                                    ^\nLooking at the code:\nif (info-\u003eflags \u0026 XT_RATEEST_MATCH_BPS)\n            ret \u0026\u003d bps1 \u003d\u003d bps2;\n        if (info-\u003eflags \u0026 XT_RATEEST_MATCH_PPS)\n            ret \u0026\u003d pps2 \u003d\u003d pps2;\n\nJudging from the MATCH_BPS case it seems to be a typo, with the intention of\ncomparing pps1 with pps2.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d13535\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "6d62182fea6cc6bbc8d82a691ad0608d68a54aeb",
      "tree": "eefff92d2a4c7fc6751485eacd21e620dd7ac925",
      "parents": [
        "249556192859490b6280552d4b877064f9f5ee48"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Jun 22 14:16:45 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 22 14:16:45 2009 +0200"
      },
      "message": "netfilter: xt_quota: fix incomplete initialization\n\nCommit v2.6.29-rc5-872-gacc738f (\"xtables: avoid pointer to self\")\nforgot to copy the initial quota value supplied by iptables into the\nprivate structure, thus counting from whatever was in the memory\nkmalloc returned.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "249556192859490b6280552d4b877064f9f5ee48",
      "tree": "2817f5dc625d6c34b693181874945690be74adfc",
      "parents": [
        "f9ffc31251c2caa11962c9b74ce650e2167fa8d1"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 22 14:15:30 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 22 14:15:30 2009 +0200"
      },
      "message": "netfilter: nf_log: fix direct userspace memory access in proc handler\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f9ffc31251c2caa11962c9b74ce650e2167fa8d1",
      "tree": "3a409f1676ed95473e54610bfaa8a2100a151972",
      "parents": [
        "8d8890b7751387f58ce0a6428773de2fbc0fd596"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 22 14:15:02 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 22 14:15:02 2009 +0200"
      },
      "message": "netfilter: fix some sparse endianess warnings\n\nnet/netfilter/xt_NFQUEUE.c:46:9: warning: incorrect type in assignment (different base types)\nnet/netfilter/xt_NFQUEUE.c:46:9:    expected unsigned int [unsigned] [usertype] ipaddr\nnet/netfilter/xt_NFQUEUE.c:46:9:    got restricted unsigned int\nnet/netfilter/xt_NFQUEUE.c:68:10: warning: incorrect type in assignment (different base types)\nnet/netfilter/xt_NFQUEUE.c:68:10:    expected unsigned int [unsigned] \u003cnoident\u003e\nnet/netfilter/xt_NFQUEUE.c:68:10:    got restricted unsigned int\nnet/netfilter/xt_NFQUEUE.c:69:10: warning: incorrect type in assignment (different base types)\nnet/netfilter/xt_NFQUEUE.c:69:10:    expected unsigned int [unsigned] \u003cnoident\u003e\nnet/netfilter/xt_NFQUEUE.c:69:10:    got restricted unsigned int\nnet/netfilter/xt_NFQUEUE.c:70:10: warning: incorrect type in assignment (different base types)\nnet/netfilter/xt_NFQUEUE.c:70:10:    expected unsigned int [unsigned] \u003cnoident\u003e\nnet/netfilter/xt_NFQUEUE.c:70:10:    got restricted unsigned int\nnet/netfilter/xt_NFQUEUE.c:71:10: warning: incorrect type in assignment (different base types)\nnet/netfilter/xt_NFQUEUE.c:71:10:    expected unsigned int [unsigned] \u003cnoident\u003e\nnet/netfilter/xt_NFQUEUE.c:71:10:    got restricted unsigned int\n\nnet/netfilter/xt_cluster.c:20:55: warning: incorrect type in return expression (different base types)\nnet/netfilter/xt_cluster.c:20:55:    expected unsigned int\nnet/netfilter/xt_cluster.c:20:55:    got restricted unsigned int const [usertype] ip\nnet/netfilter/xt_cluster.c:20:55: warning: incorrect type in return expression (different base types)\nnet/netfilter/xt_cluster.c:20:55:    expected unsigned int\nnet/netfilter/xt_cluster.c:20:55:    got restricted unsigned int const [usertype] ip\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "8d8890b7751387f58ce0a6428773de2fbc0fd596",
      "tree": "651b2f1da674823f386d4ba9165a6d81212e52cf",
      "parents": [
        "5c8ec910e789a92229978d8fd1fce7b62e8ac711"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 22 14:14:41 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 22 14:14:41 2009 +0200"
      },
      "message": "netfilter: nf_conntrack: fix conntrack lookup race\n\nThe RCU protected conntrack hash lookup only checks whether the entry\nhas a refcount of zero to decide whether it is stale. This is not\nsufficient, entries are explicitly removed while there is at least\none reference left, possibly more. Explicitly check whether the entry\nhas been marked as dying to fix this.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "5c8ec910e789a92229978d8fd1fce7b62e8ac711",
      "tree": "d24884793a0804bf2f96afac2248189b358b8ae2",
      "parents": [
        "8cc20198cfccd06cef705c14fd50bde603e2e306"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 22 14:14:16 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 22 14:14:16 2009 +0200"
      },
      "message": "netfilter: nf_conntrack: fix confirmation race condition\n\nNew connection tracking entries are inserted into the hash before they\nare fully set up, namely the CONFIRMED bit is not set and the timer not\nstarted yet. This can theoretically lead to a race with timer, which\nwould set the timeout value to a relative value, most likely already in\nthe past.\n\nPerform hash insertion as the final step to fix this.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "8cc20198cfccd06cef705c14fd50bde603e2e306",
      "tree": "95934002dceac963afa7b135b39a9b2b6bdce368",
      "parents": [
        "f6b24caaf933a466397915a08e30e885a32f905a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jun 22 14:13:55 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 22 14:13:55 2009 +0200"
      },
      "message": "netfilter: nf_conntrack: death_by_timeout() fix\n\ndeath_by_timeout() might delete a conntrack from hash list\nand insert it in dying list.\n\n nf_ct_delete_from_lists(ct);\n nf_ct_insert_dying_list(ct);\n\nI believe a (lockless) reader could *catch* ct while doing a lookup\nand miss the end of its chain.\n(nulls lookup algo must check the null value at the end of lookup and\nshould restart if the null value is not the expected one.\ncf Documentation/RCU/rculist_nulls.txt for details)\n\nWe need to change nf_conntrack_init_net() and use a different \"null\" value,\nguaranteed not being used in regular lists. Choose very large values, since\nhash table uses [0..size-1] null values.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "e9f029855865e917821ef6034b31e340a4cfc815",
      "tree": "91eac0e44cbcd73e421497100316cc8e7ae102bb",
      "parents": [
        "578e4585685410cacd1a4ac86b7e3c12805be918"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Thu Jun 18 22:01:24 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 20 14:55:39 2009 -0400"
      },
      "message": "nfs41: sunrpc: xprt_alloc_bc_request() should not use spin_lock_bh()\n\nxprt_alloc_bc_request() is always called in soft interrupt context.\nGrab the spin_lock instead of the bottom half spin_lock.  Softirqs\ndo not preempt other softirqs running on the same processor, so there\nis no need to disable bottom halves.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c3da63f35773b04e885c5659e560d5c521d2682e",
      "tree": "5e876e7587f299cadce0b53bfaf912fb28d8283d",
      "parents": [
        "73e42897e8e5619eacb787d2ce69be12f47cfc21",
        "a97f4424fb4cddecf9b13c9b0e3f79924b624a7f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 20 01:16:40 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 20 01:16:40 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "73e42897e8e5619eacb787d2ce69be12f47cfc21",
      "tree": "02ce26705cbca451b069205069afb0956deb9e04",
      "parents": [
        "952e57ba3769d6fc6139b8a99c32ea2bb63f23e9"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Sat Jun 20 01:15:16 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 20 01:15:16 2009 -0700"
      },
      "message": "ipv4: fix NULL pointer + success return in route lookup path\n\nDon\u0027t drop route if we\u0027re not caching\t\n\n\tI recently got a report of an oops on a route lookup.  Maxime was\ntesting what would happen if route caching was turned off (doing so by setting\nmaking rt_caching always return 0), and found that it triggered an oops.  I\nlooked at it and found that the problem stemmed from the fact that the route\nlookup routines were returning success from their lookup paths (which is good),\nbut never set the **rp pointer to anything (which is bad).  This happens because\nin rt_intern_hash, if rt_caching returns false, we call rt_drop and return 0.\nThis almost emulates slient success.  What we should be doing is assigning *rp \u003d\nrt and _not_ dropping the route.  This way, during slow path lookups, when we\ncreate a new route cache entry, we don\u0027t immediately discard it, rather we just\ndon\u0027t add it into the cache hash table, but we let this one lookup use it for\nthe purpose of this route request.  Maxime has tested and reports it prevents\nthe oops.  There is still a subsequent routing issue that I\u0027m looking into\nfurther, but I\u0027m confident that, even if its related to this same path, this\npatch makes sense to take.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a97f4424fb4cddecf9b13c9b0e3f79924b624a7f",
      "tree": "695ad0cfc1f5ca8a53b595e6c4f16b72170fa670",
      "parents": [
        "9a5e8bbc8fece7851a2a69a8676a6fd0507bc550"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jun 18 17:23:43 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 19 11:50:24 2009 -0400"
      },
      "message": "cfg80211: validate station settings\n\nWhen I disallowed interfering with stations on non-AP interfaces,\nI not only forget mesh but also managed interfaces which need\nthis for the authorized flag. Let\u0027s actually validate everything\nproperly.\n\nThis fixes an nl80211 regression introduced by the interfering,\nunder which wpa_supplicant -Dnl80211 could not properly connect.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9a5e8bbc8fece7851a2a69a8676a6fd0507bc550",
      "tree": "dd6b057fdc7ea1c7a83f18b2a47a1746d26d2a1b",
      "parents": [
        "155cc9e4b1d60161ee53ffaf2c15b9411f086fa7"
      ],
      "author": {
        "name": "Andrey Yurovsky",
        "email": "andrey@cozybit.com",
        "time": "Tue Jun 16 16:09:37 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 19 11:50:24 2009 -0400"
      },
      "message": "cfg80211: allow setting station parameters in mesh\n\nMesh Point interfaces can also set parameters, for example plink_open is\nused to manually establish peer links from user-space (currently via\niw).  Add Mesh Point to the check in nl80211_set_station.\n\nSigned-off-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "155cc9e4b1d60161ee53ffaf2c15b9411f086fa7",
      "tree": "e1e2addf6e30169f609454b6dca6c238798f02f8",
      "parents": [
        "eab0cd493c08632ef10624d0169849c973951c66"
      ],
      "author": {
        "name": "Andrey Yurovsky",
        "email": "andrey@cozybit.com",
        "time": "Tue Jun 16 11:31:04 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 19 11:50:23 2009 -0400"
      },
      "message": "cfg80211: allow adding/deleting stations on mesh\n\nCommit b2a151a288 added a check that prevents adding or deleting\nstations on non-AP interfaces.  Adding and deleting stations is\nsupported for Mesh Point interfaces, so add Mesh Point to that check as\nwell.\n\nSigned-off-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "464902e812025792c9e33e19e1555c343672d5cf",
      "tree": "cc243de464a7935291c52ac93d6bd0a24c6c08c5",
      "parents": [
        "96e9cfeb9692b0bc6e03f9b6f9cb3c67a40b76d1"
      ],
      "author": {
        "name": "Alan Jenkins",
        "email": "alan-jenkins@tuffmail.co.uk",
        "time": "Tue Jun 16 14:54:04 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 19 11:50:18 2009 -0400"
      },
      "message": "rfkill: export persistent attribute in sysfs\n\nThis information allows userspace to implement a hybrid policy where\nit can store the rfkill soft-blocked state in platform non-volatile\nstorage if available, and if not then file-based storage can be used.\n\nSome users prefer platform non-volatile storage because of the behaviour\nwhen dual-booting multiple versions of Linux, or if the rfkill setting\nis changed in the BIOS setting screens, or if the BIOS responds to\nwireless-toggle hotkeys itself before the relevant platform driver has\nbeen loaded.\n\nSigned-off-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nAcked-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "06d5caf47ef4fbd9efdceae33293c42778cb7b0c",
      "tree": "51bce5f2f9f7aef903c464ac68c80da6f83e2c53",
      "parents": [
        "7fa20a7f60df0afceafbb8197b5d110507f42c72"
      ],
      "author": {
        "name": "Alan Jenkins",
        "email": "alan-jenkins@tuffmail.co.uk",
        "time": "Tue Jun 16 15:39:51 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 19 11:50:17 2009 -0400"
      },
      "message": "rfkill: don\u0027t restore software blocked state on persistent devices\n\nThe setting of the \"persistent\" flag is also made more explicit using\na new rfkill_init_sw_state() function, instead of special-casing\nrfkill_set_sw_state() when it is called before registration.\n\nSuspend is a bit of a corner case so we try to get away without adding\nanother hack to rfkill-input - it\u0027s going to be removed soon.\nIf the state does change over suspend, users will simply have to prod\nrfkill-input twice in order to toggle the state.\n\nUserspace policy agents will be able to implement a more consistent user\nexperience.  For example, they can avoid the above problem if they\ntoggle devices individually.  Then there would be no \"global state\"\nto get out of sync.\n\nCurrently there are only two rfkill drivers with persistent soft-blocked\nstate.  thinkpad-acpi already checks the software state on resume.\neeepc-laptop will require modification.\n\nSigned-off-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nCC: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nAcked-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7fa20a7f60df0afceafbb8197b5d110507f42c72",
      "tree": "4f27f607618bc48c9b8c83f4169af70abac913d3",
      "parents": [
        "f0214843ba23d9bf6dc6b8ad2c6ee27b60f0322e"
      ],
      "author": {
        "name": "Alan Jenkins",
        "email": "alan-jenkins@tuffmail.co.uk",
        "time": "Tue Jun 16 14:53:24 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 19 11:50:17 2009 -0400"
      },
      "message": "rfkill: rfkill_set_block() when suspended nitpick\n\nIf we return after fiddling with the state, userspace will see the\nwrong state and rfkill_set_sw_state() won\u0027t work until the next call to\nrfkill_set_block().  At the moment rfkill_set_block() will always be\ncalled from rfkill_resume(), but this will change in future.\n\nAlso, presumably the point of this test is to avoid bothering devices\nwhich may be suspended.  If we don\u0027t want to call set_block(), we\nprobably don\u0027t want to call query() either :-).\n\nSigned-off-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "25502bda07b4cd4f1d9942cca2df446c4a0f167c",
      "tree": "669e10051fcc6ac476beb6977496b1c335c16302",
      "parents": [
        "a8f447bda3ee00e3a3ab080c48db40078ea65221"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Thu Jun 18 04:16:46 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 19 00:18:43 2009 -0700"
      },
      "message": "ieee802154: use standard routine for printing dumps\n\nUse print_hex_dump_bytes instead of self-written dumping function\nfor outputting packet dumps.\n\nSigned-off-by: Dmitry Eremin-Solenikov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ea920d211e0a870871965418923b08da2025b4a",
      "tree": "5dc3451a2011f0d32839b5aef20d9aaec1da78cf",
      "parents": [
        "bb664f49f8be17d7b8bf9821144e8a53d7fcfe8a"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Wed Jun 17 21:54:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 19 00:10:40 2009 -0700"
      },
      "message": "af_iucv: Return -EAGAIN if iucv msg limit is exceeded\n\nIf the iucv message limit for a communication path is exceeded,\nsendmsg() returns -EAGAIN instead of -EPIPE.\nThe calling application can then handle this error situtation,\ne.g. to try again after waiting some time.\n\nFor blocking sockets, sendmsg() waits up to the socket timeout\nbefore returning -EAGAIN. For the new wait condition, a macro\nhas been introduced and the iucv_sock_wait_state() has been\nrefactored to this macro.\n\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb664f49f8be17d7b8bf9821144e8a53d7fcfe8a",
      "tree": "b811cf165edda341f7471f213da47698bc8fc10e",
      "parents": [
        "cb2107be43d2fc5eadec58b92b54bf32c00bfff3"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Wed Jun 17 21:54:47 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 19 00:10:39 2009 -0700"
      },
      "message": "af_iucv: Change if condition in sendmsg() for more readability\n\nChange the if condition to exit sendmsg() if the socket in not connected.\n\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47fcb03fefee2501e79176932a4184fc24d6f8ec",
      "tree": "cb8eb34c5e54ce278b54cb6f9c820f564c183574",
      "parents": [
        "ab52ae6db035fa425f90146327ab7d2c5d3e5654"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 18 17:47:56 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jun 18 19:58:51 2009 -0700"
      },
      "message": "SUNRPC: Fix the TCP server\u0027s send buffer accounting\n\nCurrently, the sunrpc server is refusing to allow us to process new RPC\ncalls if the TCP send buffer is 2/3 full, even if we do actually have\nenough free space to guarantee that we can send another request.\nThe following patch fixes svc_tcp_has_wspace() so that we only stop\nprocessing requests if we know that the socket buffer cannot possibly fit\nanother reply.\n\nIt also fixes the tcp write_space() callback so that we only clear the\nSOCK_NOSPACE flag when the TCP send buffer is less than 2/3 full.\nThis should ensure that the send window will grow as per the standard TCP\nsocket code.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1f84603c0940d5bed17f7e4d2e0b2a4b8b8f1b81",
      "tree": "143956f878290e85de7c9130f465e862f587ee53",
      "parents": [
        "301933a0acfdec837fd8b4884093b3f0fff01d8a",
        "4bf259e3ae5015e73282ba66716c4a917e1264ac"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:13:00 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 18 18:13:44 2009 -0700"
      },
      "message": "Merge branch \u0027devel-for-2.6.31\u0027 into for-2.6.31\n\nConflicts:\n\tfs/nfs/client.c\n\tfs/nfs/super.c\n"
    },
    {
      "commit": "d2aa4550379f92e929af7ed1dd4f55e6a1e331f8",
      "tree": "5ef0fc69a507f0d701fd157b6652427eabd5efdd",
      "parents": [
        "9e3e4b1d2d13bead8d52703c82a02b55f108b491",
        "cb2107be43d2fc5eadec58b92b54bf32c00bfff3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 14:07:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 14:07:15 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (55 commits)\n  netxen: fix tx ring accounting\n  netxen: fix detection of cut-thru firmware mode\n  forcedeth: fix dma api mismatches\n  atm: sk_wmem_alloc initial value is one\n  net: correct off-by-one write allocations reports\n  via-velocity : fix no link detection on boot\n  Net / e100: Fix suspend of devices that cannot be power managed\n  TI DaVinci EMAC : Fix rmmod error\n  net: group address list and its count\n  ipv4: Fix fib_trie rebalancing, part 2\n  pkt_sched: Update drops stats in act_police\n  sky2: version 1.23\n  sky2: add GRO support\n  sky2: skb recycling\n  sky2: reduce default transmit ring\n  sky2: receive counter update\n  sky2: fix shutdown synchronization\n  sky2: PCI irq issues\n  sky2: more receive shutdown\n  sky2: turn off pause during shutdown\n  ...\n\nManually fix trivial conflict in net/core/skbuff.c due to kmemcheck\n"
    },
    {
      "commit": "81e2a3d5b75cbf0b42428b9d5a7cc7c85be9e7a7",
      "tree": "cac92ad222a84f30e129b569cb489652a0ca44ef",
      "parents": [
        "31e6d363abcd0d05766c82f1a9c905a4c974a199"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jun 17 19:06:12 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 18 00:29:12 2009 -0700"
      },
      "message": "atm: sk_wmem_alloc initial value is one\n\ncommit 2b85a34e911bf483c27cfdd124aeb1605145dc80\n(net: No more expensive sock_hold()/sock_put() on each tx)\nchanged initial sk_wmem_alloc value.\n\nThis broke net/atm since this protocol assumed a null\ninitial value. This patch makes necessary changes.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31e6d363abcd0d05766c82f1a9c905a4c974a199",
      "tree": "f2b5c46354d95f91e743ae748b8add0de8bffd17",
      "parents": [
        "d3b238a03efd6d644ff93c8b10a1d38a596f2e34"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jun 17 19:05:41 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 18 00:29:12 2009 -0700"
      },
      "message": "net: correct off-by-one write allocations reports\n\ncommit 2b85a34e911bf483c27cfdd124aeb1605145dc80\n(net: No more expensive sock_hold()/sock_put() on each tx)\nchanged initial sk_wmem_alloc value.\n\nWe need to take into account this offset when reporting\nsk_wmem_alloc to user, in PROC_FS files or various\nioctls (SIOCOUTQ/TIOCOUTQ)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "31278e71471399beaff9280737e52b47db4dc345"
}
