)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "31278e71471399beaff9280737e52b47db4dc345",
      "tree": "25fe2ff8e48a75b7f569dccc463f3bd2561c6c66",
      "parents": [
        "7b85576d15bf2574b0a451108f59f9ad4170dd3f"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed Jun 17 01:12:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 18 00:29:08 2009 -0700"
      },
      "message": "net: group address list and its count\n\nThis patch is inspired by patch recently posted by Johannes Berg. Basically what\nmy patch does is to group list and a count of addresses into newly introduced\nstructure netdev_hw_addr_list. This brings us two benefits:\n1) struct net_device becames a bit nicer.\n2) in the future there will be a possibility to operate with lists independently\n   on netdevices (with exporting right functions).\nI wanted to introduce this patch before I\u0027ll post a multicast lists conversion.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\n\n drivers/net/bnx2.c              |    4 +-\n drivers/net/e1000/e1000_main.c  |    4 +-\n drivers/net/ixgbe/ixgbe_main.c  |    6 +-\n drivers/net/mv643xx_eth.c       |    2 +-\n drivers/net/niu.c               |    4 +-\n drivers/net/virtio_net.c        |   10 ++--\n drivers/s390/net/qeth_l2_main.c |    2 +-\n include/linux/netdevice.h       |   17 +++--\n net/core/dev.c                  |  130 ++++++++++++++++++--------------------\n 9 files changed, 89 insertions(+), 90 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b85576d15bf2574b0a451108f59f9ad4170dd3f",
      "tree": "a2d8075b9d234b0a937d7dd82b95cb16b953aec7",
      "parents": [
        "b964758050f856e44f5fe645d03bea8a1b0b66bd"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Thu Jun 18 00:28:51 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 18 00:28:51 2009 -0700"
      },
      "message": "ipv4: Fix fib_trie rebalancing, part 2\n\nMy previous patch, which explicitly delays freeing of tnodes by adding\nthem to the list to flush them after the update is finished, isn\u0027t\nstrict enough. It treats exceptionally tnodes without parent, assuming\nthey are newly created, so \"invisible\" for the read side yet.\n\nBut the top tnode doesn\u0027t have parent as well, so we have to exclude\nall exceptions (at least until a better way is found). Additionally we\nneed to move rcu assignment of this node before flushing, so the\nreturn type of the trie_rebalance() function is changed.\n\nReported-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b964758050f856e44f5fe645d03bea8a1b0b66bd",
      "tree": "086f12ef757a245a410e00fb46e410495c456b3d",
      "parents": [
        "e4f1482e686212e6d1dd6df93888bb26344981c6"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Tue Jun 16 08:33:55 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 17 18:56:45 2009 -0700"
      },
      "message": "pkt_sched: Update drops stats in act_police\n\nAction police statistics could be misleading because drops are not\nshown when expected.\n\nWith feedback from: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\n\nReported-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "603a8bbe62e54108055fca46ecdd611c10c6cd0a",
      "tree": "5d6c6f449cadf7c956f02c399b26460c7c8a20a0",
      "parents": [
        "19633e129c65e5bb62b1af545c5479afcdb01fc4"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jun 17 12:17:34 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 17 18:46:41 2009 -0700"
      },
      "message": "skbuff: don\u0027t corrupt mac_header on skb expansion\n\nThe skb mac_header field is sometimes NULL (or ~0u) as a sentinel\nvalue. The places where skb is expanded add an offset which would\nchange this flag into an invalid pointer (or offset).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "19633e129c65e5bb62b1af545c5479afcdb01fc4",
      "tree": "6b749f02863fc1ae1d3ec9953e2fe60d1db2064a",
      "parents": [
        "c564039fd83ea16a86a96d52632794b24849e507"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jun 17 05:23:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 17 18:46:03 2009 -0700"
      },
      "message": "skbuff: skb_mac_header_was_set is always true on \u003e32 bit\n\nLooking at the crash in log_martians(), one suspect is that the check for\nmac header being set is not correct.  The value of mac_header defaults to\n0 on allocation, therefore skb_mac_header_was_set will always be true on\nplatforms using NET_SKBUFF_USES_OFFSET.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "301933a0acfdec837fd8b4884093b3f0fff01d8a",
      "tree": "1f2412a30d710493179b1b3743cf30302872df15",
      "parents": [
        "3fe0344faf7fdcb158bd5c1a9aec960a8d70c8e8",
        "68f3f90133d56e0c38f04f991e662c2b21592b31"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 17:59:58 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 17:59:58 2009 -0700"
      },
      "message": "Merge commit \u0027linux-pnfs/nfs41-for-2.6.31\u0027 into nfsv41-for-2.6.31\n"
    },
    {
      "commit": "dd2b63d049480979016b959abc2d141cdddb1389",
      "tree": "3b1f9a59b5c0a7c6027ec102a034a4236b41ebd6",
      "parents": [
        "281fe15dc1d6ad46992f18b7a6644269ec5f7138"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:28 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:40 2009 -0700"
      },
      "message": "nfs41: Rename rq_received to rq_reply_bytes_recvd\n\nThe \u0027rq_received\u0027 member of \u0027struct rpc_rqst\u0027 is used to track when we\nhave received a reply to our request.  With v4.1, the backchannel\ncan now accept callback requests over the existing connection.  Rename\nthis field to make it clear that it is only used for tracking reply bytes\nand not all bytes received on the connection.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "343952fa5aac888934ffc203abed26a823400eb6",
      "tree": "95fc380be059ac0b0d3f7f89c1f76b2375685507",
      "parents": [
        "0f91421e8ea986c990c01bf091ceff1d59c165ff"
      ],
      "author": {
        "name": "Rahul Iyer",
        "email": "iyer@netapp.com",
        "time": "Wed Apr 01 09:23:17 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:34 2009 -0700"
      },
      "message": "nfs41: Get the rpc_xprt * from the rpc_rqst instead of the rpc_clnt.\n\nObtain the rpc_xprt from the rpc_rqst so that calls and callback replies\ncan both use the same code path.  A client needs the rpc_xprt in order\nto reply to a callback.\n\nSigned-off-by: Rahul Iyer \u003ciyer@netapp.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "8f975242352e92898dc641ebff0d24808f39848a",
      "tree": "5a14be85500e5da33b97f4951efa42abe56cd570",
      "parents": [
        "9c9f3f5fa62cc4959e4d4d1cf1ec74f2d6ac1197"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:11 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:31 2009 -0700"
      },
      "message": "nfs41: create a svc_xprt for nfs41 callback thread and use for incoming callbacks\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "9c9f3f5fa62cc4959e4d4d1cf1ec74f2d6ac1197",
      "tree": "a8fb954b9e707b4afdd822e503fc4857f4d88d5d",
      "parents": [
        "7652e5a09ba319241607b22d9055ce93fd5b8039"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:23:10 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:31 2009 -0700"
      },
      "message": "nfs41: sunrpc: add a struct svc_xprt pointer to struct svc_serv for backchannel use\n\nThis svc_xprt is passed on to the callback service thread to be later used\nto processes incoming svc_rqst\u0027s\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "7652e5a09ba319241607b22d9055ce93fd5b8039",
      "tree": "9d1d491af237dffb1593ed8f2351ebda36b32972",
      "parents": [
        "a43cde94feded0f65fce36330614691c650ae8fe"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:09 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:30 2009 -0700"
      },
      "message": "nfs41: sunrpc: provide functions to create and destroy a svc_xprt for backchannel use\n\nFor nfs41 callbacks we need an svc_xprt to process requests coming up the\nbackchannel socket as rpc_rqst\u0027s that are transformed into svc_rqst\u0027s that\nneed a rq_xprt to be processed.\n\nThe svc_{udp,tcp}_create methods are too heavy for this job as svc_create_socket\ncreates an actual socket to listen on while for nfs41 we\u0027re \"reusing\" the\nfore channel\u0027s socket.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "4d6bbb6233c9cf23822a2f66f8470c9f40854b77",
      "tree": "0779a7173d2d33adc83162596e64f5636e9f7d5c",
      "parents": [
        "1cad7ea6fe98dc414bd3df55275c147bd15ebf97"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:07 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:29 2009 -0700"
      },
      "message": "nfs41: Backchannel bc_svc_process()\n\nImplement the NFSv4.1 backchannel service.  Invokes the common callback\nprocessing logic svc_process_common() to authenticate the call and\ndispatch the appropriate NFSv4.1 XDR decoder and operation procedure.\nIt then invokes bc_send() to send the reply over the same connection.\nbc_send() is implemented in a separate patch.\n\nAt this time there is no slot validation or reply cache handling.\n\n[nfs41: Preallocate rpc_rqst receive buffer for handling callbacks]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Move bc_svc_process() declaration to correct patch]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "1cad7ea6fe98dc414bd3df55275c147bd15ebf97",
      "tree": "1df4c7075e6a197bc95d69e6d1c95a8b8f4b8646",
      "parents": [
        "0d90ba1cd416525c4825c111db862d8b15a02e9b"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "ricardo.labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:06 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:28 2009 -0700"
      },
      "message": "nfs41: Refactor svc_process()\n\nnet/sunrpc/svc.c:svc_process() is used by the NFSv4 callback service\nto process RPC requests arriving over connections initiated by the\nserver.  NFSv4.1 supports callbacks over the backchannel on connections\ninitiated by the client.  This patch refactors svc_process() so that\ncommon code can also be used by the backchannel.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "0d90ba1cd416525c4825c111db862d8b15a02e9b",
      "tree": "1f1571410b2d1b17eb8e503fc3b60450f93e9dee",
      "parents": [
        "55ae1aabfb108106dd095de2578ceef1c755a8b8"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:04 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:28 2009 -0700"
      },
      "message": "nfs41: Backchannel callback service helper routines\n\nExecutes the backchannel task on the RPC state machine using\nthe existing open connection previously established by the client.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\n\nnfs41: Add bc_svc.o to sunrpc Makefile.\n\n[nfs41: bc_send() does not need to be exported outside RPC module]\n[nfs41: xprt_free_bc_request() need not be exported outside RPC module]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Update copyright]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "55ae1aabfb108106dd095de2578ceef1c755a8b8",
      "tree": "7ccb91f5aac0a3646f7d4e8fbe913955aa300f95",
      "parents": [
        "44b98efdd0a205bdca2cb63493350d06ff6804b1"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:03 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:24 2009 -0700"
      },
      "message": "nfs41: Add backchannel processing support to RPC state machine\n\nAdds rpc_run_bc_task() which is called by the NFS callback service to\nprocess backchannel requests.  It performs similar work to rpc_run_task()\nthough \"schedules\" the backchannel task to be executed starting at the\ncall_trasmit state in the RPC state machine.\n\nIt also introduces some miscellaneous updates to the argument validation,\ncall_transmit, and transport cleanup functions to take into account\nthat there are now forechannel and backchannel tasks.\n\nBackchannel requests do not carry an RPC message structure, since the\npayload has already been XDR encoded using the existing NFSv4 callback\nmechanism.\n\nIntroduce a new transmit state for the client to reply on to backchannel\nrequests.  This new state simply reserves the transport and issues the\nreply.  In case of a connection related error, disconnects the transport and\ndrops the reply.  It requires the forechannel to re-establish the connection\nand the server to retransmit the request, as stated in NFSv4.1 section\n2.9.2 \"Client and Server Transport Behavior\".\n\nNote: There is no need to loop attempting to reserve the transport.  If EAGAIN\nis returned by xprt_prepare_transmit(), return with tk_status \u003d\u003d 0,\nsetting tk_action to call_bc_transmit.  rpc_execute() will invoke it again\nafter the task is taken off the sleep queue.\n\n[nfs41: rpc_run_bc_task() need not be exported outside RPC module]\n[nfs41: New call_bc_transmit RPC state]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Backchannel: No need to loop in call_bc_transmit()]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[rpc_count_iostats incorrectly exits early]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Convert rpc_reply_expected() to inline function]\n[Remove unnecessary BUG_ON()]\n[Rename variable]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "88b5ed73bcd0f21e008b6e303a02c8b7cb1199f4",
      "tree": "efe474f18f8c175b3bfc04f31e8723ed376cc804",
      "parents": [
        "3fe0344faf7fdcb158bd5c1a9aec960a8d70c8e8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 13:22:57 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 13:22:57 2009 -0700"
      },
      "message": "SUNRPC: Fix a missing \"break\" option in xs_tcp_setup_socket()\n\nIn the case of -EADDRNOTAVAIL and/or unhandled connection errors, we want\nto get rid of the existing socket and retry immediately, just as the\ncomment says. Currently we end up sleeping for a minute, due to the missing\n\"break\" statement.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "44b98efdd0a205bdca2cb63493350d06ff6804b1",
      "tree": "d375e3a8a6084672f15e9b12bec082613448340e",
      "parents": [
        "4a8d70bfef01f8e6b27785e2625e88e9a80924a5"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:02 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:16 2009 -0700"
      },
      "message": "nfs41: New xs_tcp_read_data()\n\nHandles RPC replies and backchannel callbacks.  Traditionally the NFS\nclient has expected only RPC replies on its open connections.  With\nNFSv4.1, callbacks can arrive over an existing open connection.\n\nThis patch refactors the old xs_tcp_read_request() into an RPC reply handler:\nxs_tcp_read_reply(), a new backchannel callback handler: xs_tcp_read_callback(),\nand a common routine to read the data off the transport: xs_tcp_read_common().\nThe new xs_tcp_read_callback() queues callback requests onto a queue where\nthe callback service (a separate thread) is listening for the processing.\n\nThis patch incorporates work and suggestions from Rahul Iyer (iyer@netapp.com)\nand Benny Halevy (bhalevy@panasas.com).\n\nxs_tcp_read_callback() drops the connection when the number of expected\ncallbacks is exceeded.  Use xprt_force_disconnect(), ensuring tasks on\nthe pending queue are awaken on disconnect.\n\n[nfs41: Keep track of RPC call/reply direction with a flag]\n[nfs41: Preallocate rpc_rqst receive buffer for handling callbacks]\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: sunrpc: xs_tcp_read_callback() should use xprt_force_disconnect()]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Moves embedded #ifdefs into #ifdef function blocks]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "fb7a0b9addbdbbb13b7bc02abf55ee524ea19ce1",
      "tree": "58f623e78f74c590e20b48f95897c5857d39728f",
      "parents": [
        "f9acac1a4710ce88871f1ae323fc91c1cb6e9d52"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:00 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:14 2009 -0700"
      },
      "message": "nfs41: New backchannel helper routines\n\nThis patch introduces support to setup the callback xprt on the client side.\nIt allocates/ destroys the preallocated memory structures used to process\nbackchannel requests.\n\nAt setup time, xprt_setup_backchannel() is invoked to allocate one or\nmore rpc_rqst structures and substructures.  This ensures that they\nare available when an RPC callback arrives.  The rpc_rqst structures\nare maintained in a linked list attached to the rpc_xprt structure.\nWe keep track of the number of allocations so that they can be correctly\nremoved when the channel is destroyed.\n\nWhen an RPC callback arrives, xprt_alloc_bc_request() is invoked to\nobtain a preallocated rpc_rqst structure.  An rpc_xprt structure is\nreturned, and its RPC_BC_PREALLOC_IN_USE bit is set in\nrpc_xprt-\u003ebc_flags.  The structure is removed from the the list\nsince it is now in use, and it will be later added back when its\nuser is done with it.\n\nAfter the RPC callback replies, the rpc_rqst structure is returned\nby invoking xprt_free_bc_request().  This clears the\nRPC_BC_PREALLOC_IN_USE bit and adds it back to the list, allowing it\nto be reused by a subsequent RPC callback request.\n\nTo be consistent with the reception of RPC messages, the backchannel requests\nshould be placed into the \u0027struct rpc_rqst\u0027 rq_rcv_buf, which is then in turn\ncopied to the \u0027struct rpc_rqst\u0027 rq_private_buf.\n\n[nfs41: Preallocate rpc_rqst receive buffer for handling callbacks]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Update copyright notice and explain page allocation]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "f9acac1a4710ce88871f1ae323fc91c1cb6e9d52",
      "tree": "89b51a8fac7b80cd68d1007d00fa11da4480a04d",
      "parents": [
        "56632b5bff5af10eb12d7e9499b5ffcadcb7a7b2"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:22:59 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:14 2009 -0700"
      },
      "message": "nfs41: Initialize new rpc_xprt callback related fields\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "f4a2e418bfd03a1f25f515e8a92ecd584d96cfc1",
      "tree": "31ea603214b4c68c338af9373b85eedfe0c11275",
      "parents": [
        "18dca02aeb3c49dfce87c76be643b139d05cf647"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:22:54 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:43:46 2009 -0700"
      },
      "message": "nfs41: Process the RPC call direction\n\nReading and storing the RPC direction is a three step process.\n\n1. xs_tcp_read_calldir() reads the RPC direction, but it will not store it\nin the XDR buffer since the \u0027struct rpc_rqst\u0027 is not yet available.\n\n2. The \u0027struct rpc_rqst\u0027 is obtained during the TCP_RCV_COPY_DATA state.\nThis state need not necessarily be preceeded by the TCP_RCV_READ_CALLDIR.\nFor example, we may be reading a continuation packet to a large reply.\nTherefore, we can\u0027t simply obtain the \u0027struct rpc_rqst\u0027 during the\nTCP_RCV_READ_CALLDIR state and assume it\u0027s available during TCP_RCV_COPY_DATA.\n\nThis patch adds a new TCP_RCV_READ_CALLDIR flag to indicate the need to\nread the RPC direction.  It then uses TCP_RCV_COPY_CALLDIR to indicate the\nRPC direction needs to be saved after the \u0027struct rpc_rqst\u0027 has been allocated.\n\n3. The \u0027struct rpc_rqst\u0027 is obtained by the xs_tcp_read_data() helper\nfunctions.  xs_tcp_read_common() then saves the RPC direction in the XDR\nbuffer if TCP_RCV_COPY_CALLDIR is set.  This will happen when we\u0027re reading\nthe data immediately after the direction was read.  xs_tcp_read_common()\nthen clears this flag.\n\n[was nfs41: Skip past the RPC call direction]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: sunrpc: Add RPC direction back into the XDR buffer]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: sunrpc: Don\u0027t skip past the RPC call direction]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "18dca02aeb3c49dfce87c76be643b139d05cf647",
      "tree": "3e261efdba69b967500a36d8f65ac643c8693d76",
      "parents": [
        "34dc1ad752ad3f55b2a6e6cd8cfcf3504682fec7"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:22:53 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:43:45 2009 -0700"
      },
      "message": "nfs41: Add ability to read RPC call direction on TCP stream.\n\nNFSv4.1 callbacks can arrive over an existing connection. This patch adds\nthe logic to read the RPC call direction (call or reply). It does this by\nupdating the state machine to look for the call direction invoking\nxs_tcp_read_calldir(...) after reading the XID.\n\n[nfs41: Keep track of RPC call/reply direction with a flag]\n\nAs per 11/14/08 review of RFC 53/85.\n\nAdd a new flag to track whether the incoming message is an RPC call or an\nRPC reply.  TCP_RPC_REPLY is set in the \u0027struct sock_xprt\u0027 tcp_flags in\nxs_tcp_read_calldir() if the message is an RPC reply sent on the forechannel.\nIt is cleared if the message is an RPC request sent on the back channel.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "aae2006e9b0c294114915c13022fa348e1a88023",
      "tree": "2643d2ed1b2d44c5e5d7577e1ae0516eae95f977",
      "parents": [
        "c3fad1b1aaf850bf692642642ace7cd0d64af0a3"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:40 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:07 2009 -0700"
      },
      "message": "nfs41: sunrpc: Export the call prepare state for session reset\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c564039fd83ea16a86a96d52632794b24849e507",
      "tree": "42c9f525d08ea2e7d36c0231cc628587a175a39b",
      "parents": [
        "1d4ac5d5ef9dd965ae211ebe8acbf83dc4d9571b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 16 10:12:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 17 04:31:25 2009 -0700"
      },
      "message": "net: sk_wmem_alloc has initial value of one, not zero\n\ncommit 2b85a34e911bf483c27cfdd124aeb1605145dc80\n(net: No more expensive sock_hold()/sock_put() on each tx)\nchanged initial sk_wmem_alloc value.\n\nSome protocols check sk_wmem_alloc value to determine if a timer\nmust delay socket deallocation. We must take care of the sk_wmem_alloc\nvalue being one instead of zero when no write allocations are pending.\n\nReported by Ingo Molnar, and full diagnostic from David Miller.\n\nThis patch introduces three helpers to get read/write allocations\nand a followup patch will use these helpers to report correct\nwrite allocations to user.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "519d25679e8ae7433c758b9e74b19144f61b90f8",
      "tree": "e458a5fbf4e37568133fd2488772e98c159fca2b",
      "parents": [
        "0dd5198672dd2bbeb933862e1fc82162e0b636be"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jun 16 21:36:44 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 21:20:14 2009 -0700"
      },
      "message": "RxRPC: Don\u0027t attempt to reuse aborted connections\n\nConnections that have seen a connection-level abort should not be reused\nas the far end will just abort them again; instead a new connection\nshould be made.\n\nConnection-level aborts occur due to such things as authentication\nfailures.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "517d08699b250021303f9a7cf0d758b6dc0748ed"
}
