)]}'
{
  "log": [
    {
      "commit": "f205ce83a766c08965ec78342f138cdc00631fba",
      "tree": "7a9d2db6c16594ef7c730ca93a87131cf0abca41",
      "parents": [
        "3dc95666df0e1ae5b7381a8ec97a583bb3ce4306",
        "b31c50a7f9e93a61d14740dedcbbf2c376998bc7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 17 20:53:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 17 20:53:52 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: (66 commits)\n  be2net: fix some cmds to use mccq instead of mbox\n  atl1e: fix 2.6.31-git4 -- ATL1E 0000:03:00.0: DMA-API: device driver frees DMA\n  pkt_sched: Fix qstats.qlen updating in dump_stats\n  ipv6: Log the affected address when DAD failure occurs\n  wl12xx: Fix print_mac() conversion.\n  af_iucv: fix race when queueing skbs on the backlog queue\n  af_iucv: do not call iucv_sock_kill() twice\n  af_iucv: handle non-accepted sockets after resuming from suspend\n  af_iucv: fix race in __iucv_sock_wait()\n  iucv: use correct output register in iucv_query_maxconn()\n  iucv: fix iucv_buffer_cpumask check when calling IUCV functions\n  iucv: suspend/resume error msg for left over pathes\n  wl12xx: switch to %pM to print the mac address\n  b44: the poll handler b44_poll must not enable IRQ unconditionally\n  ipv6: Ignore route option with ROUTER_PREF_INVALID\n  bonding: make ab_arp select active slaves as other modes\n  cfg80211: fix SME connect\n  rc80211_minstrel: fix contention window calculation\n  ssb/sdio: fix printk format warnings\n  p54usb: add Zcomax XG-705A usbid\n  ...\n"
    },
    {
      "commit": "a19d2158439d6fba8160d7d2446f233f525f09e7",
      "tree": "85f54105fb6939efac2c26c3a08db7e543141b6d",
      "parents": [
        "0522fea6505f7b03a82787acdc6ad3066d9b4de3"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Thu Sep 17 10:26:07 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 17 10:26:07 2009 -0700"
      },
      "message": "pkt_sched: Fix qstats.qlen updating in dump_stats\n\nSome classful qdiscs miss qstats.qlen updating with q.qlen of their\nchild qdiscs in dump_stats methods.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0522fea6505f7b03a82787acdc6ad3066d9b4de3",
      "tree": "fce2b1147c2b3c1d3b11c6070575c30aafd40287",
      "parents": [
        "3264690b04ce4edc517fa5d31fa72496f71a7321"
      ],
      "author": {
        "name": "Jens Rosenboom",
        "email": "me@jayr.de",
        "time": "Thu Sep 17 10:24:24 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 17 10:24:24 2009 -0700"
      },
      "message": "ipv6: Log the affected address when DAD failure occurs\n\nIf an interface has multiple addresses, the current message for DAD\nfailure isn\u0027t really helpful, so this patch adds the address itself to\nthe printk.\n\nSigned-off-by: Jens Rosenboom \u003cme@jayr.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf95d20fdbd602d72c28a009a55d90d5109b8a86",
      "tree": "be1a7046b7ae3370d2fa722745addd480752baad",
      "parents": [
        "7514bab04e567c9408fe0facbde4277f09d5eb74"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Wed Sep 16 04:37:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 16 20:57:39 2009 -0700"
      },
      "message": "af_iucv: fix race when queueing skbs on the backlog queue\n\niucv_sock_recvmsg() and iucv_process_message()/iucv_fragment_skb race\nfor dequeuing an skb from the backlog queue.\n\nIf iucv_sock_recvmsg() dequeues first, iucv_process_message() calls\nsock_queue_rcv_skb() with an skb that is NULL.\n\nThis results in the following kernel panic:\n\n\u003c1\u003eUnable to handle kernel pointer dereference at virtual kernel address (null)\n\u003c4\u003eOops: 0004 [#1] PREEMPT SMP DEBUG_PAGEALLOC\n\u003c4\u003eModules linked in: af_iucv sunrpc qeth_l3 dm_multipath dm_mod vmur qeth ccwgroup\n\u003c4\u003eCPU: 0 Not tainted 2.6.30 #4\n\u003c4\u003eProcess client-iucv (pid: 4787, task: 0000000034e75940, ksp: 00000000353e3710)\n\u003c4\u003eKrnl PSW : 0704000180000000 000000000043ebca (sock_queue_rcv_skb+0x7a/0x138)\n\u003c4\u003e           R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:0 PM:0 EA:3\n\u003c4\u003eKrnl GPRS: 0052900000000000 000003e0016e0fe8 0000000000000000 0000000000000000\n\u003c4\u003e           000000000043eba8 0000000000000002 0000000000000001 00000000341aa7f0\n\u003c4\u003e           0000000000000000 0000000000007800 0000000000000000 0000000000000000\n\u003c4\u003e           00000000341aa7f0 0000000000594650 000000000043eba8 000000003fc2fb28\n\u003c4\u003eKrnl Code: 000000000043ebbe: a7840006            brc     8,43ebca\n\u003c4\u003e           000000000043ebc2: 5930c23c            c       %r3,572(%r12)\n\u003c4\u003e           000000000043ebc6: a724004c            brc     2,43ec5e\n\u003c4\u003e          \u003e000000000043ebca: e3c0b0100024        stg     %r12,16(%r11)\n\u003c4\u003e           000000000043ebd0: a7190000            lghi    %r1,0\n\u003c4\u003e           000000000043ebd4: e310b0200024        stg     %r1,32(%r11)\n\u003c4\u003e           000000000043ebda: c010ffffdce9        larl    %r1,43a5ac\n\u003c4\u003e           000000000043ebe0: e310b0800024        stg     %r1,128(%r11)\n\u003c4\u003eCall Trace:\n\u003c4\u003e([\u003c000000000043eba8\u003e] sock_queue_rcv_skb+0x58/0x138)\n\u003c4\u003e [\u003c000003e0016bcf2a\u003e] iucv_process_message+0x112/0x3cc [af_iucv]\n\u003c4\u003e [\u003c000003e0016bd3d4\u003e] iucv_callback_rx+0x1f0/0x274 [af_iucv]\n\u003c4\u003e [\u003c000000000053a21a\u003e] iucv_message_pending+0xa2/0x120\n\u003c4\u003e [\u003c000000000053b5a6\u003e] iucv_tasklet_fn+0x176/0x1b8\n\u003c4\u003e [\u003c000000000014fa82\u003e] tasklet_action+0xfe/0x1f4\n\u003c4\u003e [\u003c0000000000150a56\u003e] __do_softirq+0x116/0x284\n\u003c4\u003e [\u003c0000000000111058\u003e] do_softirq+0xe4/0xe8\n\u003c4\u003e [\u003c00000000001504ba\u003e] irq_exit+0xba/0xd8\n\u003c4\u003e [\u003c000000000010e0b2\u003e] do_extint+0x146/0x190\n\u003c4\u003e [\u003c00000000001184b6\u003e] ext_no_vtime+0x1e/0x22\n\u003c4\u003e [\u003c00000000001fbf4e\u003e] kfree+0x202/0x28c\n\u003c4\u003e([\u003c00000000001fbf44\u003e] kfree+0x1f8/0x28c)\n\u003c4\u003e [\u003c000000000044205a\u003e] __kfree_skb+0x32/0x124\n\u003c4\u003e [\u003c000003e0016bd8b2\u003e] iucv_sock_recvmsg+0x236/0x41c [af_iucv]\n\u003c4\u003e [\u003c0000000000437042\u003e] sock_aio_read+0x136/0x160\n\u003c4\u003e [\u003c0000000000205e50\u003e] do_sync_read+0xe4/0x13c\n\u003c4\u003e [\u003c0000000000206dce\u003e] vfs_read+0x152/0x15c\n\u003c4\u003e [\u003c0000000000206ed0\u003e] SyS_read+0x54/0xac\n\u003c4\u003e [\u003c0000000000117c8e\u003e] sysc_noemu+0x10/0x16\n\u003c4\u003e [\u003c00000042ff8def3c\u003e] 0x42ff8def3c\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": "7514bab04e567c9408fe0facbde4277f09d5eb74",
      "tree": "e5eeeb82e83e4ba62b6827105f41df0f8f597b10",
      "parents": [
        "56a73de3889383b70ed1fef06aaab0677731b0ea"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Wed Sep 16 04:37:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 16 20:57:38 2009 -0700"
      },
      "message": "af_iucv: do not call iucv_sock_kill() twice\n\nFor non-accepted sockets on the accept queue, iucv_sock_kill()\nis called twice (in iucv_sock_close() and iucv_sock_cleanup_listen()).\nThis typically results in a kernel oops as shown below.\n\nRemove the duplicate call to iucv_sock_kill() and set the SOCK_ZAPPED\nflag in iucv_sock_close() only.\n\nThe iucv_sock_kill() function frees a socket only if the socket is zapped\nand orphaned (sk-\u003esk_socket \u003d\u003d NULL):\n  - Non-accepted sockets are always orphaned and, thus, iucv_sock_kill()\n    frees the socket twice.\n  - For accepted sockets or sockets created with iucv_sock_create(),\n    sk-\u003esk_socket is initialized. This caused the first call to\n    iucv_sock_kill() to return immediately. To free these sockets,\n    iucv_sock_release() uses sock_orphan() before calling iucv_sock_kill().\n\n\u003c1\u003eUnable to handle kernel pointer dereference at virtual kernel address 000000003edd3000\n\u003c4\u003eOops: 0011 [#1] PREEMPT SMP DEBUG_PAGEALLOC\n\u003c4\u003eModules linked in: af_iucv sunrpc qeth_l3 dm_multipath dm_mod qeth vmur ccwgroup\n\u003c4\u003eCPU: 0 Not tainted 2.6.30 #4\n\u003c4\u003eProcess iucv_sock_close (pid: 2486, task: 000000003aea4340, ksp: 000000003b75bc68)\n\u003c4\u003eKrnl PSW : 0704200180000000 000003e00168e23a (iucv_sock_kill+0x2e/0xcc [af_iucv])\n\u003c4\u003e           R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3\n\u003c4\u003eKrnl GPRS: 0000000000000000 000000003b75c000 000000003edd37f0 0000000000000001\n\u003c4\u003e           000003e00168ec62 000000003988d960 0000000000000000 000003e0016b0608\n\u003c4\u003e           000000003fe81b20 000000003839bb58 00000000399977f0 000000003edd37f0\n\u003c4\u003e           000003e00168b000 000003e00168f138 000000003b75bcd0 000000003b75bc98\n\u003c4\u003eKrnl Code: 000003e00168e22a: c0c0ffffe6eb\tlarl\t%r12,3e00168b000\n\u003c4\u003e           000003e00168e230: b90400b2\t\tlgr\t%r11,%r2\n\u003c4\u003e           000003e00168e234: e3e0f0980024\tstg\t%r14,152(%r15)\n\u003c4\u003e          \u003e000003e00168e23a: e310225e0090\tllgc\t%r1,606(%r2)\n\u003c4\u003e           000003e00168e240: a7110001\t\ttmll\t%r1,1\n\u003c4\u003e           000003e00168e244: a7840007\t\tbrc\t8,3e00168e252\n\u003c4\u003e           000003e00168e248: d507d00023c8\tclc\t0(8,%r13),968(%r2)\n\u003c4\u003e           000003e00168e24e: a7840009\t\tbrc\t8,3e00168e260\n\u003c4\u003eCall Trace:\n\u003c4\u003e([\u003c000003e0016b0608\u003e] afiucv_dbf+0x0/0xfffffffffffdea20 [af_iucv])\n\u003c4\u003e [\u003c000003e00168ec6c\u003e] iucv_sock_close+0x130/0x368 [af_iucv]\n\u003c4\u003e [\u003c000003e00168ef02\u003e] iucv_sock_release+0x5e/0xe4 [af_iucv]\n\u003c4\u003e [\u003c0000000000438e6c\u003e] sock_release+0x44/0x104\n\u003c4\u003e [\u003c0000000000438f5e\u003e] sock_close+0x32/0x50\n\u003c4\u003e [\u003c0000000000207898\u003e] __fput+0xf4/0x250\n\u003c4\u003e [\u003c00000000002038aa\u003e] filp_close+0x7a/0xa8\n\u003c4\u003e [\u003c00000000002039ba\u003e] SyS_close+0xe2/0x148\n\u003c4\u003e [\u003c0000000000117c8e\u003e] sysc_noemu+0x10/0x16\n\u003c4\u003e [\u003c00000042ff8deeac\u003e] 0x42ff8deeac\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": "56a73de3889383b70ed1fef06aaab0677731b0ea",
      "tree": "8317bd5d88e6c514bc5c49ee532fa1175a5081f2",
      "parents": [
        "d9973179aef2af88b6fe4cc1df7ced6fe7cec7d0"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Wed Sep 16 04:37:26 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 16 20:57:36 2009 -0700"
      },
      "message": "af_iucv: handle non-accepted sockets after resuming from suspend\n\nAfter resuming from suspend, all af_iucv sockets are disconnected.\nEnsure that iucv_accept_dequeue() can handle disconnected sockets\nwhich are not yet accepted.\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": "d9973179aef2af88b6fe4cc1df7ced6fe7cec7d0",
      "tree": "adfe0033e2ec3eb11cd492ba4b38261257e9c753",
      "parents": [
        "b29e4da41eb1114080b06dce31326d5a0e96a15a"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Wed Sep 16 04:37:25 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 16 20:57:35 2009 -0700"
      },
      "message": "af_iucv: fix race in __iucv_sock_wait()\n\nMoving prepare_to_wait before the condition to avoid a race between\nschedule_timeout and wake up.\nThe race can appear during iucv_sock_connect() and iucv_callback_connack().\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": "b29e4da41eb1114080b06dce31326d5a0e96a15a",
      "tree": "1271eee9498dc02246c7fb1cf7736400e302f542",
      "parents": [
        "d28ecab0c40f587fd1e28701c195747220c984e2"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Wed Sep 16 04:37:24 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 16 20:57:33 2009 -0700"
      },
      "message": "iucv: use correct output register in iucv_query_maxconn()\n\nThe iucv_query_maxconn() function uses the wrong output register and\nstores the size of the interrupt buffer instead of the maximum number\nof connections.\n\nAccording to the QUERY IUCV function, general register 1 contains the\nmaximum number of connections.\n\nIf the maximum number of connections is not set properly, the following\nwarning is displayed:\n\nBadness at /usr/src/kernel-source/2.6.30-39.x.20090806/net/iucv/iucv.c:1808\nModules linked in: netiucv fsm af_iucv sunrpc qeth_l3 dm_multipath dm_mod vmur qeth ccwgroup\nCPU: 0 Tainted: G        W  2.6.30 #4\nProcess seq (pid: 16925, task: 0000000030e24a40, ksp: 000000003033bd98)\nKrnl PSW : 0404200180000000 000000000053b270 (iucv_external_interrupt+0x64/0x224)\n           R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3\nKrnl GPRS: 00000000011279c2 00000000014bdb70 0029000000000000 0000000000000029\n           000000000053b236 000000000001dba4 0000000000000000 0000000000859210\n           0000000000a67f68 00000000008a6100 000000003f83fb90 0000000000004000\n           000000003f8c7bc8 00000000005a2250 000000000053b236 000000003fc2fe08\nKrnl Code: 000000000053b262: e33010000021\tclg\t%r3,0(%r1)\n           000000000053b268: a7440010\t\tbrc\t4,53b288\n           000000000053b26c: a7f40001\t\tbrc\t15,53b26e\n          \u003e000000000053b270: c03000184134\tlarl\t%r3,8434d8\n           000000000053b276: eb220030000c\tsrlg\t%r2,%r2,48\n           000000000053b27c: eb6ff0a00004\tlmg\t%r6,%r15,160(%r15)\n           000000000053b282: c0f4fffff6a7\tbrcl\t15,539fd0\n           000000000053b288: 4310a003\t\tic\t%r1,3(%r10)\nCall Trace:\n([\u003c000000000053b236\u003e] iucv_external_interrupt+0x2a/0x224)\n [\u003c000000000010e09e\u003e] do_extint+0x132/0x190\n [\u003c00000000001184b6\u003e] ext_no_vtime+0x1e/0x22\n [\u003c0000000000549f7a\u003e] _spin_unlock_irqrestore+0x96/0xa4\n([\u003c0000000000549f70\u003e] _spin_unlock_irqrestore+0x8c/0xa4)\n [\u003c00000000002101d6\u003e] pipe_write+0x3da/0x5bc\n [\u003c0000000000205d14\u003e] do_sync_write+0xe4/0x13c\n [\u003c0000000000206a7e\u003e] vfs_write+0xae/0x15c\n [\u003c0000000000206c24\u003e] SyS_write+0x54/0xac\n [\u003c0000000000117c8e\u003e] sysc_noemu+0x10/0x16\n [\u003c00000042ff8defcc\u003e] 0x42ff8defcc\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": "d28ecab0c40f587fd1e28701c195747220c984e2",
      "tree": "dea63b1eb9ce709790e9fd97cbefd130ed3403b5",
      "parents": [
        "4c89d86b4df8e4f2cdccb72495e2f4664118ebf1"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Wed Sep 16 04:37:23 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 16 20:57:31 2009 -0700"
      },
      "message": "iucv: fix iucv_buffer_cpumask check when calling IUCV functions\n\nPrior to calling IUCV functions, the DECLARE BUFFER function must have been\ncalled for at least one CPU to receive IUCV interrupts.\n\nWith commit \"iucv: establish reboot notifier\" (6c005961), a check has been\nintroduced to avoid calling IUCV functions if the current CPU does not have\nan interrupt buffer declared.\nBecause one interrupt buffer is sufficient, change the condition to ensure\nthat one interrupt buffer is available.\n\nIn addition, checking the buffer on the current CPU creates a race with\nCPU up/down notifications: before checking the buffer, the IUCV function\nmight be interrupted by an smp_call_function() that retrieves the interrupt\nbuffer for the current CPU.\nWhen the IUCV function continues, the check fails and -EIO is returned. If a\nbuffer is available on any other CPU, the IUCV function call must be invoked\n(instead of failing with -EIO).\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": "4c89d86b4df8e4f2cdccb72495e2f4664118ebf1",
      "tree": "9c275d9094dcd89c296853f53bee43cba6de1293",
      "parents": [
        "12cbcfd386df56dce8b8ba6ba2c7f85680793716"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "ursula.braun@de.ibm.com",
        "time": "Wed Sep 16 04:37:22 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 16 20:57:29 2009 -0700"
      },
      "message": "iucv: suspend/resume error msg for left over pathes\n\nDuring suspend IUCV exploiters have to close their IUCV connections.\nWhen restoring an image, it can be checked if all IUCV pathes had\nbeen closed before the Linux instance was suspended. If not, an\nerror message is issued to indicate a problem in one of the\nused programs exploiting IUCV communication.\n\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "12cbcfd386df56dce8b8ba6ba2c7f85680793716",
      "tree": "b0d84f2771298d7c36a11c29683b206e3c3a1ddc",
      "parents": [
        "0aad191c5fea3627c8efbc453cfebb6d1dca496c",
        "c4835d81efb1795eb8bbeb40b73d74e5c04b1257"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 16 20:55:28 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 16 20:55:28 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan\n"
    },
    {
      "commit": "3933fc952a5a5af4cf23fca94e20203251c9d825",
      "tree": "512d4c2386a0bff8fe7b2fa92dbac77617555990",
      "parents": [
        "b9f602533e2f5c32a09a3a75904e5373cb6e6377"
      ],
      "author": {
        "name": "Jens Rosenboom",
        "email": "me@jayr.de",
        "time": "Thu Sep 10 06:25:11 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 16 17:10:38 2009 -0700"
      },
      "message": "ipv6: Ignore route option with ROUTER_PREF_INVALID\n\nRFC4191 says that \"If the Reserved (10) value is received, the Route\nInformation Option MUST be ignored.\", so this patch makes us conform\nto the RFC. This is different to the usage of the Default Router\nPreference, where an invalid value must indeed be treated as\nPREF_MEDIUM.\n\nSigned-off-by: Jens Rosenboom \u003cme@jayr.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c127bdf9f6c8a8aaa531321721b29ab15f250a72",
      "tree": "1799546ce128e5425002ea9a0893cf86a2747490",
      "parents": [
        "4e36a95e591e9c58dd10bb4103c00993917c27fd",
        "bbac31f4c0339f6c51afbd0edfb4959df9b53fa9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 16 17:01:24 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 16 17:01:24 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "bbac31f4c0339f6c51afbd0edfb4959df9b53fa9",
      "tree": "50764245ec0b1a3ca2e25f43bdbe5d674ec0258e",
      "parents": [
        "8c6c03fe230c448e5795464a9d73efb796acf3d6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Sep 16 09:04:26 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 16 16:21:00 2009 -0400"
      },
      "message": "cfg80211: fix SME connect\n\nThere\u0027s a check saying\n\t/* we\u0027re good if we have both BSSID and channel */\n\tif (wdev-\u003econn-\u003eparams.bssid \u0026\u0026 wdev-\u003econn-\u003eparams.channel) {\n\nbut that isn\u0027t true -- we need the BSS struct. This leads\nto errors such as\n\n    Trying to associate with 00:1b:53:11:dc:40 (SSID\u003d\u0027TEST\u0027 freq\u003d2412 MHz)\n    ioctl[SIOCSIWFREQ]: No such file or directory\n    ioctl[SIOCSIWESSID]: No such file or directory\n    Association request to the driver failed\n    Associated with 00:1b:53:11:dc:40\n\nin wpa_supplicant, as reported by Holger.\n\nInstead, we really need to have the BSS struct, and if we\ndon\u0027t, then we need to initiate a scan for it. But we may\nalready have the BSS struct here, so hang on to it if we\ndo and scan if we don\u0027t.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nTested-by: Holger Schurig \u003chs4233@mail.mn-solutions.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8c6c03fe230c448e5795464a9d73efb796acf3d6",
      "tree": "265424ad98f303ca725a54b9b4bbd2b84ac01d9a",
      "parents": [
        "de32cce132a9c96e1ba3fddc0c5a6d110af42ea4"
      ],
      "author": {
        "name": "Pavel Roskin",
        "email": "proski@gnu.org",
        "time": "Tue Sep 15 22:24:30 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 16 16:21:00 2009 -0400"
      },
      "message": "rc80211_minstrel: fix contention window calculation\n\nThe contention window is supposed to be a power of two minus one, i.e.\n15, 31, 63, 127...  minstrel_rate_init() forgets to subtract 1, so the\nsequence becomes 15, 32, 66, 134...\n\nBug reported by Dan Halperin \u003cdhalperi@cs.washington.edu\u003e\n\nSigned-off-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ab86e5765d41a5eb4239a1c04d613db87bea5ed8",
      "tree": "a41224d4874c2f90e0b423786f00bedf6f3e8bfa",
      "parents": [
        "7ea61767e41e2baedd6a968d13f56026522e1207",
        "2b2af54a5bb6f7e80ccf78f20084b93c398c3a8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 16 08:27:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 16 08:27:10 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev\n  debugfs: Modify default debugfs directory for debugging pktcdvd.\n  debugfs: Modified default dir of debugfs for debugging UHCI.\n  debugfs: Change debugfs directory of IWMC3200\n  debugfs: Change debuhgfs directory of trace-events-sample.h\n  debugfs: Fix mount directory of debugfs by default in events.txt\n  hpilo: add poll f_op\n  hpilo: add interrupt handler\n  hpilo: staging for interrupt handling\n  driver core: platform_device_add_data(): use kmemdup()\n  Driver core: Add support for compatibility classes\n  uio: add generic driver for PCI 2.3 devices\n  driver-core: move dma-coherent.c from kernel to driver/base\n  mem_class: fix bug\n  mem_class: use minor as index instead of searching the array\n  driver model: constify attribute groups\n  UIO: remove \u0027default n\u0027 from Kconfig\n  Driver core: Add accessor for device platform data\n  Driver core: move dev_get/set_drvdata to drivers/base/dd.c\n  Driver core: add new device to bus\u0027s list before probing\n"
    },
    {
      "commit": "4e36a95e591e9c58dd10bb4103c00993917c27fd",
      "tree": "e97be725f4aca0084e148cb68bd99552a480b47e",
      "parents": [
        "634354d753898f9d9d146bd47628a1ef27f7dc98"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 16 00:01:13 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 16 00:01:13 2009 -0700"
      },
      "message": "RxRPC: Use uX/sX rather than uintX_t/intX_t types\n\nUse uX rather than uintX_t types for consistency.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "657e9649e745b06675aa5063c84430986cdc3afa",
      "tree": "2db388ddc152c1deb4903467d9012c56b5ba8b41",
      "parents": [
        "7c64b9f3f584008000cf3b960f25cd6a68fce191"
      ],
      "author": {
        "name": "Robert Varga",
        "email": "nite@hq.alert.sk",
        "time": "Tue Sep 15 23:49:21 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 23:49:21 2009 -0700"
      },
      "message": "tcp: fix CONFIG_TCP_MD5SIG + CONFIG_PREEMPT timer BUG()\n\nI have recently came across a preemption imbalance detected by:\n\n\u003c4\u003ehuh, entered ffffffff80644630 with preempt_count 00000102, exited with 00000101?\n\u003c0\u003e------------[ cut here ]------------\n\u003c2\u003ekernel BUG at /usr/src/linux/kernel/timer.c:664!\n\u003c0\u003einvalid opcode: 0000 [1] PREEMPT SMP\n\nwith ffffffff80644630 being inet_twdr_hangman().\n\nThis appeared after I enabled CONFIG_TCP_MD5SIG and played with it a\nbit, so I looked at what might have caused it.\n\nOne thing that struck me as strange is tcp_twsk_destructor(), as it\ncalls tcp_put_md5sig_pool() -- which entails a put_cpu(), causing the\ndetected imbalance. Found on 2.6.23.9, but 2.6.31 is affected as well,\nas far as I can tell.\n\nSigned-off-by: Robert Varga \u003cnite@hq.alert.sk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c64b9f3f584008000cf3b960f25cd6a68fce191",
      "tree": "2c19bff73b434b12f50304c97758a01751df9aaa",
      "parents": [
        "926e61b7c44db83013159ac2f74bccd451607b5a"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Tue Sep 15 23:42:05 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 23:42:05 2009 -0700"
      },
      "message": "pkt_sched: Fix qdisc_create on stab error handling\n\nIf qdisc_get_stab returns error in qdisc_create there is skipped qdisc\nops-\u003edestroy, which is necessary because it\u0027s after ops-\u003einit at the\nmoment, so memory leaks are quite probable.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4dbd6740df0872cdf0a86841f75beec8381964d",
      "tree": "1093687845d89f8397d61e7df1ad8546a5a25225",
      "parents": [
        "5b2ea2f10dbb2fa91d8033993000f8664309395f"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Jun 24 10:06:31 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Sep 15 09:50:47 2009 -0700"
      },
      "message": "driver model: constify attribute groups\n\nLet attribute group vectors be declared \"const\".  We\u0027d\nlike to let most attribute metadata live in read-only\nsections... this is a start.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ada3fa15057205b7d3f727bba5cd26b5912e350f",
      "tree": "60962fc9e4021b92f484d1a58e72cd3906d4f3db",
      "parents": [
        "2f82af08fcc7dc01a7e98a49a5995a77e32a2925",
        "5579fd7e6aed8860ea0c8e3f11897493153b10ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 15 09:39:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 15 09:39:44 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (46 commits)\n  powerpc64: convert to dynamic percpu allocator\n  sparc64: use embedding percpu first chunk allocator\n  percpu: kill lpage first chunk allocator\n  x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA\n  percpu: update embedding first chunk allocator to handle sparse units\n  percpu: use group information to allocate vmap areas sparsely\n  vmalloc: implement pcpu_get_vm_areas()\n  vmalloc: separate out insert_vmalloc_vm()\n  percpu: add chunk-\u003ebase_addr\n  percpu: add pcpu_unit_offsets[]\n  percpu: introduce pcpu_alloc_info and pcpu_group_info\n  percpu: move pcpu_lpage_build_unit_map() and pcpul_lpage_dump_cfg() upward\n  percpu: add @align to pcpu_fc_alloc_fn_t\n  percpu: make @dyn_size mandatory for pcpu_setup_first_chunk()\n  percpu: drop @static_size from first chunk allocators\n  percpu: generalize first chunk allocator selection\n  percpu: build first chunk allocators selectively\n  percpu: rename 4k first chunk allocator to page\n  percpu: improve boot messages\n  percpu: fix pcpu_reclaim() locking\n  ...\n\nFix trivial conflict as by Tejun Heo in kernel/sched.c\n"
    },
    {
      "commit": "c4835d81efb1795eb8bbeb40b73d74e5c04b1257",
      "tree": "7d53e4752110d011d750baed1314f01afb374a78",
      "parents": [
        "066fc51275cef94d1624fd58bb3065d050a6f17e"
      ],
      "author": {
        "name": "Dmitry Eremin-Solenikov",
        "email": "dbaryshkov@gmail.com",
        "time": "Thu Sep 10 18:02:30 2009 +0400"
      },
      "committer": {
        "name": "Dmitry Eremin-Solenikov",
        "email": "dbaryshkov@gmail.com",
        "time": "Tue Sep 15 18:25:16 2009 +0400"
      },
      "message": "ieee802154: add locking for seq numbers\n\nSigned-off-by: Dmitry Eremin-Solenikov \u003cdbaryshkov@gmail.com\u003e\n"
    },
    {
      "commit": "066fc51275cef94d1624fd58bb3065d050a6f17e",
      "tree": "84326b68edea8952ae90c7ef448d162f1a322fcc",
      "parents": [
        "4142e0d1def2c0176c27fd2e810243045a62eb6d"
      ],
      "author": {
        "name": "Dmitry Eremin-Solenikov",
        "email": "dbaryshkov@gmail.com",
        "time": "Tue Sep 15 17:54:43 2009 +0400"
      },
      "committer": {
        "name": "Dmitry Eremin-Solenikov",
        "email": "dbaryshkov@gmail.com",
        "time": "Tue Sep 15 18:25:15 2009 +0400"
      },
      "message": "af_ieee802154: setsockopt optlen arg isn\u0027t __user\n\nRemove __user annotation from optlen arg as it\u0027s bogus.\n\nSigned-off-by: Dmitry Eremin-Solenikov \u003cdbaryshkov@gmail.com\u003e\n"
    },
    {
      "commit": "926e61b7c44db83013159ac2f74bccd451607b5a",
      "tree": "512b532e22d4374948e0d149902304edfbef7e25",
      "parents": [
        "ca519274d537706b6fb1e3e91238d34a23320584"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Tue Sep 15 02:53:07 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 02:53:07 2009 -0700"
      },
      "message": "pkt_sched: Fix tx queue selection in tc_modify_qdisc\n\nAfter the recent mq change there is the new select_queue qdisc class\nmethod used in tc_modify_qdisc, but it works OK only for direct child\nqdiscs of mq qdisc. Grandchildren always get the first tx queue, which\nwould give wrong qdisc_root etc. results (e.g. for sch_htb as child of\nsch_prio). This patch fixes it by using parent\u0027s dev_queue for such\ngrandchildren qdiscs. The select_queue method\u0027s return type is changed\nBTW.\n\nWith feedback from: Patrick McHardy \u003ckaber@trash.net\u003e\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "99455153d0670ba110e6a3b855b8369bcbd11120",
      "tree": "166ba6e3046654f7d1cd5f0debdcae1aa8938080",
      "parents": [
        "ed6dd18b5aceb322da9840f01a68d648e91c8a72"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Sep 14 01:17:46 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 02:44:33 2009 -0700"
      },
      "message": "RxRPC: Parse security index 5 keys (Kerberos 5)\n\nParse RxRPC security index 5 type keys (Kerberos 5 tokens).\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed6dd18b5aceb322da9840f01a68d648e91c8a72",
      "tree": "0ba7267df89a1d630b8ac6aa326b43572c785bc1",
      "parents": [
        "339412841d7620f93fea805fbd7469f08186f458"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Sep 14 01:17:40 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 02:44:28 2009 -0700"
      },
      "message": "RxRPC: Allow RxRPC keys to be read\n\nAllow RxRPC keys to be read.  This is to allow pioctl() to be implemented in\nuserspace.  RxRPC keys are read out in XDR format.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "339412841d7620f93fea805fbd7469f08186f458",
      "tree": "e2d385d76e3b9361671411442c5253417f95d5a6",
      "parents": [
        "8b815477f382f96deefbe5bd4404fa7b31cf5dcf"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Sep 14 01:17:35 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 02:44:23 2009 -0700"
      },
      "message": "RxRPC: Allow key payloads to be passed in XDR form\n\nAllow add_key() and KEYCTL_INSTANTIATE to accept key payloads in XDR form as\ndescribed by openafs-1.4.10/src/auth/afs_token.xg.  This provides a way of\npassing kaserver, Kerberos 4, Kerberos 5 and GSSAPI keys from userspace, and\nallows for future expansion.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b815477f382f96deefbe5bd4404fa7b31cf5dcf",
      "tree": "3fe4fd85003fcf7b730c5d2651aab3f11642faae",
      "parents": [
        "531afd64d027e3d798c416b2b37b3cfb1de417d9"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Sep 14 01:17:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 02:44:17 2009 -0700"
      },
      "message": "RxRPC: Declare the security index constants symbolically\n\nDeclare the security index constants symbolically rather than just referring\nto them numerically.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29a020d35f629619c67fa5e32acaaac3f8a1ba90",
      "tree": "65f9ce8a822633aa1e6cdf25be3aa258d2d21db1",
      "parents": [
        "75c78500ddad74b229cd0691496b8549490496a2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Sep 15 02:39:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 02:39:20 2009 -0700"
      },
      "message": "[PATCH] net: kmemcheck annotation in struct socket\n\nstruct socket has a 16 bit hole that triggers kmemcheck warnings.\n\nAs suggested by Ingo, use kmemcheck annotations\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75c78500ddad74b229cd0691496b8549490496a2",
      "tree": "5249219d68627421e4717c4e8f03f8b4bbad2e92",
      "parents": [
        "481a8199142c050b72bff8a1956a49fd0a75bbe0"
      ],
      "author": {
        "name": "Moni Shoua",
        "email": "monis@voltaire.com",
        "time": "Tue Sep 15 02:37:40 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 02:37:40 2009 -0700"
      },
      "message": "bonding: remap muticast addresses without using dev_close() and dev_open()\n\nThis patch fixes commit e36b9d16c6a6d0f59803b3ef04ff3c22c3844c10. The approach\nthere is to call dev_close()/dev_open() whenever the device type is changed in\norder to remap the device IP multicast addresses to HW multicast addresses.\nThis approach suffers from 2 drawbacks:\n\n*. It assumes tha the device is UP when calling dev_close(), or otherwise\n   dev_close() has no affect. It is worth to mention that initscripts (Redhat)\n   and sysconfig (Suse) doesn\u0027t act the same in this matter. \n*. dev_close() has other side affects, like deleting entries from the routing\n   table, which might be unnecessary.\n\nThe fix here is to directly remap the IP multicast addresses to HW multicast\naddresses for a bonding device that changes its type, and nothing else.\n   \nReported-by:   Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nSigned-off-by: Moni Shoua \u003cmonis@voltaire.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "481a8199142c050b72bff8a1956a49fd0a75bbe0",
      "tree": "66bcd9798738a760c9982d62b9a39b57774e8349",
      "parents": [
        "0b6a05c1dbebe8c616e2e5b0f52b7a01fd792911"
      ],
      "author": {
        "name": "Oliver Hartkopp",
        "email": "oliver@hartkopp.net",
        "time": "Tue Sep 15 01:31:34 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 01:31:34 2009 -0700"
      },
      "message": "can: fix NOHZ local_softirq_pending 08 warning\n\nWhen using nanosleep() in an userspace application we get a ratelimit warning\n\nNOHZ: local_softirq_pending 08\n\nfor 10 times.\n\nThe echo of CAN frames is done from process context and softirq context only.\nTherefore the usage of netif_rx() was wrong (for years).\n\nThis patch replaces netif_rx() with netif_rx_ni() which has to be used from\nprocess/softirq context. It also adds a missing comment that can_send() must\nno be used from hardirq context.\n\nSigned-off-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nSigned-off-by: Urs Thuermann \u003curs@isnogud.escape.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "0b6a05c1dbebe8c616e2e5b0f52b7a01fd792911",
      "tree": "18b5a2d16ac3fa8dd6d4528469725c216aed428c",
      "parents": [
        "036d6a673fa0a2e2c5b72a3b1d1b86114c1711c0"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Sep 15 01:30:10 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 01:30:10 2009 -0700"
      },
      "message": "tcp: fix ssthresh u16 leftover\n\nIt was once upon time so that snd_sthresh was a 16-bit quantity.\n...That has not been true for long period of time. I run across\nsome ancient compares which still seem to trust such legacy.\nPut all that magic into a single place, I hopefully found all\nof them.\n\nCompile tested, though linking of allyesconfig is ridiculous\nnowadays it seems.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "036d6a673fa0a2e2c5b72a3b1d1b86114c1711c0",
      "tree": "e74fea79b646540d2e766710121459925e3d8922",
      "parents": [
        "d314737ad3bad6b4603b243fd6db572385259690"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Sun Sep 13 22:35:44 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:03:57 2009 -0700"
      },
      "message": "pkt_sched: Fix qdisc_graft WRT ingress qdisc\n\nAfter the recent mq change using ingress qdisc overwrites dev-\u003eqdisc;\nthere is also a wrong old qdisc pointer passed to notify_and_destroy.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b11b5165ae7b6506e0e4889b6bf6a11491e1ec6b",
      "tree": "07dc39b6d01a841444dfa4bd1c1d2a21cef9c61c",
      "parents": [
        "5708e868dc512f055f0ea4a14d01f8252c3ca8a1"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Mon Sep 14 03:10:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:03:27 2009 -0700"
      },
      "message": "Phonet: Netlink event for autoconfigured addresses\n\nFrom: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\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": "5708e868dc512f055f0ea4a14d01f8252c3ca8a1",
      "tree": "723b49669dd9f96c6cec9ce16458774ed8906286",
      "parents": [
        "41135cc836a1abeb12ca1416bdb29e87ad021153"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 14 12:23:23 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:03:09 2009 -0700"
      },
      "message": "net: constify remaining proto_ops\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41135cc836a1abeb12ca1416bdb29e87ad021153",
      "tree": "01c402f2fb9ac494dc3655a17e92072b170b7c1f",
      "parents": [
        "32613090a96dba2ca2cc524c8d4749d3126fdde5"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 14 12:22:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:03:05 2009 -0700"
      },
      "message": "net: constify struct inet6_protocol\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32613090a96dba2ca2cc524c8d4749d3126fdde5",
      "tree": "5e0e5f9097aca737e8a7356eb1b72e53539cda0b",
      "parents": [
        "e4c57d0f964cdbe278ed6b3bf632138fe575267e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 14 12:21:47 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:03:01 2009 -0700"
      },
      "message": "net: constify struct net_protocol\n\nRemove long removed \"inet_protocol_base\" declaration.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa1b1ff0991b469eca6fde4456190df6ed59ff40",
      "tree": "d2fc84d3e83dd121fd4a48c8560b212123688eb4",
      "parents": [
        "d136f1bd366fdb7e747ca7e0218171e7a00a98a5"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sat Sep 12 07:47:01 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:02:54 2009 -0700"
      },
      "message": "net-next-2.6 [PATCH 1/1] dccp: ccids whitespace-cleanup / CodingStyle\n\nNo code change, cosmetical changes only:\n\n * whitespace cleanup via scripts/cleanfile,\n * remove self-references to filename at top of files,\n * fix coding style (extraneous brackets),\n * fix documentation style (kernel-doc-nano-HOWTO).\n\nThanks are due to Ivo Augusto Calado who raised these issues by\nsubmitting good-quality patches.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d136f1bd366fdb7e747ca7e0218171e7a00a98a5",
      "tree": "cee39b3249c36aba4b765cae6d9d3579c9f10a2d",
      "parents": [
        "8be8057e72d7d319f8e97b26e16de8021fe63988"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Sep 12 03:03:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:02:50 2009 -0700"
      },
      "message": "genetlink: fix netns vs. netlink table locking\n\nSince my commits introducing netns awareness into\ngenetlink we can get this problem:\n\nBUG: scheduling while atomic: modprobe/1178/0x00000002\n2 locks held by modprobe/1178:\n #0:  (genl_mutex){+.+.+.}, at: [\u003cffffffff8135ee1a\u003e] genl_register_mc_grou\n #1:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff8135eeb5\u003e] genl_register_mc_g\nPid: 1178, comm: modprobe Not tainted 2.6.31-rc8-wl-34789-g95cb731-dirty #\nCall Trace:\n [\u003cffffffff8103e285\u003e] __schedule_bug+0x85/0x90\n [\u003cffffffff81403138\u003e] schedule+0x108/0x588\n [\u003cffffffff8135b131\u003e] netlink_table_grab+0xa1/0xf0\n [\u003cffffffff8135c3a7\u003e] netlink_change_ngroups+0x47/0x100\n [\u003cffffffff8135ef0f\u003e] genl_register_mc_group+0x12f/0x290\n\nbecause I overlooked that netlink_table_grab() will\nschedule, thinking it was just the rwlock. However,\nin the contention case, that isn\u0027t actually true.\n\nFix this by letting the code grab the netlink table\nlock first and then the RCU for netns protection.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8be8057e72d7d319f8e97b26e16de8021fe63988",
      "tree": "46038a1d00df70b0e80ef5727ee329d6ba6325a0",
      "parents": [
        "4142e0d1def2c0176c27fd2e810243045a62eb6d"
      ],
      "author": {
        "name": "Mark Smith",
        "email": "lk-netdev@lk-netdev.nosense.org",
        "time": "Sat Sep 12 20:48:43 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:02:47 2009 -0700"
      },
      "message": "Have atalk_route_packet() return NET_RX_SUCCESS not NET_XMIT_SUCCESS\n\nHave atalk_route_packet() return NET_RX_SUCCESS not NET_XMIT_SUCCESS\n\natalk_route_packet() returns NET_RX_DROP if it\u0027s call to\naarp_send_ddp() returns NET_XMIT_DROP. If aarp_send_ddp() returns\nanything else atalk_route_packet() should return NET_RX_SUCCESS, not\nNET_XMIT_SUCCESS.\n\nSigned-off-by: Mark Smith \u003cmarkzzzsmith@yahoo.com.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8862dc5f25153a3c565a097220ed3de14ed72dfd",
      "tree": "fa2afcc9c6ae9bf6388aaab65ddc8dca41f089cf",
      "parents": [
        "a4e7b730f1c8c9179def7033a024183c58cf2538"
      ],
      "author": {
        "name": "Holger Schurig",
        "email": "hs4233@mail.mn-solutions.de",
        "time": "Fri Sep 11 10:13:55 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 14 14:36:04 2009 -0400"
      },
      "message": "cfg80211: minimal error handling for wext-compat freq scanning\n\nSigned-off-by: Holger Schurig \u003chs4233@mail.mn-solutions.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a4e7b730f1c8c9179def7033a024183c58cf2538",
      "tree": "b81bee6f9c4a69b5b9c81a2c03fe8284a6662daf",
      "parents": [
        "d37b7da39dbac8197e41a5f9c8162730f6b36d8b"
      ],
      "author": {
        "name": "Holger Schurig",
        "email": "h.schurig@mn-solutions.de",
        "time": "Fri Sep 11 10:13:53 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 14 14:36:04 2009 -0400"
      },
      "message": "cfg80211: use cfg80211_wext_freq() for freq conversion\n\nWEXT\u0027s \"struct iw_freq\" can also be used to handle a channel. This patch now\nuses cfg80211_wext_freq() instead of hand-converting the frequency. That\nallows user-space to specify channels as well, like with SIOCSIWFREQ.\n\nSigned-off-by: Holger Schurig \u003chs4233@mail.mn-solutions.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d7e9660ad9d5e0845f52848bce31bcf5cdcdea6b",
      "tree": "c6c67d145771187b194d79d603742b31090a59d6",
      "parents": [
        "b8cb48aae1b8c50b37dcb7710363aa69a7a0d9ca",
        "13af7a6ea502fcdd4c0e3d7de6e332b102309491"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:37:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:37:28 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: (1623 commits)\n  netxen: update copyright\n  netxen: fix tx timeout recovery\n  netxen: fix file firmware leak\n  netxen: improve pci memory access\n  netxen: change firmware write size\n  tg3: Fix return ring size breakage\n  netxen: build fix for INET\u003dn\n  cdc-phonet: autoconfigure Phonet address\n  Phonet: back-end for autoconfigured addresses\n  Phonet: fix netlink address dump error handling\n  ipv6: Add IFA_F_DADFAILED flag\n  net: Add DEVTYPE support for Ethernet based devices\n  mv643xx_eth.c: remove unused txq_set_wrr()\n  ucc_geth: Fix hangs after switching from full to half duplex\n  ucc_geth: Rearrange some code to avoid forward declarations\n  phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs\n  drivers/net/phy: introduce missing kfree\n  drivers/net/wan: introduce missing kfree\n  net: force bridge module(s) to be GPL\n  Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded\n  ...\n\nFixed up trivial conflicts:\n\n - arch/x86/include/asm/socket.h\n\n   converted to \u003casm-generic/socket.h\u003e in the x86 tree.  The generic\n   header has the same new #define\u0027s, so that works out fine.\n\n - drivers/net/tun.c\n\n   fix conflict between 89f56d1e9 (\"tun: reuse struct sock fields\") that\n   switched over to using \u0027tun-\u003esocket.sk\u0027 instead of the redundantly\n   available (and thus removed) \u0027tun-\u003esk\u0027, and 2b980dbd (\"lsm: Add hooks\n   to the TUN driver\") which added a new \u0027tun-\u003esk\u0027 use.\n\n   Noted in \u0027next\u0027 by Stephen Rothwell.\n"
    },
    {
      "commit": "f5bb1c558405aaac41b08b2ea71137db9db46e72",
      "tree": "deeabf046d4d18675bf85360a3059eb4f29f8d62",
      "parents": [
        "998ec759ef2fc9c60319815c72b2b699ab939733"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Wed Sep 09 00:00:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:55:06 2009 -0700"
      },
      "message": "Phonet: back-end for autoconfigured addresses\n\nIn some cases, the network device driver knows what layer-3 address the\ndevice should have. This adds support for the Phonet stack to\nautomatically request from the driver and add that address to the\nnetwork device.\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": "998ec759ef2fc9c60319815c72b2b699ab939733",
      "tree": "7e6fe0dccd9578e24c47e82cc8a497a681c58752",
      "parents": [
        "cc411d0bae9c19ec85a150aeab4b08335f5751d1"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Tue Sep 08 23:59:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:55:04 2009 -0700"
      },
      "message": "Phonet: fix netlink address dump error handling\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": "cc411d0bae9c19ec85a150aeab4b08335f5751d1",
      "tree": "c42430cdb955c158d69fd9fef053c01130f8eb07",
      "parents": [
        "384912ed194e43c03ad1cdaa09b0b1e488c34d46"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Wed Sep 09 14:41:32 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:58 2009 -0700"
      },
      "message": "ipv6: Add IFA_F_DADFAILED flag\n\nAdd IFA_F_DADFAILED flag to denote an IPv6 address that has\nfailed Duplicate Address Detection, that way tools like\n/sbin/ip can be more informative.\n\n3: eth0: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qlen 1000\n    inet6 2001:db8::1/64 scope global tentative dadfailed\n       valid_lft forever preferred_lft forever\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "384912ed194e43c03ad1cdaa09b0b1e488c34d46",
      "tree": "bdaae15252819543cff0900941238d2b99bb2300",
      "parents": [
        "f510c35de0e63e1066db83d2fdce99e6dbde0c80"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 31 21:08:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:55 2009 -0700"
      },
      "message": "net: Add DEVTYPE support for Ethernet based devices\n\nThe Ethernet framing is used for a lot of devices these days. Most\nprominent are WiFi and WiMAX based devices. However for userspace\napplication it is important to classify these devices correctly and\nnot only see them as Ethernet devices. The daemons like HAL, DeviceKit\nor even NetworkManager with udev support tries to do the classification\nin userspace with a lot trickery and extra system calls. This is not\ngood and actually reaches its limitations. Especially since the kernel\ndoes know the type of the Ethernet device it is pretty stupid.\n\nTo solve this problem the underlying device type needs to be set and\nthen the value will be exported as DEVTYPE via uevents and available\nwithin udev.\n\n  # cat /sys/class/net/wlan0/uevent\n  DEVTYPE\u003dwlan\n  INTERFACE\u003dwlan0\n  IFINDEX\u003d5\n\nThis is similar to subsystems like USB and SCSI that distinguish\nbetween hosts, devices, disks, partitions etc.\n\nThe new SET_NETDEV_DEVTYPE() is a convenience helper to set the actual\ndevice type. All device types are free form, but for convenience the\nsame strings as used with RFKILL are choosen.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4fb019a01a7f67342d4a88d26c0817afe392c669",
      "tree": "6fe31bb55ee8efff2a7774c214e90ba732695386",
      "parents": [
        "ffcfb8db540ff879c2a85bf7e404954281443414"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Sep 11 11:50:08 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:26 2009 -0700"
      },
      "message": "net: force bridge module(s) to be GPL\n\nThe only valid usage for the bridge frame hooks are by a\nGPL components (such as the bridge module).\nThe kernel should not leave a crack in the door for proprietary\nnetworking stacks to slip in.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ffcfb8db540ff879c2a85bf7e404954281443414",
      "tree": "9b0014cd056c4283e6df924a5fe28ab54542c1d3",
      "parents": [
        "8ba69ba6a324b13e1190fc31e41954d190fd4f1d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Sep 11 11:35:22 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:23 2009 -0700"
      },
      "message": "Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded\n\nAnd also do a better job of returning proper NET_{RX,XMIT}_ values.\n\nBased on a patch and suggestions by Mark Smith.\n\nThis fixes CVE-2009-2903\n\nReported-by: Mark Smith \u003clk-netdev@lk-netdev.nosense.org\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab3bbaa8b257845e248e9a01d12a69ca245f4197",
      "tree": "f3054be9bd612194826ed6969d01346d329c3306",
      "parents": [
        "332a3392188e0ad966543c87b8da2b9d246f301d",
        "2ecda72b49a0849ce41e7fa1fa974a245b9119f8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 11 14:59:37 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 11 14:59:37 2009 -0400"
      },
      "message": "Merge branch \u0027nfs-for-2.6.32\u0027\n"
    },
    {
      "commit": "8ba69ba6a324b13e1190fc31e41954d190fd4f1d",
      "tree": "3794f633c57ca8257242abccc891c8be7d58cdf0",
      "parents": [
        "9a0da0d19c573e01aded6ac17747d2efc5b1115f"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Sep 11 11:31:45 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 11:31:45 2009 -0700"
      },
      "message": "net: unix: fix sending fds in multiple buffers\n\nKalle Olavi Niemitalo reported that:\n\n  \"..., when one process calls sendmsg once to send 43804 bytes of\n  data and one file descriptor, and another process then calls recvmsg\n  three times to receive the 16032+16032+11740 bytes, each of those\n  recvmsg calls returns the file descriptor in the ancillary data.  I\n  confirmed this with strace.  The behaviour differs from Linux\n  2.6.26, where reportedly only one of those recvmsg calls (I think\n  the first one) returned the file descriptor.\"\n\nThis bug was introduced by a patch from me titled \"net: unix: fix inflight\ncounting bug in garbage collector\", commit 6209344f5.\n\nAnd the reason is, quoting Kalle:\n\n  \"Before your patch, unix_attach_fds() would set scm-\u003efp \u003d NULL, so\n  that if the loop in unix_stream_sendmsg() ran multiple iterations,\n  it could not call unix_attach_fds() again.  But now,\n  unix_attach_fds() leaves scm-\u003efp unchanged, and I think this causes\n  it to be called multiple times and duplicate the same file\n  descriptors to each struct sk_buff.\"\n\nFix this by introducing a flag that is cleared at the start and set\nwhen the fds attached to the first buffer.  The resulting code should\nwork equivalently to the one on 2.6.26.\n\nReported-by: Kalle Olavi Niemitalo \u003ckon@iki.fi\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a0da0d19c573e01aded6ac17747d2efc5b1115f",
      "tree": "76294327bae4b3e45b16c690bda4b24951f237cf",
      "parents": [
        "ec282e9225be924479d4880b51f13524795bd8d3",
        "8a56df0ae1690f8f42a3c6c4532f4b06f93febea"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 10 18:17:09 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 10 18:17:09 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "a3c8b97396ef42edfb845788ba6f53b2a93ce980",
      "tree": "530c5bdbc534618311dab3e0af245835af56db0f",
      "parents": [
        "74fca6a42863ffacaf7ba6f1936a9f228950f657",
        "9f0ab4a3f0fdb1ff404d150618ace2fa069bb2e1"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Sep 11 08:04:49 2009 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Sep 11 08:04:49 2009 +1000"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "23bcf634c8bc0d84607a5b863333191d58baee4c",
      "tree": "bc988ab6230bebf47e1dc22db70f94901ac2eeb5",
      "parents": [
        "ea6a634ef7f0ab1d1f48ba0ad4f50e96d6065312"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Sep 09 18:11:23 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 09 18:11:23 2009 -0700"
      },
      "message": "net_sched: fix estimator lock selection for mq child qdiscs\n\nWhen new child qdiscs are attached to the mq qdisc, they are actually\nattached as root qdiscs to the device queues. The lock selection for\nnew estimators incorrectly picks the root lock of the existing and\nto be replaced qdisc, which results in a use-after-free once the old\nqdisc has been destroyed.\n\nMark mq qdisc instances with a new flag and treat qdiscs attached to\nmq as children similar to regular root qdiscs.\n\nAdditionally prevent estimators from being attached to the mq qdisc\nitself since it only updates its byte and packet counters during dumps.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea6a634ef7f0ab1d1f48ba0ad4f50e96d6065312",
      "tree": "fbf291540b824183e0d9292906e9570fd344ebaa",
      "parents": [
        "fa1a9c681377c57e233038e50479e7d7a5cc3108",
        "b2e3abdc708f8c0eff194af25362fdb239abe241"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 09 17:33:45 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 09 17:33:45 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "b2e3abdc708f8c0eff194af25362fdb239abe241",
      "tree": "a17ba8b9bab9078d73b7c452d3fa345d54a4908d",
      "parents": [
        "8c8f9ba7051b017e44124666b41c1dc70333a77c"
      ],
      "author": {
        "name": "Holger Schurig",
        "email": "hs4233@mail.mn-solutions.de",
        "time": "Wed Sep 09 13:09:54 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 09 11:25:27 2009 -0400"
      },
      "message": "cfg80211: allow scanning on specified frequencies when using wext-compatibility\n\nHandles the case when SIOCSIWSCAN specified iw_scan_req.num_channels and\niw_scan_req.channels[].\n\nSigned-off-by: Holger Schurig \u003chs4233@mail.mn-solutions.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fa1a9c681377c57e233038e50479e7d7a5cc3108",
      "tree": "719cfaa29913c352e55efcfc35a7de84c839a3f6",
      "parents": [
        "5d5d9c97ff807b643b6c2284dea7fe04ecc74355"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 09 03:43:50 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 09 03:43:50 2009 -0700"
      },
      "message": "headers: net/ipv[46]/protocol.c header trim\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b275f28535fc774325bb8ad5f664e6c44a8fbc9b",
      "tree": "e48d0e73c55f4662acd6e0b2545879ef3b1e8be1",
      "parents": [
        "d9c35a506ed7770301f705a9070e05f0c5fae4bd"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Tue Sep 01 08:53:49 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 08 16:31:06 2009 -0400"
      },
      "message": "wireless: update cfg80211 kconfig entry\n\ncfg80211 is now *the* wireless configuration API. Lets also\ngive a little explanation as to what it is and refer people to\nthe wireless wiki for more information.\n\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6ec1c69a8f6492fd25722f4762721921da074c12",
      "tree": "a78323d1f7f84acbe08c25d7300b935ae4bb7c62",
      "parents": [
        "589983cd21f4a2e4ed74a958805a90fa676845c5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 01:58:51 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 02:07:05 2009 -0700"
      },
      "message": "net_sched: add classful multiqueue dummy scheduler\n\nThis patch adds a classful dummy scheduler which can be used as root qdisc\nfor multiqueue devices and exposes each device queue as a child class.\n\nThis allows to address queues individually and graft them similar to regular\nclasses. Additionally it presents an accumulated view of the statistics of\nall real root qdiscs in the dummy root.\n\nTwo new callbacks are added to the qdisc_ops and qdisc_class_ops:\n\n- cl_ops-\u003eselect_queue selects the tx queue number for new child classes.\n\n- qdisc_ops-\u003eattach() overrides root qdisc device grafting to attach\n  non-shared qdiscs to the queues.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "589983cd21f4a2e4ed74a958805a90fa676845c5",
      "tree": "21ce556958da203400d3e9d30911ff330be39e90",
      "parents": [
        "af356afa010f3cd2c8b8fcc3bce90f7a7b7ec02a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 04 06:41:20 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 02:07:05 2009 -0700"
      },
      "message": "net_sched: move dev_graft_qdisc() to sch_generic.c\n\nIt will be used in a following patch by the multiqueue qdisc.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af356afa010f3cd2c8b8fcc3bce90f7a7b7ec02a",
      "tree": "302d938363bbaec3e69a58e36dbf8a304b24144c",
      "parents": [
        "5b9a9ccfad8553dbf7a9b17ba78bad70215ed0e2"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 04 06:41:18 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 02:07:03 2009 -0700"
      },
      "message": "net_sched: reintroduce dev-\u003eqdisc for use by sch_api\n\nCurrently the multiqueue integration with the qdisc API suffers from\na few problems:\n\n- with multiple queues, all root qdiscs use the same handle. This means\n  they can\u0027t be exposed to userspace in a backwards compatible fashion.\n\n- all API operations always refer to queue number 0. Newly created\n  qdiscs are automatically shared between all queues, its not possible\n  to address individual queues or restore multiqueue behaviour once a\n  shared qdisc has been attached.\n\n- Dumps only contain the root qdisc of queue 0, in case of non-shared\n  qdiscs this means the statistics are incomplete.\n\nThis patch reintroduces dev-\u003eqdisc, which points to the (single) root qdisc\nfrom userspace\u0027s point of view. Currently it either points to the first\n(non-shared) default qdisc, or a qdisc shared between all queues. The\nfollowing patches will introduce a classful dummy qdisc, which will be used\nas root qdisc and contain the per-queue qdiscs as children.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b9a9ccfad8553dbf7a9b17ba78bad70215ed0e2",
      "tree": "1454e8121fef6635a615f6766b3fdbff678ae63d",
      "parents": [
        "de6d5cdf881353f83006d5f3e28ac4fffd42145e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 04 06:41:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 02:07:02 2009 -0700"
      },
      "message": "net_sched: remove some unnecessary checks in classful schedulers\n\nThe class argument to the -\u003egraft(), -\u003eleaf(), -\u003edump(), -\u003edump_stats() all\noriginate from either -\u003eget() or -\u003ewalk() and are always valid.\n\nRemove unnecessary checks.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de6d5cdf881353f83006d5f3e28ac4fffd42145e",
      "tree": "edc032e4d0a868578780facdd28fb0ee277aadc3",
      "parents": [
        "71ebe5e91947392bc276af713827eab12b6db8e4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 04 06:41:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 02:07:02 2009 -0700"
      },
      "message": "net_sched: make cls_ops-\u003echange and cls_ops-\u003edelete optional\n\nSome schedulers don\u0027t support creating, changing or deleting classes.\nMake the respective callbacks optionally and consistently return\n-EOPNOTSUPP for unsupported operations, instead of currently either\n-EOPNOTSUPP, -ENOSYS or no error.\n\nIn case of sch_prio and sch_multiq, the removed operations additionally\nchecked for an invalid class. This is not necessary since the class\nargument can only orginate from -\u003eget() or in case of -\u003echange is 0\nfor creation of new classes, in which case -\u003echange() incorrectly\nreturned -ENOENT.\n\nAs a side-effect, this patch fixes a possible (root-only) NULL pointer\nfunction call in sch_ingress, which didn\u0027t implement a so far mandatory\n-\u003edelete() operation.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "71ebe5e91947392bc276af713827eab12b6db8e4",
      "tree": "198ff02e23f8606ff2a3bec51c7044ec408e19c4",
      "parents": [
        "c9f1d0389b962521af1e2b699c8ee5e299d77b85"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 04 06:41:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 02:06:12 2009 -0700"
      },
      "message": "net_sched: make cls_ops-\u003etcf_chain() optional\n\nSome qdiscs don\u0027t support attaching filters. Handle this centrally in\ncls_api and return a proper errno code (EOPNOTSUPP) instead of EINVAL.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59430c2f437767094298f30dd02ca038da0df755",
      "tree": "3c79740e3580e403df02daafba26fa6e67552c16",
      "parents": [
        "e9ee3a54a164c249a0a576c403eba367a6d97be5",
        "16ebb5e0b36ceadc8186f71d68b0c4fa4b6e781b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:52:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:52:41 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  tc: Fix unitialized kernel memory leak\n  pkt_sched: Revert tasklet_hrtimer changes.\n  net: sk_free() should be allowed right after sk_alloc()\n  gianfar: gfar_remove needs to call unregister_netdev()\n  ipw2200: firmware DMA loading rework\n"
    },
    {
      "commit": "c9f1d0389b962521af1e2b699c8ee5e299d77b85",
      "tree": "e317e8b012be8b31b303bdb3f6ee5e3929de0a7b",
      "parents": [
        "b1f57195585e376d1944c32c046359640b06a669"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 04 06:41:13 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 04 23:10:15 2009 -0700"
      },
      "message": "net_sched: fix class grafting errno codes\n\nIf the parent qdisc doesn\u0027t support classes, use EOPNOTSUPP.\nIf the parent class doesn\u0027t exist, use ENOENT. Currently EINVAL\nis returned in both cases.\n\nAdditionally check whether grafting is supported and remove a now\nunnecessary graft function from sch_ingress.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1f57195585e376d1944c32c046359640b06a669",
      "tree": "5e49a5e0077520f92e4e2bfd57caf90e303784ae",
      "parents": [
        "f1751c57f7bb816c9b6b4cb5d79c703aaa7199da"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Sep 04 20:36:52 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 04 20:36:52 2009 -0700"
      },
      "message": "netlink: silence compiler warning\n\n  CC      net/netlink/genetlink.o\nnet/netlink/genetlink.c: In function ‘genl_register_mc_group’:\nnet/netlink/genetlink.c:139: warning: ‘err’ may be used uninitialized in this function\n\nFrom following the code \u0027err\u0027 is initialized, but set it to zero to\nsilence the warning.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1751c57f7bb816c9b6b4cb5d79c703aaa7199da",
      "tree": "68e75889f4fd4b576f50bd52088c79f7c837323d",
      "parents": [
        "be2971438dec2e2d041af4701472a93a7dd03642"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:03 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:03 2009 -0400"
      },
      "message": "sctp: Catch bogus stream sequence numbers\n\nSince our TSN map is capable of holding at most a 4K chunk gap,\nthere is no way that during this gap, a stream sequence number\n(unsigned short) can wrap such that the new number is smaller\nthen the next expected one.  If such a case is encountered,\nthis is a protocol violation.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "be2971438dec2e2d041af4701472a93a7dd03642",
      "tree": "9b69e184f1be9815f471f06a5456a68aef59578f",
      "parents": [
        "9237ccbc0b22b5aa5396463ba0b14dc5efe5b98c"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Fri Sep 04 14:34:06 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:02 2009 -0400"
      },
      "message": "sctp: remove dup code in net/sctp/output.c\n\nUse sctp_packet_reset() instead of dup code.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "723884339f90a9c420783135168cc1045750eb5d",
      "tree": "c8538602e56f2310470b0970bf121a1000313401",
      "parents": [
        "8da645e101a8c20c6073efda3c7cc74eec01b87f"
      ],
      "author": {
        "name": "Bhaskar Dutta",
        "email": "bhaskie@gmail.com",
        "time": "Thu Sep 03 17:25:47 2009 +0530"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:01 2009 -0400"
      },
      "message": "sctp: Sysctl configuration for IPv4 Address Scoping\n\nThis patch introduces a new sysctl option to make IPv4 Address Scoping\nconfigurable \u003cdraft-stewart-tsvwg-sctp-ipv4-00.txt\u003e.\n\nIn networking environments where DNAT rules in iptables prerouting\nchains convert destination IP\u0027s to link-local/private IP addresses,\nSCTP connections fail to establish as the INIT chunk is dropped by the\nkernel due to address scope match failure.\nFor example to support overlapping IP addresses (same IP address with\ndifferent vlan id) a Layer-5 application listens on link local IP\u0027s,\nand there is a DNAT rule that maps the destination IP to a link local\nIP. Such applications never get the SCTP INIT if the address-scoping\ndraft is strictly followed.\n\nThis sysctl configuration allows SCTP to function in such\nunconventional networking environments.\n\nSysctl options:\n0 - Disable IPv4 address scoping draft altogether\n1 - Enable IPv4 address scoping (default, current behavior)\n2 - Enable address scoping but allow IPv4 private addresses in init/init-ack\n3 - Enable address scoping but allow IPv4 link local address in init/init-ack\n\nSigned-off-by: Bhaskar Dutta \u003cbhaskar.dutta@globallogic.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "8da645e101a8c20c6073efda3c7cc74eec01b87f",
      "tree": "3d888e6da02f60acb18b52f6e6d8dac64e28564c",
      "parents": [
        "a803c942303e6a4ef0ab6b80114529852cffa058"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:01 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:01 2009 -0400"
      },
      "message": "sctp: Get rid of an extra routing lookup when adding a transport.\n\nWe used to perform 2 routing lookups for a new transport: one\njust for path mtu detection, and one to actually route to destination\nand path mtu update when sending a packet.  There is no point in doing\nboth of them, especially since the first one just for path mtu doesn\u0027t\ntake into account source address and sometimes gives the wrong route,\ncausing path mtu updates anyway.\n\nWe now do just the one call to do both route to destination and get\npath mtu updates.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "4007cc88ceec8892b74792f0a10983b140beae72",
      "tree": "6a1af00a4ca24155255c031fdcd05b7d6ead59ab",
      "parents": [
        "d521c08f4c16d27f193718da778503a6472501da"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "message": "sctp: Correctly track if AUTH has been bundled.\n\nWe currently track if AUTH has been bundled using the \u0027auth\u0027\npointer to the chunk.  However, AUTH is disallowed after DATA\nis already in the packet, so we need to instead use the\n\u0027has_auth\u0027 field.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "d521c08f4c16d27f193718da778503a6472501da",
      "tree": "44bc280f8711bf13942a192037cf5f96670053b7",
      "parents": [
        "31b02e1549406efa346534acad956a42bc3f28c4"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Sep 02 13:05:33 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "message": "sctp: fix to reset packet information after packet transmit\n\nThe packet information does not reset after packet transmit, this\nmay cause some problems such as following DATA chunk be sent without\nAUTH chunk, even if the authentication of DATA chunk has been\nrequested by the peer.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "31b02e1549406efa346534acad956a42bc3f28c4",
      "tree": "3acc807275810eb2efdc5fc2744bdfc3528488c2",
      "parents": [
        "f68b2e05f326971cd76c65aa91a1a41771dd7485"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "message": "sctp: Failover transmitted list on transport delete\n\nAdd-IP feature allows users to delete an active transport.  If that\ntransport has chunks in flight, those chunks need to be moved to another\ntransport or association may get into unrecoverable state.\n\nReported-by: Rafael Laufer \u003crlaufer@cisco.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "f68b2e05f326971cd76c65aa91a1a41771dd7485",
      "tree": "2940d83f3787570cc030791378ee23b89b941662",
      "parents": [
        "cb95ea32a457871f72752164de8d94fa20f4703c"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:21:00 2009 -0400"
      },
      "message": "sctp: Fix SCTP_MAXSEG socket option to comply to spec.\n\nWe had a bug that we never stored the user-defined value for\nMAXSEG when setting the value on an association.  Thus future\nPMTU events ended up re-writing the frag point and increasing\nit past user limit.  Additionally, when setting the option on\nthe socket/endpoint, we effect all current associations, which\nis against spec.\n\nNow, we store the user \u0027maxseg\u0027 value along with the computed\n\u0027frag_point\u0027.  We inherit \u0027maxseg\u0027 from the socket at association\ncreation and use it as an upper limit for \u0027frag_point\u0027 when its\nset.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "cb95ea32a457871f72752164de8d94fa20f4703c",
      "tree": "0a419cdc3fe5e7e2d5fa5036a40d93a4bb6aac42",
      "parents": [
        "b29e7907288554db9c987c36facfd0304ee8ff5a"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "message": "sctp: Don\u0027t do NAGLE delay on large writes that were fragmented small\n\nSCTP will delay the last part of a large write due to NAGLE, if that\npart is smaller then MTU.  Since we are doing large writes, we might\nas well send the last portion now instead of waiting untill the next\nlarge write happens.  The small portion will be sent as is regardless,\nso it\u0027s better to not delay it.\n\nThis is a result of much discussions with Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nand Doug Graham \u003cdgraham@nortel.com\u003e.  Many thanks go out to them.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "b29e7907288554db9c987c36facfd0304ee8ff5a",
      "tree": "5a20e7c0e59cfc986b20b915f5bd624850d56619",
      "parents": [
        "d4d6fb5787a6ef6e1dab731d617ebda6be73d561"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "message": "sctp: Nagle delay should be based on path mtu\n\nThe decision to delay due to Nagle should be based on the path mtu\nand future packet size.  We currently incorrectly base it on\n\u0027frag_point\u0027 which is the SCTP DATA segment size, and also we do\nnot count DATA chunk header overhead in the computation.  This\nactuall allows situations where a user can set low \u0027frag_point\u0027,\nand then send small messages without delay.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "d4d6fb5787a6ef6e1dab731d617ebda6be73d561",
      "tree": "afdf56288c5cdbfa40f95ef4a618d37f5b3f5092",
      "parents": [
        "4d3c46e6833208428d366630aa708f6876e61fc1"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "message": "sctp: Try not to change a_rwnd when faking a SACK from SHUTDOWN.\n\nWe currently set a_rwnd to 0 when faking a SACK from SHUTDOWN.\nThis results in an hung association if the remote only uses\nSHUTDOWNs (which it\u0027s allowed to do) to acknowlege DATA when\nclosing.  The reason for that is that we simply honor the a_rwnd\nfrom the sack, but since we faked it to be 0, we enter 0-window\nprobing.  The fix is to use the peers old rwnd and add our flight\nsize to it.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "4d3c46e6833208428d366630aa708f6876e61fc1",
      "tree": "cb5f57a90a261b7443d202d96cf5725dbba371c8",
      "parents": [
        "33ce828131ca6655b48bd2070dadd80f816dfe0d"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:59 2009 -0400"
      },
      "message": "sctp: drop a_rwnd to 0 when receive buffer overflows.\n\nSCTP has a problem that when small chunks are used, it is possible\nto exhaust the receiver buffer without fully closing receive window.\nThis happens due to all overhead that we have account for with small\nmessages.  To fix this, when receive buffer is exceeded, we\u0027ll drop\nthe window to 0 and save the \u0027drop\u0027 portion.  When application starts\nreading data and freeing up recevie buffer space, we\u0027ll wait until\nwe\u0027ve reached the \u0027drop\u0027 window and then add back this \u0027drop\u0027 one\nmtu at a time.  This worked well in testing and under stress produced\nrather even recovery.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "33ce828131ca6655b48bd2070dadd80f816dfe0d",
      "tree": "f098d69c268a67f41a2915d90dbf3463b36df375",
      "parents": [
        "b9f8478682445c2a3e0b87718a0563ef543ad94e"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:58 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:58 2009 -0400"
      },
      "message": "sctp: Clear fast_recovery on the transport when T3 timer expires.\n\nIf T3 timer expires, we are retransmitting data due to timeout any\nany fast recovery is null and void.  We can clear the fast recovery\nflag.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "b9f8478682445c2a3e0b87718a0563ef543ad94e",
      "tree": "9bc0351c0a329a0780c6f2f7291e9207727de686",
      "parents": [
        "d71a09ed555e52299b5d3ad8945bdf84f65423a6"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Aug 26 09:36:25 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:58 2009 -0400"
      },
      "message": "sctp: Fix error count increments that were results of HEARTBEATS\n\nSCTP RFC 4960 states that unacknowledged HEARTBEATS count as\nerrors agains a given transport or endpoint.  As such, we\nshould increment the error counts for only for unacknowledged\nHB, otherwise we detect failure too soon.  This goes for both\nthe overall error count and the path error count.\n\nNow, there is a difference in how the detection is done\nbetween the two.  The path error detection is done after\nthe increment, so to detect it properly, we actually need\nto exceed the path threshold.  The overall error detection\nis done _BEFORE_ the increment.  Thus to detect the failure,\nit\u0027s enough for the error count to match the threshold.\nThis is why all the state functions use \u0027\u003e\u003d\u0027 to detect failure,\nwhile path detection uses \u0027\u003e\u0027.\n\nThanks goes to Chunbo Luo \u003cchunbo.luo@windriver.com\u003e who first\nproposed patches to fix this issue and made me re-read the spec\nand the code to figure out how this cruft really works.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "d71a09ed555e52299b5d3ad8945bdf84f65423a6",
      "tree": "7b2287417fdcd6c65a00942f8b914f9681b4ebf1",
      "parents": [
        "dadb50cc1ada2906594df83d991f0bc388039bb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Aug 23 23:11:36 2009 +0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:58 2009 -0400"
      },
      "message": "sctp: use proc_create()\n\ncreate_proc_entry() is deprecated (not formally, though).\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "dadb50cc1ada2906594df83d991f0bc388039bb6",
      "tree": "25df647a588e1401377339f98f3dad12f17ab7bd",
      "parents": [
        "a2f36eec5647548fa94fb68e2843b00fb9c0d46b"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Aug 22 11:27:37 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:58 2009 -0400"
      },
      "message": "sctp: fix check the chunk length of received HEARTBEAT-ACK chunk\n\nThe receiver of the HEARTBEAT should respond with a HEARTBEAT ACK\nthat contains the Heartbeat Information field copied from the\nreceived HEARTBEAT chunk. So the received HEARTBEAT-ACK chunk\nmust have a length of:\n  sizeof(sctp_chunkhdr_t) + sizeof(sctp_sender_hb_info_t)\n\nA badly formatted HB-ACK chunk, it is possible that we may access\ninvalid memory.  We should really make sure that the chunk format\nis what we expect, before attempting to touch the data.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "a2f36eec5647548fa94fb68e2843b00fb9c0d46b",
      "tree": "2f9927736f20817bdaed1d1f8a897af2c1e0d605",
      "parents": [
        "9c5c62be2f794c7cee533d856f9f34c3cf21ff1b"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sat Aug 22 11:24:00 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:57 2009 -0400"
      },
      "message": "sctp: drop SHUTDOWN chunk if the TSN is less than the CTSN\n\nIf Cumulative TSN Ack field of SHUTDOWN chunk is less than the\nCumulative TSN Ack Point then drop the SHUTDOWN chunk.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "9c5c62be2f794c7cee533d856f9f34c3cf21ff1b",
      "tree": "e81bcc703cedf4e667b91504b5cf9e8e01ffb6a5",
      "parents": [
        "5d7ff261ef497c62f54c39effc259910a28b313d"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Mon Aug 10 13:51:03 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:57 2009 -0400"
      },
      "message": "sctp: Send user messages to the lower layer as one\n\nCurrenlty, sctp breaks up user messages into fragments and\nsends each fragment to the lower layer by itself.  This means\nthat for each fragment we go all the way down the stack\nand back up.  This also discourages bundling of multiple\nfragments when they can fit into a sigle packet (ex: due\nto user setting a low fragmentation threashold).\n\nWe introduce a new command SCTP_CMD_SND_MSG and hand the\nwhole message down state machine.  The state machine and\nthe side-effect parser will cork the queue, add all chunks\nfrom the message to the queue, and then un-cork the queue\nthus causing the chunks to get transmitted.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "5d7ff261ef497c62f54c39effc259910a28b313d",
      "tree": "78eca9144bafc85c65cfdf19e5c8c5dffbd271f4",
      "parents": [
        "e83963b769a2c38b436f5dcf82309f5cbc2f6012"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Aug 07 13:23:28 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:56 2009 -0400"
      },
      "message": "sctp: Try to encourage SACK bundling with DATA.\n\nIf the association has a SACK timer pending and now DATA queued\nto be send, we\u0027ll try to bundle the SACK with the next application send.\nAs such, try encourage bundling by accounting for SACK in the size\nof the first chunk fragment.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "e83963b769a2c38b436f5dcf82309f5cbc2f6012",
      "tree": "682a21fa15fd49e22e11d4a64cfea6771b3b5d94",
      "parents": [
        "3e62abf92f34d75fe22352d8d102e3cd2755804d"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Aug 07 10:43:07 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:56 2009 -0400"
      },
      "message": "sctp: Generate SACKs when actually sending outbound DATA\n\nWe are now trying to bundle SACKs when we have outbound\nDATA to send.  However, there are situations where this\noutbound DATA will not be sent (due to congestion or \navailable window).  In such cases it\u0027s ok to wait for the\ntimer to expire.  This patch refactors the sending code\nso that betfore attempting to bundle the SACK we check\nto see if the DATA will actually be transmitted.\n\nBased on eirlier works for Doug Graham \u003cdgraham@nortel.com\u003e and\nWei Youngjun \u003cyjwei@cn.fujitsu.com\u003e.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "3e62abf92f34d75fe22352d8d102e3cd2755804d",
      "tree": "e8e175b95bdf137565a301e382d6f7c22e4a417e",
      "parents": [
        "bec9640bb0d451813b1bb1f2cc13a5bfb17c3e48"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:56 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:56 2009 -0400"
      },
      "message": "sctp: Fix data segmentation with small frag_size\n\nSince an application may specify the maximum SCTP fragment size\nthat all data should be fragmented to, we need to fix how\nwe do segmentation.   Right now, if a user specifies a small\nfragment size, the segment size can go negative in the presence\nof AUTH or COOKIE_ECHO bundling.\n\nWhat we need to do is track the largest possbile DATA chunk that\ncan fit into the mtu.  Then if the fragment size specified is\nbigger then this maximum length, we\u0027ll shrink it down.  Otherwise,\nwe just use the smaller segment size without changing it further.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "bec9640bb0d451813b1bb1f2cc13a5bfb17c3e48",
      "tree": "8c44f18560570c7200eed1a92cd0d9fab6c2a4f2",
      "parents": [
        "af87b823ca2b05257192e8d48dc686db6173d7b2"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Thu Jul 30 18:08:28 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:56 2009 -0400"
      },
      "message": "sctp: Disallow new connection on a closing socket\n\nIf a socket has a lot of association that are in the process of\nof being closed/aborted, it is possible for a remote to establish\nnew associations during the time period that the old ones are shutting\ndown.  If this was a result of a close() call, there will be no socket\nand will cause a memory leak.  We\u0027ll prevent this by setting the\nsocket state to CLOSING and disallow new associations when in this state.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "af87b823ca2b05257192e8d48dc686db6173d7b2",
      "tree": "da1756a3917bf1b737c4854bb7acc579c1c187d5",
      "parents": [
        "b4e8c6a7e6caa9c80edcbfb78fc50962b792d5f0"
      ],
      "author": {
        "name": "Doug Graham",
        "email": "dgraham@nortel.com",
        "time": "Wed Jul 29 12:05:57 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:55 2009 -0400"
      },
      "message": "sctp: Fix piggybacked ACKs\n\nThis patch corrects the conditions under which a SACK will be piggybacked\non a DATA packet.  The previous condition was incorrect due to a\nmisinterpretation of RFC 4960 and/or RFC 2960.  Specifically, the\nfollowing paragraph from section 6.2 had not been implemented correctly:\n\n   Before an endpoint transmits a DATA chunk, if any received DATA\n   chunks have not been acknowledged (e.g., due to delayed ack), the\n   sender should create a SACK and bundle it with the outbound DATA\n   chunk, as long as the size of the final SCTP packet does not exceed\n   the current MTU.  See Section 6.2.\n\nWhen about to send a DATA chunk, the code now checks to see if the SACK\ntimer is running.  If it is, we know we have a SACK to send to the\npeer, so we append the SACK (assuming available space in the packet)\nand turn off the timer.  For a simple request-response scenario, this\nwill result in the SACK being bundled with the response, meaning the\nthe SACK is received quickly by the client, and also meaning that no\nseparate SACK packet needs to be sent by the server to acknowledge the\nrequest.  Prior to this patch, a separate SACK packet would have been\nsent by the server SCTP only after its delayed-ACK timer had expired\n(usually 200ms).  This is wasteful of bandwidth, and can also have a\nmajor negative impact on performance due the interaction of delayed ACKs\nwith the Nagle algorithm.\n\nSigned-off-by: Doug Graham \u003cdgraham@nortel.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "40187886bc31aee9c5c6f08f46cde4ab618e9736",
      "tree": "93d569af329d9516ac2b586e808a6c2b8e3629e7",
      "parents": [
        "3cd9749c0b758223a71e059fa44c2234547d9ee0"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Jun 23 11:28:05 2009 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:55 2009 -0400"
      },
      "message": "sctp: release cached route when the transport goes down.\n\nWhen the sctp transport is marked down, we can release the\ncached route and force a new lookup when attempting to use\nthis transport for anything.  This way, if a better route\nor source address is available, we\u0027ll try to use it.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "3cd9749c0b758223a71e059fa44c2234547d9ee0",
      "tree": "62f99f43c552621e3fbdc30aaf56583073058afd",
      "parents": [
        "44e65c1ef1e771b32c82546ebfba910137aa8871"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Jun 16 10:07:23 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:55 2009 -0400"
      },
      "message": "sctp: update the route for non-active transports after addresses are added\n\nUpdate the route and saddr entries for the non-active transports as some\nof the added addresses can be used as better source addresses, or may\nbe there is a better route.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "44e65c1ef1e771b32c82546ebfba910137aa8871",
      "tree": "57065e871b6d61abee61ce97238e71420d7d98df",
      "parents": [
        "425e0f685230986511b1fdf80340e2f28b214c5d"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Jun 16 14:48:24 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:54 2009 -0400"
      },
      "message": "sctp: check the unrecognized ASCONF parameter before access it\n\nThis patch fix to check the unrecognized ASCONF parameter before\naccess it.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "425e0f685230986511b1fdf80340e2f28b214c5d",
      "tree": "1af69aff245f3930efdf39d08099a339f27305dd",
      "parents": [
        "8a34e2f8ba7d4302977c90e357921994a6c39af9"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Jun 16 14:47:30 2009 +0800"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Sep 04 18:20:54 2009 -0400"
      },
      "message": "sctp: avoid overwrite the return value of sctp_process_asconf_ack()\n\nThe return value of sctp_process_asconf_ack() may be\noverwritten while process parameters with no error.\nThis patch fixed the problem.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "a8fdf2b331b38d61fb5f11f3aec4a4f9fb2dedcb",
      "tree": "7c5ae0e9b933a172b44a3cbeecb5374de66485ab",
      "parents": [
        "6fdfa97073a2bcbb60d900654c612b2ff09b9cb7"
      ],
      "author": {
        "name": "Cosmin Ratiu",
        "email": "cratiu@ixiacom.com",
        "time": "Thu Sep 03 20:44:38 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:44:38 2009 -0700"
      },
      "message": "ipv6: Fix tcp_v6_send_response(): it didn\u0027t set skb transport header\n\nHere is a patch which fixes an issue observed when using TCP over IPv6\nand AH from IPsec.\n\nWhen a connection gets closed the 4-way method and the last ACK from\nthe server gets dropped, the subsequent FINs from the client do not\nget ACKed because tcp_v6_send_response does not set the transport\nheader pointer. This causes ah6_output to try to allocate a lot of\nmemory, which typically fails, so the ACKs never make it out of the\nstack.\n\nI have reproduced the problem on kernel 2.6.7, but after looking at\nthe latest kernel it seems the problem is still there.\n\nSigned-off-by: Cosmin Ratiu \u003ccratiu@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a123a3168566b10f87f228ae963770b26f27420",
      "tree": "cebf893e0ae4de5ee5077b69002f41d8f61d45f9",
      "parents": [
        "2c11455321f37da6fe6cc36353149f9ac9183334"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 03 00:39:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:02:17 2009 -0700"
      },
      "message": "vlan: adds drops accounting\n\nIts hard to tell if vlans are dropping frames, since\nevery frame given to vlan_???_start_xmit() functions\nis accounted as fully transmitted by lower device.\n\nWe can test dev_queue_xmit() return values to\nproperly account for dropped frames.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55f9d6786de2f9cf37db50dbe8ae16f887f3ad7f",
      "tree": "7ae3ed422ac14b5674c4ca96609135523f6a0d87",
      "parents": [
        "2f8bc32b7a08502a79e0ccec8697000f2977f2fd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 03 05:17:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 05:17:20 2009 -0700"
      },
      "message": "net: Remove debugging code\n\nRemove a debugging aid I accidently left in previous \u0027cleanup\u0027 patch\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f8bc32b7a08502a79e0ccec8697000f2977f2fd",
      "tree": "c08fc64bc8b7cfe5b71d832ca9854f2dc21e6991",
      "parents": [
        "d1b19dff9159bb88fe839c30a7c071faf4761933"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 03 02:19:58 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 02:19:58 2009 -0700"
      },
      "message": "vlan: enable multiqueue xmits\n\nvlan_dev_hard_start_xmit() \u0026 vlan_dev_hwaccel_hard_start_xmit()\nselect txqueue number 0, instead of using index provided by\nskb_get_queue_mapping().\n\nThis is not correct after commit 2e59af3dcbdf11635c03f\n[vlan: multiqueue vlan device] because\ntxq-\u003etx_packets  \u0026 txq-\u003etx_bytes changes are performed on\na single location, and not the right locking.\n\nFix is to take the appropriate struct netdev_queue pointer\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "d1b19dff9159bb88fe839c30a7c071faf4761933",
      "tree": "647b5a9186e5339b1160d7694ffefc76b140bfa3",
      "parents": [
        "137742cf9738f1b4784058ff79aec7ca85e769d4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 03 01:29:39 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 01:29:39 2009 -0700"
      },
      "message": "net: net/core/dev.c cleanups\n\nPure style cleanup patch before surgery :)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "137742cf9738f1b4784058ff79aec7ca85e769d4",
      "tree": "1b2424c5d0efe674c8a93f09451b281f0ada3ec6",
      "parents": [
        "81538e74ca12a71ea37ce72f809ebc65a90b9538"
      ],
      "author": {
        "name": "Karl Hiramoto",
        "email": "karl@hiramoto.org",
        "time": "Wed Sep 02 23:26:39 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 23:46:10 2009 -0700"
      },
      "message": "atm/br2684: netif_stop_queue() when atm device busy and netif_wake_queue() when we can send packets again.\n\nThis patch removes the call to dev_kfree_skb() when the atm device is busy.\nCalling dev_kfree_skb() causes heavy packet loss then the device is under\nheavy load, the more correct behavior should be to stop the upper layers,\nthen when the lower device can queue packets again wake the upper layers.\n\nSigned-off-by: Karl Hiramoto \u003ckarl@hiramoto.org\u003e\nSigned-off-by: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "aa1330766c49199bdab4d4a9096d98b072df9044"
}
