)]}'
{
  "log": [
    {
      "commit": "92e99a98bb44ccce6c902ea077b49cafcfb80025",
      "tree": "f6bc31148c2c9358b775b4eb2219c3fe2ba582f9",
      "parents": [
        "eac4068013a067f5fb63005033c13b27fbf6dfca"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed May 26 14:43:33 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:48 2010 -0700"
      },
      "message": "iucv: convert cpu notifier to return encapsulate errno value\n\nBy the previous modification, the cpu notifier can return encapsulate\nerrno value.  This converts the cpu notifiers for iucv.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3fa21e07e6acefa31f974d57fba2b6920a7ebd1a",
      "tree": "4254644ef2579e9ac96db6ec0535b5e4231fd18e",
      "parents": [
        "b60b6592baa69c43a5a0f55d6300a7feaab15338"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 17 23:08:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 23:23:14 2010 -0700"
      },
      "message": "net: Remove unnecessary returns from void function()s\n\nThis patch removes from net/ (but not any netfilter files)\nall the unnecessary return; statements that precede the\nlast closing brace of void functions.\n\nIt does not remove the returns that are immediately\npreceded by a label as gcc doesn\u0027t like that.\n\nDone via:\n$ grep -rP --include\u003d*.[ch] -l \"return;\\n}\" net/ | \\\n  xargs perl -i -e \u0027local $/ ; while (\u003c\u003e) { s/\\n[ \\t\\n]+return;\\n}/\\n}/g; print; }\u0027\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43815482370c510c569fd18edb57afcb0fa8cab6",
      "tree": "063efaae3758402b84f056438b704d1de68f7837",
      "parents": [
        "83d7eb2979cd3390c375470225dd2d8f2009bc70"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 29 11:01:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 01 15:00:15 2010 -0700"
      },
      "message": "net: sock_def_readable() and friends RCU conversion\n\nsk_callback_lock rwlock actually protects sk-\u003esk_sleep pointer, so we\nneed two atomic operations (and associated dirtying) per incoming\npacket.\n\nRCU conversion is pretty much needed :\n\n1) Add a new structure, called \"struct socket_wq\" to hold all fields\nthat will need rcu_read_lock() protection (currently: a\nwait_queue_head_t and a struct fasync_struct pointer).\n\n[Future patch will add a list anchor for wakeup coalescing]\n\n2) Attach one of such structure to each \"struct socket\" created in\nsock_alloc_inode().\n\n3) Respect RCU grace period when freeing a \"struct socket_wq\"\n\n4) Change sk_sleep pointer in \"struct sock\" by sk_wq, pointer to \"struct\nsocket_wq\"\n\n5) Change sk_sleep() function to use new sk-\u003esk_wq instead of\nsk-\u003esk_sleep\n\n6) Change sk_has_sleeper() to wq_has_sleeper() that must be used inside\na rcu_read_lock() section.\n\n7) Change all sk_has_sleeper() callers to :\n  - Use rcu_read_lock() instead of read_lock(\u0026sk-\u003esk_callback_lock)\n  - Use wq_has_sleeper() to eventually wakeup tasks.\n  - Use rcu_read_unlock() instead of read_unlock(\u0026sk-\u003esk_callback_lock)\n\n8) sock_wake_async() is modified to use rcu protection as well.\n\n9) Exceptions :\n  macvtap, drivers/net/tun.c, af_unix use integrated \"struct socket_wq\"\ninstead of dynamically allocated ones. They dont need rcu freeing.\n\nSome cleanups or followups are probably needed, (possible\nsk_callback_lock conversion to a spinlock for example...).\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa395145165cb06a0d0885221bbe0ce4a564391d",
      "tree": "118b0403621f10db8dc3dbf12079f9af5b19e05d",
      "parents": [
        "ab9304717f7624c41927f442e6b6d418b2d8b3e4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 20 13:03:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 16:37:13 2010 -0700"
      },
      "message": "net: sk_sleep() helper\n\nDefine a new function to return the waitqueue of a \"struct sock\".\n\nstatic inline wait_queue_head_t *sk_sleep(struct sock *sk)\n{\n\treturn sk-\u003esk_sleep;\n}\n\nChange all read occurrences of sk_sleep by a call to this function.\n\nNeeded for a future RCU conversion. sk_sleep wont be a field directly\navailable.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "471452104b8520337ae2fb48c4e61cd4896e025d",
      "tree": "8594ae4a8362014e3cccf72a4e8834cdbb610bdd",
      "parents": [
        "0ead0f84e81a41c3e98aeceab04af8ab1bb08d1f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Dec 14 18:00:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "const: constify remaining dev_pm_ops\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b7c2aecc0747f5c86a1959bce6a7ce8170a556b0",
      "tree": "5f7906606ea579c7fcad9125e3daa06a33bb02ff",
      "parents": [
        "2c1409a0a2b88585ec0c03f1de0aafa178c56313"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "ursula.braun@de.ibm.com",
        "time": "Thu Nov 12 21:46:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 20:46:58 2009 -0800"
      },
      "message": "iucv: add work_queue cleanup for suspend\n\nIf iucv_work_queue is not empty during kernel freeze, a kernel panic\noccurs. This suspend-patch adds flushing of the work queue for\npending connection requests and severing of remaining pending\nconnections.\n\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f378b684453f2a028eda463ce383370545d9cc9",
      "tree": "dc50d087e137c6d173e25ae10ecd0f10823eca7a",
      "parents": [
        "13f18aa05f5abe135f47b6417537ae2b2fedc18c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Nov 05 22:18:14 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 05 22:18:14 2009 -0800"
      },
      "message": "net: pass kern to net_proto_family create function\n\nThe generic __sock_create function has a kern argument which allows the\nsecurity system to make decisions based on if a socket is being created by\nthe kernel or by userspace.  This patch passes that flag to the\nnet_proto_family specific create function, so it can do the same thing.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a4ff8d417e4ef2eeecb4a4433e3dbd8251aae5e",
      "tree": "873f21076473e535a526ae8ff0162e9aabe930b3",
      "parents": [
        "49f5eba7575e6dfb146c5e24623d50200ce23ff1"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "ursula.braun@de.ibm.com",
        "time": "Wed Oct 14 22:54:56 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 17 23:57:20 2009 -0700"
      },
      "message": "af_iucv: remove duplicate sock_set_flag\n\nRemove duplicate sock_set_flag(sk, SOCK_ZAPPED) in iucv_sock_close,\nwhich has been overlooked in September-commit\n7514bab04e567c9408fe0facbde4277f09d5eb74.\n\nCc: 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": "49f5eba7575e6dfb146c5e24623d50200ce23ff1",
      "tree": "11ecea1f40d78601ef4d5f85080cd4b8728632a4",
      "parents": [
        "7194660da7a6d119fa469bd11b58e7367a5cbdf4"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Wed Oct 14 22:54:55 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 17 23:57:19 2009 -0700"
      },
      "message": "af_iucv: use sk functions to modify sk-\u003esk_ack_backlog\n\nInstead of modifying sk-\u003esk_ack_backlog directly, use respective\nsocket functions.\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": "ec1b4cf74c81bfd0fbe5bf62bafc86c45917e72f",
      "tree": "1b693e4e027f3e42224e6221ae018daeb562e5e1",
      "parents": [
        "f7734fdf61ec6bb848e0bafc1fb8bad2c124bb50"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 05 05:58:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 01:10:46 2009 -0700"
      },
      "message": "net: mark net_proto_ops as const\n\nAll usages of structure net_proto_ops should be declared const.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\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": "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": "a57de0b4336e48db2811a2030bb68dba8dd09d88",
      "tree": "a01c189d5fd55c69c9e2e842241e84b46728bc60",
      "parents": [
        "1b614fb9a00e97b1eab54d4e442d405229c059dd"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Jul 08 12:09:13 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 09 17:06:57 2009 -0700"
      },
      "message": "net: adding memory barrier to the poll and receive callbacks\n\nAdding memory barrier after the poll_wait function, paired with\nreceive callbacks. Adding fuctions sock_poll_wait and sk_has_sleeper\nto wrap the memory barrier.\n\nWithout the memory barrier, following race can happen.\nThe race fires, when following code paths meet, and the tp-\u003ercv_nxt\nand __add_wait_queue updates stay in CPU caches.\n\nCPU1                         CPU2\n\nsys_select                   receive packet\n  ...                        ...\n  __add_wait_queue           update tp-\u003ercv_nxt\n  ...                        ...\n  tp-\u003ercv_nxt check          sock_def_readable\n  ...                        {\n  schedule                      ...\n                                if (sk-\u003esk_sleep \u0026\u0026 waitqueue_active(sk-\u003esk_sleep))\n                                        wake_up_interruptible(sk-\u003esk_sleep)\n                                ...\n                             }\n\nIf there was no cache the code would work ok, since the wait_queue and\nrcv_nxt are opposit to each other.\n\nMeaning that once tp-\u003ercv_nxt is updated by CPU2, the CPU1 either already\npassed the tp-\u003ercv_nxt check and sleeps, or will get the new value for\ntp-\u003ercv_nxt and will return with new data mask.\nIn both cases the process (CPU1) is being added to the wait queue, so the\nwaitqueue_active (CPU2) call cannot miss and will wake up CPU1.\n\nThe bad case is when the __add_wait_queue changes done by CPU1 stay in its\ncache, and so does the tp-\u003ercv_nxt update on CPU2 side.  The CPU1 will then\nendup calling schedule and sleep forever if there are no more data on the\nsocket.\n\nCalls to poll_wait in following modules were ommited:\n\tnet/bluetooth/af_bluetooth.c\n\tnet/irda/af_irda.c\n\tnet/irda/irnet/irnet_ppp.c\n\tnet/mac80211/rc80211_pid_debugfs.c\n\tnet/phonet/socket.c\n\tnet/rds/af_rds.c\n\tnet/rfkill/core.c\n\tnet/sunrpc/cache.c\n\tnet/sunrpc/rpc_pipe.c\n\tnet/tipc/socket.c\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5165aece0efac6574fc3e32b6f1c2a964820d1c6",
      "tree": "73131c06a021578a47526a95bad391dbd9d3b932",
      "parents": [
        "e38be994b9cad09b0d8d78a1875d7e8a2e115d29",
        "f6b24caaf933a466397915a08e30e885a32f905a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 11:57:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 11:57:09 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (43 commits)\n  via-velocity: Fix velocity driver unmapping incorrect size.\n  mlx4_en: Remove redundant refill code on RX\n  mlx4_en: Removed redundant check on lso header size\n  mlx4_en: Cancel port_up check in transmit function\n  mlx4_en: using stop/start_all_queues\n  mlx4_en: Removed redundant skb-\u003elen check\n  mlx4_en: Counting all the dropped packets on the TX side\n  usbnet cdc_subset: fix issues talking to PXA gadgets\n  Net: qla3xxx, remove sleeping in atomic\n  ipv4: fix NULL pointer + success return in route lookup path\n  isdn: clean up documentation index\n  cfg80211: validate station settings\n  cfg80211: allow setting station parameters in mesh\n  cfg80211: allow adding/deleting stations on mesh\n  ath5k: fix beacon_int handling\n  MAINTAINERS: Fix Atheros pattern paths\n  ath9k: restore PS mode, before we put the chip into FULL SLEEP state.\n  ath9k: wait for beacon frame along with CAB\n  acer-wmi: fix rfkill conversion\n  ath5k: avoid PCI FATAL interrupts by restoring RETRY_TIMEOUT disabling\n  ...\n"
    },
    {
      "commit": "0ea920d211e0a870871965418923b08da2025b4a",
      "tree": "5dc3451a2011f0d32839b5aef20d9aaec1da78cf",
      "parents": [
        "bb664f49f8be17d7b8bf9821144e8a53d7fcfe8a"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Wed Jun 17 21:54:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 19 00:10:40 2009 -0700"
      },
      "message": "af_iucv: Return -EAGAIN if iucv msg limit is exceeded\n\nIf the iucv message limit for a communication path is exceeded,\nsendmsg() returns -EAGAIN instead of -EPIPE.\nThe calling application can then handle this error situtation,\ne.g. to try again after waiting some time.\n\nFor blocking sockets, sendmsg() waits up to the socket timeout\nbefore returning -EAGAIN. For the new wait condition, a macro\nhas been introduced and the iucv_sock_wait_state() has been\nrefactored to this macro.\n\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb664f49f8be17d7b8bf9821144e8a53d7fcfe8a",
      "tree": "b811cf165edda341f7471f213da47698bc8fc10e",
      "parents": [
        "cb2107be43d2fc5eadec58b92b54bf32c00bfff3"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Wed Jun 17 21:54:47 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 19 00:10:39 2009 -0700"
      },
      "message": "af_iucv: Change if condition in sendmsg() for more readability\n\nChange the if condition to exit sendmsg() if the socket in not connected.\n\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c23cad923bfebd295ec49dc9265569993903488d",
      "tree": "263bb2b6ed99f250bb8ed9f5fdeed1918cceb45e",
      "parents": [
        "1175b257c8a2cb384823621cad0c1e0945f74300"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "ursula.braun@de.ibm.com",
        "time": "Tue Jun 16 10:30:44 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Jun 16 10:31:19 2009 +0200"
      },
      "message": "[S390] PM: af_iucv power management callbacks.\n\nPatch establishes a dummy afiucv-device to make sure af_iucv is\nnotified as iucv-bus device about suspend/resume.\n\nThe PM freeze callback severs all iucv pathes of connected af_iucv sockets.\nThe PM thaw/restore callback switches the state of all previously connected\nsockets to IUCV_DISCONN.\n\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "672e405b603af0bed99a4c173cdfce9bbf81c963",
      "tree": "25c0498b3a25a39f65914396feea32ea4d4d8eef",
      "parents": [
        "6c005961c15ff85fe1047c197d50b843567c89f8"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "ursula.braun@de.ibm.com",
        "time": "Tue Jun 16 10:30:42 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Jun 16 10:31:17 2009 +0200"
      },
      "message": "[S390] pm: iucv power management callbacks.\n\nPatch calls the PM callback functions of iucv-bus devices, which are\nresponsible for removal of their established iucv pathes.\n\nThe PM freeze callback for the first iucv-bus device disables all iucv\ninterrupts except the connection severed interrupt.\nThe PM freeze callback for the last iucv-bus device shuts down iucv.\n\nThe PM thaw callback for the first iucv-bus device re-enables iucv\nif it has been shut down during freeze. If freezing has been interrupted,\nit re-enables iucv interrupts according to the needs of iucv-exploiters.\n\nThe PM restore callback for the first iucv-bus device re-enables iucv.\n\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "6c005961c15ff85fe1047c197d50b843567c89f8",
      "tree": "4021c62c2a4469ccfd82dd9bfe185a3258a4b60f",
      "parents": [
        "62b7494209495847269a6ce0504cbefd23d42eb1"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "ursula.braun@de.ibm.com",
        "time": "Tue Jun 16 10:30:41 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Jun 16 10:31:17 2009 +0200"
      },
      "message": "[S390] iucv: establish reboot notifier\n\nTo guarantee a proper cleanup, patch adds a reboot notifier to\nthe iucv base code, which disables iucv interrupts, shuts down\nestablished iucv pathes, and removes iucv declarations for z/VM.\n\nChecks have to be added to the iucv-API functions, whether\niucv-buffers removed at reboot time are still declared.\n\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "d93fe1a144c1a4312972bedbefc2213aa8b88612",
      "tree": "5b79f04234ecc96245a95a1191d677d03d6955b3",
      "parents": [
        "5802b140ed52957ad150eaf40239a95f5f45fbd3"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "ubraun@linux.vnet.ibm.com",
        "time": "Thu Apr 23 06:37:16 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 23 06:37:16 2009 -0700"
      },
      "message": "af_iucv: Fix merge.\n\nFrom: Ursula Braun \u003cubraun@linux.vnet.ibm.com\u003e\n\nnet/iucv/af_iucv.c in net-next-2.6 is almost correct. 4 lines should\nstill be deleted. These are the remaining changes:\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5802b140ed52957ad150eaf40239a95f5f45fbd3",
      "tree": "e5c37962611bc5f39c56a1ec479b9059072f056a",
      "parents": [
        "09488e2e0fab14ebe41135f0d066cfe2c56ba9e5",
        "29fe1b481283a1bada994a69f65736db4ae6f35f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 23 04:08:24 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 23 04:08:24 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/iucv/af_iucv.c\n"
    },
    {
      "commit": "09488e2e0fab14ebe41135f0d066cfe2c56ba9e5",
      "tree": "d4435618235088720f7cbc2ac9624e4b8cb0bf7a",
      "parents": [
        "802788bf90f78e7f248e78d4d0510bb00e976db8"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Tue Apr 21 23:26:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 23 04:04:38 2009 -0700"
      },
      "message": "af_iucv: New socket option for setting IUCV MSGLIMITs\n\nThe SO_MSGLIMIT socket option modifies the message limit for new\nIUCV communication paths.\n\nThe message limit specifies the maximum number of outstanding messages\nthat are allowed for connections. This setting can be lowered by z/VM\nwhen an IUCV connection is established.\n\nExpects an integer value in the range of 1 to 65535.\nThe default value is 65535.\n\nThe message limit must be set before calling connect() or listen()\nfor sockets.\n\nIf sockets are already connected or in state listen, changing the message\nlimit is not supported.\nFor reading the message limit value, unconnected sockets return the limit\nthat has been set or the default limit. For connected sockets, the actual\nmessage limit is returned. The actual message limit is assigned by z/VM\nfor each connection and it depends on IUCV MSGLIMIT authorizations\nspecified for the z/VM guest virtual machine.\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": "802788bf90f78e7f248e78d4d0510bb00e976db8",
      "tree": "41b055bd4697a78ca67b833b299044bd6e5bb2e7",
      "parents": [
        "aa8e71f58ab8e01d63c33df40ff1bcb997c9df92"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Tue Apr 21 23:26:26 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 23 04:04:37 2009 -0700"
      },
      "message": "af_iucv: cleanup and refactor recvmsg() EFAULT handling\n\nIf the skb cannot be copied to user iovec, always return -EFAULT.\nThe skb is enqueued again, except MSG_PEEK flag is set, to allow user space\napplications to correct its iovec pointer.\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": "aa8e71f58ab8e01d63c33df40ff1bcb997c9df92",
      "tree": "5f489c3dd44e519f331af87305b12ed0e2ee64cc",
      "parents": [
        "44b1e6b5f9a93cc2ba024e09cf137d5f1b5f8426"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Tue Apr 21 23:26:25 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 23 04:04:36 2009 -0700"
      },
      "message": "af_iucv: Provide new socket type SOCK_SEQPACKET\n\nThis patch provides the socket type SOCK_SEQPACKET in addition to\nSOCK_STREAM.\n\nAF_IUCV sockets of type SOCK_SEQPACKET supports an 1:1 mapping of\nsocket read or write operations to complete IUCV messages.\nSocket data or IUCV message data is not fragmented as this is the\ncase for SOCK_STREAM sockets.\n\nThe intention is to help application developers who write\napplications or device drivers using native IUCV interfaces\n(Linux kernel or z/VM IUCV interfaces).\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": "44b1e6b5f9a93cc2ba024e09cf137d5f1b5f8426",
      "tree": "1daabfda256f7b5d7e6ccc0e7200ce7888f0a2b9",
      "parents": [
        "b8942e3b6c4b35dda5e8ca75aec5e2f027fe39a9"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Tue Apr 21 23:26:24 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 23 04:04:35 2009 -0700"
      },
      "message": "af_iucv: Modify iucv msg target class using control msghdr\n\nAllow \u0027classification\u0027 of socket data that is sent or received over\nan af_iucv socket. For classification of data, the target class of an\n(native) iucv message is used.\n\nThis patch provides the cmsg interface for iucv_sock_recvmsg() and\niucv_sock_sendmsg().  Applications can use the msg_control field of\nstruct msghdr to set or get the target class as a\n\"socket control message\" (SCM/CMSG).\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": "b8942e3b6c4b35dda5e8ca75aec5e2f027fe39a9",
      "tree": "1d89b4fc4aa5d327c0c43feb4281b1a3aa6e0a23",
      "parents": [
        "9d5c5d8f4105dc56ec10864b195dd1714f282c22"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Tue Apr 21 23:26:23 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 23 04:04:33 2009 -0700"
      },
      "message": "af_iucv: Support data in IUCV msg parameter lists (IPRMDATA)\n\nThe patch allows to send and receive data in the parameter list of an\niucv message.\nThe parameter list is an arry of 8 bytes that are used by af_iucv as\nfollows:\n\t0..6  7 bytes for socket data and\n\t   7  1 byte to store the data length.\n\nInstead of storing the data length directly, the difference\nbetween 0xFF and the data length is used.\nThis convention does not interfere with the existing use of PRM\nmessages for shutting down the send direction of an AF_IUCV socket\n(shutdown() operation).  Data lenghts greater than 7 (or PRM message\nbyte 8 is less than 0xF8) denotes to special messages.\nCurrently, the special SEND_SHUTDOWN message is supported only.\n\nTo use IPRM messages, both communicators must set the IUCV_IPRMDATA\nflag during path negotiation, i.e. in iucv_connect() and\npath_pending().\n\nTo be compatible to older af_iucv implementations, sending PRM\nmessages is controlled by the socket option SO_IPRMDATA_MSG.\nReceiving PRM messages does not depend on the socket option (but\nrequires the IUCV_IPRMDATA path flag to be set).\n\nSending/Receiving data in the parameter list improves performance for\nsmall amounts of data by reducing message_completion() interrupts and\nmemory copy operations.\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": "9d5c5d8f4105dc56ec10864b195dd1714f282c22",
      "tree": "075499708835271c15fa60b836a3e0f8723f6ba4",
      "parents": [
        "af88b52def76679c8c5bcdbed199fbe62b6a16d4"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Tue Apr 21 23:26:22 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 23 04:04:32 2009 -0700"
      },
      "message": "af_iucv: add sockopt() to enable/disable use of IPRM_DATA msgs\n\nProvide the socket operations getsocktopt() and setsockopt() to enable/disable\nsending of data in the parameter list of IUCV messages.\nThe patch sets respective flag only.\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": "af88b52def76679c8c5bcdbed199fbe62b6a16d4",
      "tree": "a53c8d8f27a5b19cf10e5ca97abcad48261f7c1e",
      "parents": [
        "42e1b4c2c6c823ae26e64c557addf5329a7735b7"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Tue Apr 21 23:26:21 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 23 04:04:30 2009 -0700"
      },
      "message": "af_iucv: sync sk shutdown flag if iucv path is quiesced\n\nIf the af_iucv communication partner quiesces the path to shutdown its\nreceive direction, provide a quiesce callback implementation to shutdown\nthe (local) send direction. This ensures that both sides are synchronized.\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": "42e1b4c2c6c823ae26e64c557addf5329a7735b7",
      "tree": "4d075b3cac161fc888372b9db656a8802e9bf0ed",
      "parents": [
        "362b76edb78923face033e18e4ffc85df8db0f28"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "ursula.braun@de.ibm.com",
        "time": "Tue Apr 21 23:26:20 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 23 04:04:28 2009 -0700"
      },
      "message": "iucv: provide second per-cpu IUCV command parameter block\n\nSome of the IUCV commands can be invoked in interrupt context.\nThose commands need a different per-cpu IUCV command parameter block,\notherwise they might overwrite an IUCV command parameter of a not yet\nfinished IUCV command invocation in process context.\n\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3fa6b5adbe46b3d665267dee0f879858ab464f44",
      "tree": "4c526871b0195570f9844e6e586611c1fa4731e8",
      "parents": [
        "e14ad5fa8705fb354e72312479abbe420ebc3f8e"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Tue Apr 21 06:04:24 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 21 23:43:15 2009 -0700"
      },
      "message": "af_iucv: Fix race when queuing incoming iucv messages\n\nAF_IUCV runs into a race when queuing incoming iucv messages\nand receiving the resulting backlog.\n\nIf the Linux system is under pressure (high load or steal time),\nthe message queue grows up, but messages are not received and queued\nonto the backlog queue. In that case, applications do not\nreceive any data with recvmsg() even if AF_IUCV puts incoming\nmessages onto the message queue.\n\nThe race can be avoided if the message queue spinlock in the\nmessage_pending callback is spreaded across the entire callback\nfunction.\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": "e14ad5fa8705fb354e72312479abbe420ebc3f8e",
      "tree": "423a6c8d7e3c6ca837623434dc20ee6873636830",
      "parents": [
        "fe86e54ef9465c97a16337d2a41a4cf486b937ae"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Tue Apr 21 06:04:23 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 21 23:43:15 2009 -0700"
      },
      "message": "af_iucv: Test additional sk states in iucv_sock_shutdown\n\nAdd few more sk states in iucv_sock_shutdown().\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": "fe86e54ef9465c97a16337d2a41a4cf486b937ae",
      "tree": "716996d116737a0acf6bcb714cb52a63f6095d43",
      "parents": [
        "60d3705fcbfe7deca8e94bc7ddecd6f9f1a4647e"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Tue Apr 21 06:04:22 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 21 23:43:14 2009 -0700"
      },
      "message": "af_iucv: Reject incoming msgs if RECV_SHUTDOWN is set\n\nReject incoming iucv messages if the receive direction has been shut down.\nIt avoids that the queue of outstanding messages increases and exceeds the\nmessage limit of the iucv communication path.\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": "60d3705fcbfe7deca8e94bc7ddecd6f9f1a4647e",
      "tree": "afd8b424d6a8367ebca081e103a035ca346f88f9",
      "parents": [
        "bbe188c8f16effd902d1ad391e06e41ce649b22e"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Tue Apr 21 06:04:21 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 21 23:43:13 2009 -0700"
      },
      "message": "af_iucv: fix oops in iucv_sock_recvmsg() for MSG_PEEK flag\n\nIf iucv_sock_recvmsg() is called with MSG_PEEK flag set, the skb is enqueued\ntwice. If the socket is then closed, the pointer to the skb is freed twice.\n\nRemove the skb_queue_head() call for MSG_PEEK, because the skb_recv_datagram()\nfunction already handles MSG_PEEK (does not dequeue the skb).\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": "bbe188c8f16effd902d1ad391e06e41ce649b22e",
      "tree": "1fde9d3cdf87e0c86c47cb0b74350c5b52c42302",
      "parents": [
        "df833b1d73680f9f9dc72cbc3215edbbc6ab740d"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "ursula.braun@de.ibm.com",
        "time": "Tue Apr 21 06:04:20 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 21 23:43:13 2009 -0700"
      },
      "message": "af_iucv: consider state IUCV_CLOSING when closing a socket\n\nMake sure a second invocation of iucv_sock_close() guarantees proper\nfreeing of an iucv path.\n\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47a30b26e58ab7e56e5654766fd678a4b90010e3",
      "tree": "aa3c6cca2af987db28eaf87cbcb82307eacaa1c3",
      "parents": [
        "db849df63cdc95e0345b1f4bcf8bbfa19ef592b6"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Feb 25 00:41:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 26 23:07:37 2009 -0800"
      },
      "message": "iucv: remove some pointless conditionals before kfree_skb()\n\nRemove some pointless conditionals before kfree_skb().\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "035da16fb529c0383ac27c712a5bbade5c11cafe",
      "tree": "72fa6626ceba7763ac4fcb35e48724b27c4d0d6d",
      "parents": [
        "ff8561c4ad09ca38c866436c9d67df2309b7dd40"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Mon Dec 15 12:58:29 2008 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:34 2009 -0800"
      },
      "message": "s390: remove s390_root_dev_*()\n\nReplace s390_root_dev_register() with root_device_register() etc.\n\n[Includes fix from Cornelia Huck]\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f1d3e4dca3f8d4f55656477e83d0afe0ea7cbaed",
      "tree": "1d2d2ebc94dd4b18d26f25cd062bea741f85237e",
      "parents": [
        "65dbd7c2778f1921ef1ee2a73e47a2a126fed30f"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Jan 05 18:09:02 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 18:09:02 2009 -0800"
      },
      "message": "iucv: fix cpu hotplug\n\nIf the iucv module is compiled in/loaded but no user is registered cpu\nhot remove doesn\u0027t work. Reason for that is that the iucv cpu hotplug\nnotifier on CPU_DOWN_PREPARE checks if the iucv_buffer_cpumask would\nbe empty after the corresponding bit would be cleared. However the bit\nwas never set since iucv wasn\u0027t enable. That causes all cpu hot unplug\noperations to fail in this scenario.\nTo fix this use iucv_path_table as an indicator wether iucv is enabled\nor not.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.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": "65dbd7c2778f1921ef1ee2a73e47a2a126fed30f",
      "tree": "12b6b4517fcc202fe1246c2c87e540cf135fa2d4",
      "parents": [
        "18becbc5479f88d5adc218374ca62b8b93ec2545"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Mon Jan 05 18:08:23 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 18:08:23 2009 -0800"
      },
      "message": "af_iucv: Free iucv path/socket in path_pending callback\n\nFree iucv path after iucv_path_sever() calls in iucv_callback_connreq()\n(path_pending() iucv callback).\nIf iucv_path_accept() fails, free path and free/kill newly created socket.\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": "18becbc5479f88d5adc218374ca62b8b93ec2545",
      "tree": "c99569ff4d63df5cef410152fbb83d74c683f8be",
      "parents": [
        "55cdea9ed9cf2d76993e40ed7a1fc649a14db07c"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "ursula.braun@de.ibm.com",
        "time": "Mon Jan 05 18:07:46 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 18:07:46 2009 -0800"
      },
      "message": "af_iucv: avoid left over IUCV connections from failing connects\n\nFor certain types of AFIUCV socket connect failures IUCV connections\nare left over. Add some cleanup-statements to avoid cluttered IUCV\nconnections.\n\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55cdea9ed9cf2d76993e40ed7a1fc649a14db07c",
      "tree": "86a4fb463649731d88c6495fbd029f5751e578a2",
      "parents": [
        "48e4cc777c091b037acaf39036a77ece43fe1ab9"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Mon Jan 05 18:07:07 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 05 18:07:07 2009 -0800"
      },
      "message": "af_iucv: New error return codes for connect()\n\nIf the iucv_path_connect() call fails then return an error code that\ncorresponds to the iucv_path_connect() failure condition; instead of\nreturning -ECONNREFUSED for any failure.\n\nThis helps to improve error handling for user space applications\n(e.g.  inform the user that the z/VM guest is not authorized to\nconnect to other guest virtual machines).\n\nThe error return codes are based on those described in connect(2).\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": "8f7c502c267c0e5e2dbbbdea9f3e7e85bbc95694",
      "tree": "1c45bf4e00183b5e175381fa1ba8f947037da968",
      "parents": [
        "136f7a1c4239be91e3e0f53532944b9aab7b58f8"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "braunu@de.ibm.com",
        "time": "Thu Dec 25 13:39:47 2008 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Dec 25 13:39:24 2008 +0100"
      },
      "message": "[S390] convert iucv printks to dev_xxx and pr_xxx macros.\n\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "91d5d45ee0a8978870fd12e5c3fe394a530ec2ed",
      "tree": "2849fa4ce5110341627f76ac1fe36289fff27154",
      "parents": [
        "44a01d5ba8a4d543694461cd3e178cfa6b3f221b"
      ],
      "author": {
        "name": "Hendrik Brueckner",
        "email": "brueckner@linux.vnet.ibm.com",
        "time": "Thu Dec 25 13:38:58 2008 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Dec 25 13:39:04 2008 +0100"
      },
      "message": "[S390] iucv: Locking free version of iucv_message_(receive|send)\n\nProvide a locking free version of iucv_message_receive and iucv_message_send\nthat do not call local_bh_enable in a spin_lock_(bh|irqsave)() context.\n\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "8b122efd13a227d35d5ca242561770db1b5e3658",
      "tree": "6a5393f7264a4eede5272a56d6c480f25be262c8",
      "parents": [
        "d01dbeb6af7a0848063033f73c3d146fec7451f3"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Sep 30 03:03:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 30 03:03:35 2008 -0700"
      },
      "message": "iucv: Fix mismerge again.\n\nfb65a7c091529bfffb1262515252c0d0f6241c5c (\"iucv: Fix bad merging.\") fixed\na merge error, but in a wrong way. We now end up with the bug below.\nThis patch corrects the mismerge like it was intended.\n\nBUG: scheduling while atomic: swapper/1/0x00000000\nModules linked in:\nCPU: 1 Not tainted 2.6.27-rc7-00094-gc0f4d6d #9\nProcess swapper (pid: 1, task: 000000003fe7d988, ksp: 000000003fe838c0)\n0000000000000000 000000003fe839b8 0000000000000002 0000000000000000\n       000000003fe83a58 000000003fe839d0 000000003fe839d0 0000000000390de6\n       000000000058acd8 00000000000000d0 000000003fe7dcd8 0000000000000000\n       000000000000000c 000000000000000d 0000000000000000 000000003fe83a28\n       000000000039c5b8 0000000000015e5e 000000003fe839b8 000000003fe83a00\nCall Trace:\n([\u003c0000000000015d6a\u003e] show_trace+0xe6/0x134)\n [\u003c0000000000039656\u003e] __schedule_bug+0xa2/0xa8\n [\u003c0000000000391744\u003e] schedule+0x49c/0x910\n [\u003c0000000000391f64\u003e] schedule_timeout+0xc4/0x114\n [\u003c00000000003910d4\u003e] wait_for_common+0xe8/0x1b4\n [\u003c00000000000549ae\u003e] call_usermodehelper_exec+0xa6/0xec\n [\u003c00000000001af7b8\u003e] kobject_uevent_env+0x418/0x438\n [\u003c00000000001d08fc\u003e] bus_add_driver+0x1e4/0x298\n [\u003c00000000001d1ee4\u003e] driver_register+0x90/0x18c\n [\u003c0000000000566848\u003e] netiucv_init+0x168/0x2c8\n [\u003c00000000000120be\u003e] do_one_initcall+0x3e/0x17c\n [\u003c000000000054a31a\u003e] kernel_init+0x1ce/0x248\n [\u003c000000000001a97a\u003e] kernel_thread_starter+0x6/0xc\n [\u003c000000000001a974\u003e] kernel_thread_starter+0x0/0xc\n iucv: NETIUCV driver initialized\ninitcall netiucv_init+0x0/0x2c8 returned with preemption imbalance\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb6a12c2428d21a9f3e0f1a50e927d5fd80fc3d0",
      "tree": "5ac6f43899648abeab1d43aad3107f664e7f13d5",
      "parents": [
        "c4762aba0b1f72659aae9ce37b772ca8bd8f06f4",
        "14b395e35d1afdd8019d11b92e28041fad591b71"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 21 17:19:50 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 21 17:19:50 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096-for-linus\n\nConflicts:\n\n\tnet/sunrpc/svc.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb65a7c091529bfffb1262515252c0d0f6241c5c",
      "tree": "021a043df0e0d328c509c0e8fb74429cbce006c7",
      "parents": [
        "175f9c1bba9b825d22b142d183c9e175488b260c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 20 10:18:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 20 10:18:44 2008 -0700"
      },
      "message": "iucv: Fix bad merging.\n\nNoticed by Stephen Rothwell.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49997d75152b3d23c53b0fa730599f2f74c92c65",
      "tree": "46e93126170d02cfec9505172e545732c1b69656",
      "parents": [
        "a0c80b80e0fb48129e4e9d6a9ede914f9ff1850d",
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 02:39:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 02:39:39 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tDocumentation/powerpc/booting-without-of.txt\n\tdrivers/atm/Makefile\n\tdrivers/net/fs_enet/fs_enet-main.c\n\tdrivers/pci/pci-acpi.c\n\tnet/8021q/vlan.c\n\tnet/iucv/iucv.c\n"
    },
    {
      "commit": "82638844d9a8581bbf33201cc209a14876eca167",
      "tree": "961d7f9360194421a71aa644a9d0c176a960ce49",
      "parents": [
        "9982fbface82893e77d211fbabfbd229da6bdde6",
        "63cf13b77ab785e87c867defa8545e6d4a989774"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 00:29:07 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 00:29:07 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n\nConflicts:\n\n\tarch/x86/xen/smp.c\n\tkernel/sched_rt.c\n\tnet/iucv/iucv.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1a781a777b2f6ac46523fe92396215762ced624d",
      "tree": "4f34bb4aade85c0eb364b53d664ec7f6ab959006",
      "parents": [
        "b9d2252c1e44fa83a4e65fdc9eb93db6297c55af",
        "42a2f217a5e324ed5f2373ab1b7a0a15187c4d6c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:55:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:55:59 2008 +0200"
      },
      "message": "Merge branch \u0027generic-ipi\u0027 into generic-ipi-for-linus\n\nConflicts:\n\n\tarch/powerpc/Kconfig\n\tarch/s390/kernel/time.c\n\tarch/x86/kernel/apic_32.c\n\tarch/x86/kernel/cpu/perfctr-watchdog.c\n\tarch/x86/kernel/i8259_64.c\n\tarch/x86/kernel/ldt.c\n\tarch/x86/kernel/nmi_64.c\n\tarch/x86/kernel/smpboot.c\n\tarch/x86/xen/smp.c\n\tinclude/asm-x86/hw_irq_32.h\n\tinclude/asm-x86/hw_irq_64.h\n\tinclude/asm-x86/mach-default/irq_vectors.h\n\tinclude/asm-x86/mach-voyager/irq_vectors.h\n\tinclude/asm-x86/smp.h\n\tkernel/Makefile\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d0236f8f8223ad841f461ea3a635d452d194806b",
      "tree": "e708af936e3ba5237ae5cbfdcc44368f20a0980f",
      "parents": [
        "0b57664cf2393bc1eff594ff7e5ff26533843fe6"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Jul 15 02:09:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 02:09:53 2008 -0700"
      },
      "message": "iucv: fix memory leak in cpu hotplug error path.\n\nFix memory leak in error path in CPU_UP_PREPARE notifier.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2b4afd2f99a187ec3bbd6e2def186fbfb755929",
      "tree": "c7f8504d531b1bbcb9476b1edd24573467eaf1c1",
      "parents": [
        "a12c53f4fa759b59654b6d5f21eb4070cd45cd54"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "braunu@de.ibm.com",
        "time": "Mon Jul 14 09:59:29 2008 +0200"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Jul 14 10:02:20 2008 +0200"
      },
      "message": "[S390] Cleanup iucv printk messages.\n\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "15c8b6c1aaaf1c4edd67e2f02e4d8e1bd1a51c0d",
      "tree": "3658f893c2f89ea0be4c6cc08aa11fa54476d0f4",
      "parents": [
        "8691e5a8f691cc2a4fda0651e8d307aaba0e7d68"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 09 09:39:44 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 26 11:24:38 2008 +0200"
      },
      "message": "on_each_cpu(): kill unused \u0027retry\u0027 parameter\n\nIt\u0027s not even passed on to smp_call_function() anymore, since that\nwas removed. So kill it.\n\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8691e5a8f691cc2a4fda0651e8d307aaba0e7d68",
      "tree": "6cb6767064d2d43441212566da2d83dcc9a0cd8e",
      "parents": [
        "490f5de52a87063fcb40e3b22f61b0779603ff6d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 06 11:18:06 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 26 11:24:35 2008 +0200"
      },
      "message": "smp_call_function: get rid of the unused nonatomic/retry argument\n\nIt\u0027s never used and the comments refer to nonatomic and retry\ninterchangably. So get rid of it.\n\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "469689a4dd476c1be6750deea5f59528a17b8b4a",
      "tree": "1f7d6be604b21fa0054c219608f694edb7ae982c",
      "parents": [
        "7b9d1b22a382aa221018c19880ee22c44467feec"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "braunu@de.ibm.com",
        "time": "Mon Jun 09 15:51:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 09 15:51:03 2008 -0700"
      },
      "message": "af_iucv: exploit target message class support of IUCV\n\nThe first 4 bytes of data to be sent are stored additionally into\nthe message class field of the send request. A receiving target\nprogram (not an af_iucv socket program) can make use of this\ninformation to pre-screen incoming messages.\n\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b9d1b22a382aa221018c19880ee22c44467feec",
      "tree": "392d015d192d3bddc0d0a2dfd4e2f027d26c09f2",
      "parents": [
        "f1494ed1d318542baa9480cfd44d040a92635129"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Jun 09 15:50:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 09 15:50:30 2008 -0700"
      },
      "message": "iucv: prevent cpu hotplug when walking cpu_online_map.\n\nThe code used preempt_disable() to prevent cpu hotplug, however that\ndoesn\u0027t protect for cpus being added. So use get_online_cpus() instead.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1494ed1d318542baa9480cfd44d040a92635129",
      "tree": "4cd3fe5153df77dc9ea7c5f21305beda21b34dc2",
      "parents": [
        "7bfe8bdb80d5988483b01177b09b9c8d1605dffb"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Jun 09 15:49:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 09 15:49:57 2008 -0700"
      },
      "message": "iucv: fix section mismatch warning.\n\nWARNING: net/iucv/built-in.o(.exit.text+0x9c): Section mismatch in\nreference from the function iucv_exit() to the variable\n.cpuinit.data:iucv_cpu_notifier\n\nThis warning is caused by a reference from unregister_hotcpu_notifier()\nfrom an exit function to a cpuinitdata annotated data structurre.\nThis is a false positive warning since for the non CPU_HOTPLUG case\nunregister_hotcpu_notifier() is a nop.\nUse __refdata instead of __cpuinitdata to get rid of the warning.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e12f848b337fc034ceb3c0d03d75f8de1b8cc96",
      "tree": "ad08523917b4726471e481227af7cee444c85f09",
      "parents": [
        "6d6a4360876f1e758e215570ccb04518db7cec3a"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Mon May 12 21:21:13 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 18:35:12 2008 +0200"
      },
      "message": "net: use performance variant for_each_cpu_mask_nr\n\nChange references from for_each_cpu_mask to for_each_cpu_mask_nr\nwhere appropriate\n\nReviewed-by: Paul Jackson \u003cpj@sgi.com\u003e\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "2d7bf36746b6329d9d54c6c6efe2b55666dd1f53",
      "tree": "ff6c1608560d704622ba1e3400fcbbb96a3151a4",
      "parents": [
        "9284d6c704b5cfc7f2eb44f81255b4762bcfe4c5"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Thu Apr 10 02:12:45 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 02:12:45 2008 -0700"
      },
      "message": "iucv: Delay bus registration until core is ready.\n\nIf we register the iucv bus after the infrastructure is ready,\nuserspace can start relying on it when it receives the uevent\nfor the bus.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9284d6c704b5cfc7f2eb44f81255b4762bcfe4c5",
      "tree": "fbe859f42417af49dc408af084d4fb92a88f23e3",
      "parents": [
        "3db8ce35c37b62d27e7656fe5e7d2d2865002045"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Apr 10 02:12:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 02:12:03 2008 -0700"
      },
      "message": "iucv: get rid of in_atomic() use.\n\nThis BUG_ON is not needed, since all (debug) checks are also done\nin smp_call_function() which gets called by this function.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3db8ce35c37b62d27e7656fe5e7d2d2865002045",
      "tree": "d8817c147fdc59fb651e0792d92ff7290ddd7938",
      "parents": [
        "4738c1db1593687713869fa69e733eebc7b0d6d8"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Thu Apr 10 02:11:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 10 02:11:24 2008 -0700"
      },
      "message": "af_iucv: Use non-deprecated __RW_LOCK_UNLOCKED macro.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3d84a4dd22c727f5ed64453c72183c242ac9c19",
      "tree": "0cf7e88f877f9e8117bd4be2f466eb815284090f",
      "parents": [
        "d152a7d88ab4134a895f91a9e00f70d118696039"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Mar 03 12:12:33 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 03 12:12:33 2008 -0800"
      },
      "message": "iucv: fix build error on !SMP\n\nSince a5fbb6d1064be885d2a6b82f625186753cf74848\n\"KVM: fix !SMP build error\" smp_call_function isn\u0027t a define anymore\nthat folds into nothing but a define that calls up_smp_call_function\nwith all parameters. Hence we cannot #ifdef out the unused code\nanymore...\nThis seems to be the preferred method, so do this for s390 as well.\n\nnet/iucv/iucv.c: In function \u0027iucv_cleanup_queue\u0027:\nnet/iucv/iucv.c:657: error: \u0027__iucv_cleanup_queue\u0027 undeclared\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjeffpc@josefsipek.net\u003e\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2a77991a918218be4a3ac78250e7eba2282be59",
      "tree": "40bdf696b7d2e83a0335ce1357808b45b41184dc",
      "parents": [
        "d44447229e35115675d166b51a52e512c281475c"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "braunu@de.ibm.com",
        "time": "Thu Feb 07 18:07:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 07 18:07:44 2008 -0800"
      },
      "message": "[AF_IUCV]: defensive programming of iucv_callback_txdone\n\nThe loop in iucv_callback_txdone presumes existence of an entry\nwith msg-\u003etag in the send_skb_q list. In error cases this\nassumption might be wrong and might cause an endless loop.\nLoop is rewritten to guarantee loop end in case of missing\nmsg-\u003etag entry in send_skb_q.\n\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d44447229e35115675d166b51a52e512c281475c",
      "tree": "b968431fddcbb21fe0c3278c7545c22bdc2be4a4",
      "parents": [
        "435bc9dfc6927eed9465e297d7aca1217aa61956"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "braunu@de.ibm.com",
        "time": "Thu Feb 07 18:07:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 07 18:07:19 2008 -0800"
      },
      "message": "[AF_IUCV]: broken send_skb_q results in endless loop\n\nA race has been detected in iucv_callback_txdone().\nskb_unlink has to be done inside the locked area.\n\nIn addition checkings for successful allocations are inserted.\n\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "435bc9dfc6927eed9465e297d7aca1217aa61956",
      "tree": "f095f65b884477991faa5d44e5c4c68deb122c7c",
      "parents": [
        "a219994bf5cca1208fb741b20ea9eb78e1711f81"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "braunu@de.ibm.com",
        "time": "Thu Feb 07 18:06:52 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 07 18:06:52 2008 -0800"
      },
      "message": "[IUCV]: wrong irq-disabling locking at module load time\n\nLinux may hang when running af_iucv socket programs concurrently\nwith a load of module netiucv. iucv_register() tries to take the\niucv_table_lock with spin_lock_irq. This conflicts with\niucv_connect() which has a need for an smp_call_function while\nholding the iucv_table_lock.\nSolution: use bh-disabling locking in iucv_register()\n\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5e78337b50c0f3adda7faadb92f62bbdd5ffb56",
      "tree": "47a8a9d5e8744d07933ac7d118cbe3a02b6f62fc",
      "parents": [
        "df01812eba19834e48abd43246abedfbc4feeb7e"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Fri Dec 07 00:51:45 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:54 2008 -0800"
      },
      "message": "[IUCV]: use LIST_HEAD instead of LIST_HEAD_INIT\n\nthese three list_head are all local variables, but can also use\nLIST_HEAD.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b24b8a247ff65c01b252025926fe564209fae4fc",
      "tree": "8a9e0ea1e24b4733d8b9433d41877659505e9da4",
      "parents": [
        "a92aa318b4b369091fd80433c80e62838db8bc1c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jan 23 21:20:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:35 2008 -0800"
      },
      "message": "[NET]: Convert init_timer into setup_timer\n\nMany-many code in the kernel initialized the timer-\u003efunction\nand  timer-\u003edata together with calling init_timer(timer). There\nis already a helper for this. Use it for networking code.\n\nThe patch is HUGE, but makes the code 130 lines shorter\n(98 insertions(+), 228 deletions(-)).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "70cf5035dedaeddf8f6ae5c0a74ea65dcd7356ab",
      "tree": "91f52593f195eb65f3494529b2a37f4d2726fdd3",
      "parents": [
        "677d762319facc20467243c6dd9487261e3515b0"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Nov 20 11:13:38 2007 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Nov 20 11:13:47 2007 +0100"
      },
      "message": "[S390] Explicitly code allocpercpu calls in iucv\n\nThe iucv is the only user of the various functions that are used to bring\nparts of cpus up and down. Its the only allocpercpu user that will do\nI/O on per cpu objects (which is difficult to do with virtually mapped memory).\nAnd its the only use of allocpercpu where a GFP_DMA allocation is done.\n\nRemove the allocpercpu calls from iucv and code the allocation and freeing\nmanually. After this patch it is possible to remove a large part of\nthe allocpercpu API.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "6257ff2177ff02d7f260a7a501876aa41cb9a9f6",
      "tree": "9d9f80ccf16f3d4ef062e896f62974c5496193ad",
      "parents": [
        "154adbc8469ff21fbf5c958446ee92dbaab01be1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "message": "[NET]: Forget the zero_it argument of sk_alloc()\n\nFinally, the zero_it argument can be completely removed from\nthe callers and from the function prototype.\n\nBesides, fix the checkpatch.pl warnings about using the\nassignments inside if-s.\n\nThis patch is rather big, and it is a part of the previous one.\nI splitted it wishing to make the patches more readable. Hope \nthis particular split helped.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a4fa0a25da81600ea0bcd75692ae8ca6050d165",
      "tree": "a4de1662e645c029cf3cf58f0646cbb1959861dc",
      "parents": [
        "18735dd8d2d37031b97f9e9e106acbaed01eb896"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Fri Oct 19 23:10:43 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 19 23:10:43 2007 +0200"
      },
      "message": "Fix misspellings of \"system\", \"controller\", \"interrupt\" and \"necessary\".\n\nFix the various misspellings of \"system\", controller\", \"interrupt\" and\n\"[un]necessary\".\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "f0703c80e5156406ad947cb67fe277725b48080f",
      "tree": "428f16c8e188763cfa2cadc26708bf785a8958b8",
      "parents": [
        "57f20448032158ad00b1e74f479515c689998be9"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "braunu@de.ibm.com",
        "time": "Mon Oct 08 02:03:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:51 2007 -0700"
      },
      "message": "[AF_IUCV]: postpone receival of iucv-packets\n\nAF_IUCV socket programs may waste Linux storage, because af_iucv\nallocates an skb whenever posted by the receive callback routine and\nreceives the message immediately.\nMessage receival is now postponed if data from previous callbacks has\nnot yet been transferred to the receiving socket program. Instead a\nmessage handle is saved in a message queue as a reminder. Once\nmessages could be given to the receiving socket program, there is\nan additional checking for entries in the message queue, followed\nby skb allocation and message receival if applicable.\n\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "57f20448032158ad00b1e74f479515c689998be9",
      "tree": "ba4f4990ec8931537f667725034e2e79d61276fa",
      "parents": [
        "405d8e5cbbe5aca20cc745046b70831bfc5e4a8f"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Oct 08 02:02:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:51 2007 -0700"
      },
      "message": "[AF_IUCV]: remove static declarations from header file.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b8d7ae42d02e483ad94035cca851e4f7fbecb40",
      "tree": "81f8cc0ee49ef99cc67dfed3dc7b7ecb510abf8b",
      "parents": [
        "457c4cbc5a3dde259d2a1f15d5f9785290397267"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 08 23:24:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:07 2007 -0700"
      },
      "message": "[NET]: Make socket creation namespace safe.\n\nThis patch passes in the namespace a new socket should be created in\nand has the socket code do the appropriate reference counting.  By\nvirtue of this all socket create methods are touched.  In addition\nthe socket create methods are modified so that they will fail if\nyou attempt to create a socket in a non-default network namespace.\n\nFailing if we attempt to create a socket outside of the default\nnetwork namespace ensures that as we incrementally make the network stack\nnetwork namespace aware we will not export functionality that someone\nhas not audited and made certain is network namespace safe.\nAllowing us to partially enable network namespaces before all of the\nexotic protocols are supported.\n\nAny protocol layers I have missed will fail to compile because I now\npass an extra parameter into the socket creation code.\n\n[ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ]\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3bb447fc8bb6523cb1cec7a0277d831a2b0462b7",
      "tree": "e5f11fda2ff91d5670f1c046b53a12b4dbef55aa",
      "parents": [
        "d941cf5e373c356723fa648b9f0302a11c9b1770"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Jul 27 12:29:08 2007 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Jul 27 12:29:17 2007 +0200"
      },
      "message": "[S390] Convert to smp_call_function_single.\n\nsmp_call_function_single now has the same semantics as s390\u0027s\nsmp_call_function_on. Therefore convert to the *single variant\nand get rid of some architecture specific code.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "febca281f677a775c61cd0572c2f35e4ead9e7d5",
      "tree": "64a58deba476ff3dbc7468d6d2e8e33e1351bf68",
      "parents": [
        "13fdc9a74df0fec70f421c6891e184ed8c3b9088"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "braunu@de.ibm.com",
        "time": "Sat Jul 14 19:04:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 19:04:25 2007 -0700"
      },
      "message": "[AF_IUCV]: Add lock when updating accept_q\n\nThe accept_queue of an af_iucv socket will be corrupted, if\nadding and deleting of entries in this queue occurs at the\nsame time (connect request from one client, while accept call\nis processed for another client).\nSolution: add locking when updating accept_q\n\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nAcked-by: Frank Pavlic \u003cfpavlic@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13fdc9a74df0fec70f421c6891e184ed8c3b9088",
      "tree": "efd81d0f35e2300ee86e538fa8c136654c7c0dae",
      "parents": [
        "da7de31cc50796a53593785d4508b7b7ffa9a9b2"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "braunu@de.ibm.com",
        "time": "Sat Jul 14 19:03:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 19:03:41 2007 -0700"
      },
      "message": "[AF_IUCV]: Avoid deadlock between iucv_path_connect and tasklet.\n\nAn iucv deadlock may occur, where one CPU is spinning on the\niucv_table_lock for iucv_tasklet_fn(), while another CPU is holding\nthe iucv_table_lock for an iucv_path_connect() and is waiting for\nthe first CPU in an smp_call_function.\nSolution: replace spin_lock in iucv_tasklet_fn by spin_trylock and\nreschedule tasklet in case of non-granted lock.\n\nSigned-off-by: Ursula Braun \u003cbraunu@de.ibm.com\u003e\nAcked-by: Frank Pavlic \u003cfpavlic@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da7de31cc50796a53593785d4508b7b7ffa9a9b2",
      "tree": "bbd3dd15b45b5093de93dc32f585eb6c56c4d871",
      "parents": [
        "acd159b6b5828175be6b9ccccd9b054239ec63e9"
      ],
      "author": {
        "name": "Jennifer Hunt",
        "email": "jenhunt@us.ibm.com",
        "time": "Sat Jul 14 19:03:00 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 19:03:00 2007 -0700"
      },
      "message": "[AF_IUCV]: Improve description of IUCV and AFIUCV configuration options.\n\nSigned-off-by: Jennifer Hunt \u003cjenhunt@us.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003ebraunu@de.ibm.com\u003e\nAcked-by: Frank Pavlic \u003cfpavlic@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8bb7844286fb8c9fce6f65d8288aeb09d03a5e0d",
      "tree": "f4e305edaedbde05774bb1e4acd89a9475661d2e",
      "parents": [
        "f37bc2712b54ec641e0c0c8634f1a4b61d9956c0"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 09 02:35:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "Add suspend-related notifications for CPU hotplug\n\nSince nonboot CPUs are now disabled after tasks and devices have been\nfrozen and the CPU hotplug infrastructure is used for this purpose, we need\nspecial CPU hotplug notifications that will help the CPU-hotplug-aware\nsubsystems distinguish normal CPU hotplug events from CPU hotplug events\nrelated to a system-wide suspend or resume operation in progress.  This\npatch introduces such notifications and causes them to be used during\nsuspend and resume transitions.  It also changes all of the\nCPU-hotplug-aware subsystems to take these notifications into consideration\n(for now they are handled in the same way as the corresponding \"normal\"\nones).\n\n[oleg@tv-sign.ru: cleanups]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af7cd373b01ccb8191dc16c77fff4cf2b11def50",
      "tree": "8580251b5db69d083a7db7acf296756bbeac2803",
      "parents": [
        "62ea6d80211ecc88ef516927ecebf64cb505be3f"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sat May 05 11:41:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 11:41:18 2007 -0700"
      },
      "message": "[AF_IUCV]: Compile fix - adopt to skbuff changes.\n\nFrom: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n\n  CC [M]  net/iucv/af_iucv.o\nnet/iucv/af_iucv.c: In function `iucv_fragment_skb\u0027:\nnet/iucv/af_iucv.c:984: error: structure has no member named `h\u0027\nnet/iucv/af_iucv.c:985: error: structure has no member named `nh\u0027\nnet/iucv/af_iucv.c:988: error: incompatible type for argument 1 of\n\t\t\t`skb_queue_tail\u0027\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da99f0565477899f08b76ffcb32afbf6fa95d64a",
      "tree": "544938011a088c82fde72535d858843fb3c85643",
      "parents": [
        "561e036006dc4078446815613781c6c33441dd3b"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri May 04 12:23:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 04 12:23:27 2007 -0700"
      },
      "message": "[AF_IUCV/IUCV] : Add missing section annotations\n\nAdd missing section annotations and found and fixed some\nCoding Style issues.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Frank Pavlic \u003cfpavlic@de.ibm.com\u003e\n"
    },
    {
      "commit": "561e036006dc4078446815613781c6c33441dd3b",
      "tree": "1c1af5a95b584841f47e7e90813df1d5fe51a7e0",
      "parents": [
        "9e71efcd6d659afb9d390eea69b558a7432ba23e"
      ],
      "author": {
        "name": "Jennifer Hunt",
        "email": "jenhunt@us.ibm.com",
        "time": "Fri May 04 12:22:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 04 12:22:07 2007 -0700"
      },
      "message": "[AF_IUCV]: Implementation of a skb backlog queue\n\nWith the inital implementation we missed to implement a skb backlog\nqueue . The result is that socket receive processing tossed packets.\nSince AF_IUCV connections are working synchronously it leads to\nconnection hangs. Problems with read, close and select also occured.\n\nUsing a skb backlog queue is fixing all of these problems .\n\nSigned-off-by: Jennifer Hunt \u003cjenhunt@us.ibm.com\u003e\nSigned-off-by: Frank Pavlic \u003cfpavlic@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04b090d50c88ac8e5ec9c2e985bb65bd153893aa",
      "tree": "065b815f238796bcd5523c8620d9166ad9b573f2",
      "parents": [
        "d0772b70faaf8e9f2013b6c4273d94d5eac8047a"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sat Apr 28 23:03:59 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 28 23:03:59 2007 -0700"
      },
      "message": "[AF_IUCV/IUCV]: smp_call_function deadlock\n\nCalling smp_call_function can lead to a deadlock if it is called\nfrom tasklet context. \nFixing this deadlock requires to move the smp_call_function from the\ntasklet context to a work queue. To do that queue the path pending\ninterrupts to a separate list and move the path cleanup out of\niucv_path_sever to iucv_path_connect and iucv_path_pending.\nThis creates a new requirement for iucv_path_connect: it may not be\ncalled from tasklet context anymore. \nAlso fixed compile problem for CONFIG_HOTPLUG_CPU\u003dn and\nanother one when walking the cpu_online mask. When doing this, \nwe must disable cpu hotplug.\n\nSigned-off-by: Frank Pavlic \u003cfpavlic@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8a6d97043f9adc25889876b681998b77f543bfa",
      "tree": "2ce6f60b0d8f81bb218b66e1aa79e92ea54abb4b",
      "parents": [
        "57cd5f754e04240ee587c51b7be8d3b7793542ae"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Apr 26 01:02:51 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 26 01:02:51 2007 -0700"
      },
      "message": "[AF_IUCV]: Fix compilation on s390-up\n\n  CC [M]  net/iucv/iucv.o\nnet/iucv/iucv.c: In function \u0027iucv_init\u0027:\nnet/iucv/iucv.c:1556: error: \u0027iucv_cpu_notifier\u0027 undeclared (first use in this function)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ff50b7997fe06cd5d276b229967bb52d6b3b6c1",
      "tree": "4f0f57123a945c3e6c39759456b6187bb78c4b1f",
      "parents": [
        "c462238d6a6d8ee855bda10f9fff442971540ed2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Fri Apr 20 17:09:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:24 2007 -0700"
      },
      "message": "[NET]: cleanup extra semicolons\n\nSpring cleaning time...\n\nThere seems to be a lot of places in the network code that have\nextra bogus semicolons after conditionals.  Most commonly is a\nbogus semicolon after: switch() { }\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "badff6d01a8589a1c828b0bf118903ca38627f4e",
      "tree": "89611d7058c612085c58dfb9913ee30ddf04b604",
      "parents": [
        "0660e03f6b18f19b6bbafe7583265a51b90daf36"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 13:06:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:15 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_transport_header(skb)\n\nFor the common, open coded \u0027skb-\u003eh.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003eh.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple cases:\n\nskb-\u003eh.raw \u003d skb-\u003edata;\nskb-\u003eh.raw \u003d {skb_push|[__]skb_pull}()\n\nThe next ones will handle the slightly more \"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1d2bbe1cd6c7bbdc6d532cefebb66c7efb789ce",
      "tree": "03a715961ba576a11cbc0e91c5d465e4c4d95d82",
      "parents": [
        "57effc70a5be9f7804e9a99964eb7265367effca"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 20:45:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:46 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_network_header(skb)\n\nFor the common, open coded \u0027skb-\u003enh.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003enh.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple case, next will handle the slightly more\n\"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eac3731bd04c7131478722a3c148b78774553116",
      "tree": "66c1ce279bbd586e3fcf417cfd6057db3df296ae",
      "parents": [
        "5da5e658debb7deddbfe5c133c76db3be0a3e12c"
      ],
      "author": {
        "name": "Jennifer Hunt",
        "email": "jenhunt@us.ibm.com",
        "time": "Thu Feb 08 13:51:54 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 08 13:51:54 2007 -0800"
      },
      "message": "[S390]: Add AF_IUCV socket support\n\nFrom: Jennifer Hunt \u003cjenhunt@us.ibm.com\u003e\n\nThis patch adds AF_IUCV socket support.\n\nSigned-off-by: Frank Pavlic \u003cfpavlic@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2356f4cb191100a5e92d537f13e5efdbc697e9cb",
      "tree": "2c39e250658886dbac8208573e52dd5df300226b",
      "parents": [
        "33a67fe898dbbe25589d2fca805cb68cfd7d311f"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Feb 08 13:37:42 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 08 13:37:42 2007 -0800"
      },
      "message": "[S390]: Rewrite of the IUCV base code, part 2\n\nAdd rewritten IUCV base code to net/iucv.\n\nSigned-off-by: Frank Pavlic \u003cfpavlic@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
