)]}'
{
  "log": [
    {
      "commit": "1840897ab5d39b2e510c610ee262ded79919e718",
      "tree": "0b7fe95e3eda357d35b0d017f2b678b652307827",
      "parents": [
        "d56f84e7e317c69adefb2454a3d538a6d7e11e4b",
        "a4765fa7bfb92d5b9de19a503674b6624f95a7ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 14:17:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 14:17:12 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (34 commits)\n  b43: Fix warning at drivers/mmc/core/core.c:237 in mmc_wait_for_cmd\n  mac80211: fix failure to check kmalloc return value in key_key_read\n  libertas: Fix sd8686 firmware reload\n  ath9k: Fix incorrect access of rate flags in RC\n  netfilter: xt_socket: Make tproto signed in socket_mt6_v1().\n  stmmac: enable/disable rx/tx in the core with a single write.\n  net: atarilance - flags should be unsigned long\n  netxen: fix kdump\n  pktgen: Limit how much data we copy onto the stack.\n  net: Limit socket I/O iovec total length to INT_MAX.\n  USB: gadget: fix ethernet gadget crash in gether_setup\n  fib: Fix fib zone and its hash leak on namespace stop\n  cxgb3: Fix panic in free_tx_desc()\n  cxgb3: fix crash due to manipulating queues before registration\n  8390: Don\u0027t oops on starting dev queue\n  dccp ccid-2: Stop polling\n  dccp: Refine the wait-for-ccid mechanism\n  dccp: Extend CCID packet dequeueing interface\n  dccp: Return-value convention of hc_tx_send_packet()\n  igbvf: fix panic on load\n  ...\n"
    },
    {
      "commit": "4aa2c466a7733af093a526e9d1cdd0b3b90d47e9",
      "tree": "093d99b6c728867a8eb9548463d94661e3d0799e",
      "parents": [
        "b1424ed91076db0b19ba4141856150df9b717dde"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu Oct 28 02:00:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 28 10:27:03 2010 -0700"
      },
      "message": "fib: Fix fib zone and its hash leak on namespace stop\n\nWhen we stop a namespace we flush the table and free one, but the\nadded fn_zone-s (and their hashes if grown) are leaked. Need to free.\nTries releases all its stuff in the flushing code.\n\nShame on us - this bug exists since the very first make-fib-per-net\npatches in 2.6.27 :(\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b165d60145b717261a0234f989c442c2b68b6ec0",
      "tree": "024f9f2c71ff85a806ed47cbbf451edeaa7111a5",
      "parents": [
        "7b3bb3fe166702b504f1068359c9550d3b277eaf"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Fri Oct 22 10:13:12 2010 -0700"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:49 2010 -0500"
      },
      "message": "9p: Add datasync to client side TFSYNC/RFSYNC for dotl\n\nSYNOPSIS\n    size[4] Tfsync tag[2] fid[4] datasync[4]\n\n    size[4] Rfsync tag[2]\n\nDESCRIPTION\n\n    The Tfsync transaction transfers (\"flushes\") all modified in-core data of\n    file identified by fid to the disk device (or other  permanent  storage\n    device)  where that  file  resides.\n\n    If datasync flag is specified data will be fleshed but does not flush\n    modified metadata unless  that  metadata  is  needed  in order to allow a\n    subsequent data retrieval to be correctly handled.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "329176cc2c50e63c580ddaabb385876db5af1360",
      "tree": "c7a95364c6339f75d37e1b63890d94114cd1935e",
      "parents": [
        "368c09d2a303c39e9f37193b23e945e6754cf0a7"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Tue Sep 28 19:59:25 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:48 2010 -0500"
      },
      "message": "9p: Implement TREADLINK operation for 9p2000.L\n\nSynopsis\n\n\tsize[4] TReadlink tag[2] fid[4]\n\tsize[4] RReadlink tag[2] target[s]\n\nDescription\n\tReadlink is used to return the contents of the symoblic link\n        referred by fid. Contents of symboic link is returned as a\n        response.\n\n\ttarget[s] - Contents of the symbolic link referred by fid.\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "1d769cd192fc8c4097b1e2cd41fdee6ba3d1b2af",
      "tree": "16fd71ff9178bbfe144a28a2e168c85fb541a11b",
      "parents": [
        "a099027c779068b834f335cfdc3f2bf10f531dd9"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Mon Sep 27 12:22:13 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:47 2010 -0500"
      },
      "message": "9p: Implement TGETLOCK\n\nSynopsis\n\n    size[4] TGetlock tag[2] fid[4] getlock[n]\n    size[4] RGetlock tag[2] getlock[n]\n\nDescription\n\nTGetlock is used to test for the existence of byte range posix locks on a file\nidentified by given fid. The reply contains getlock structure. If the lock could\nbe placed it returns F_UNLCK in type field of getlock structure.  Otherwise it\nreturns the details of the conflicting locks in the getlock structure\n\n    getlock structure:\n      type[1] - Type of lock: F_RDLCK, F_WRLCK\n      start[8] - Starting offset for lock\n      length[8] - Number of bytes to check for the lock\n             If length is 0, check for lock in all bytes starting at the location\n            \u0027start\u0027 through to the end of file\n      pid[4] - PID of the process that wants to take lock/owns the task\n               in case of reply\n      client[4] - Client id of the system that owns the process which\n                  has the conflicting lock\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "a099027c779068b834f335cfdc3f2bf10f531dd9",
      "tree": "eee43443cce85a03c13b1cfdd25bf451445cf78f",
      "parents": [
        "920e65dc6911da28a58e17f4b683302636fc6d8e"
      ],
      "author": {
        "name": "M. Mohan Kumar",
        "email": "mohan@in.ibm.com",
        "time": "Mon Sep 27 11:34:24 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:47 2010 -0500"
      },
      "message": "9p: Implement TLOCK\n\nSynopsis\n\n    size[4] TLock tag[2] fid[4] flock[n]\n    size[4] RLock tag[2] status[1]\n\nDescription\n\nTlock is used to acquire/release byte range posix locks on a file\nidentified by given fid. The reply contains status of the lock request\n\n    flock structure:\n        type[1] - Type of lock: F_RDLCK, F_WRLCK, F_UNLCK\n        flags[4] - Flags could be either of\n          P9_LOCK_FLAGS_BLOCK - Blocked lock request, if there is a\n            conflicting lock exists, wait for that lock to be released.\n          P9_LOCK_FLAGS_RECLAIM - Reclaim lock request, used when client is\n            trying to reclaim a lock after a server restrart (due to crash)\n        start[8] - Starting offset for lock\n        length[8] - Number of bytes to lock\n          If length is 0, lock all bytes starting at the location \u0027start\u0027\n          through to the end of file\n        pid[4] - PID of the process that wants to take lock\n        client_id[4] - Unique client id\n\n        status[1] - Status of the lock request, can be\n          P9_LOCK_SUCCESS(0), P9_LOCK_BLOCKED(1), P9_LOCK_ERROR(2) or\n          P9_LOCK_GRACE(3)\n          P9_LOCK_SUCCESS - Request was successful\n          P9_LOCK_BLOCKED - A conflicting lock is held by another process\n          P9_LOCK_ERROR - Error while processing the lock request\n          P9_LOCK_GRACE - Server is in grace period, it can\u0027t accept new lock\n            requests in this period (except locks with\n            P9_LOCK_FLAGS_RECLAIM flag set)\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "920e65dc6911da28a58e17f4b683302636fc6d8e",
      "tree": "761280ee48576a45d13df5df685ea6b9da7fd775",
      "parents": [
        "b04faaf3717307cd976a15667c8c24161c1d24ef"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Wed Sep 22 17:19:19 2010 -0700"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:47 2010 -0500"
      },
      "message": "[9p] Introduce client side TFSYNC/RFSYNC for dotl.\n\nSYNOPSIS\n    size[4] Tfsync tag[2] fid[4]\n\n    size[4] Rfsync tag[2]\n\nDESCRIPTION\n\nThe Tfsync transaction transfers (\"flushes\") all modified in-core data of\nfile identified by fid to the disk device (or other  permanent  storage\ndevice)  where that  file  resides.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "4f7ebe807242898ee08ed732d56982874442c304",
      "tree": "25d8cec6b3a487fb9b44b3af20179a6f7b5db36d",
      "parents": [
        "7c7298cffc8f4417c95117c2a432f962c066499d"
      ],
      "author": {
        "name": "Arun R Bharadwaj",
        "email": "arun@linux.vnet.ibm.com",
        "time": "Wed Jul 28 14:17:26 2010 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Thu Oct 28 09:08:45 2010 -0500"
      },
      "message": "net/9p: This patch implements TLERROR/RLERROR on the 9P client.\n\nSigned-off-by: Arun R Bharadwaj \u003carun@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "a10c02036f82b1fa30d69a62f7c7d9a927e8adbc",
      "tree": "c7435bd8023305fe708a91912aa6d49c68032e90",
      "parents": [
        "4101e976e0376a1820ae55adf8bca7dda5089a7d"
      ],
      "author": {
        "name": "Amarnath Revanna",
        "email": "amarnath.bangalore.revanna@stericsson.com",
        "time": "Wed Oct 27 08:34:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 12:29:51 2010 -0700"
      },
      "message": "caif-u5500: Adding shared memory include\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b914c4ea929a4ba6fb97967800dc473c31552b98",
      "tree": "630f7c81d82e580e5aa5164c0e4cf1d0dadca3ba",
      "parents": [
        "7a2b03c5175e9ddcc2a2d48ca86dea8a88b68383"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 23:55:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:33 2010 -0700"
      },
      "message": "inetpeer: __rcu annotations\n\nAdds __rcu annotations to inetpeer\n\t(struct inet_peer)-\u003eavl_left\n\t(struct inet_peer)-\u003eavl_right\n\nThis is a tedious cleanup, but removes one smp_wmb() from link_to_pool()\nsince we now use more self documenting rcu_assign_pointer().\n\nNote the use of RCU_INIT_POINTER() instead of rcu_assign_pointer() in\nall cases we dont need a memory barrier.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a2b03c5175e9ddcc2a2d48ca86dea8a88b68383",
      "tree": "ccc580891d9d17e2482e2f3db2b2c8cf80bdf773",
      "parents": [
        "b33eab08445d86c3d0dec3111ce10df561328705"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 26 09:24:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:32 2010 -0700"
      },
      "message": "fib_rules: __rcu annotates ctarget\n\nAdds __rcu annotation to (struct fib_rule)-\u003ectarget\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b33eab08445d86c3d0dec3111ce10df561328705",
      "tree": "381a37141d4da9cf6cb3a8c8c37c6363d856f8e4",
      "parents": [
        "e0ad61ec867fdd262804afa7a68e11fc9930c2b9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 21:01:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:32 2010 -0700"
      },
      "message": "tunnels: add __rcu annotations\n\nAdd __rcu annotations to :\n        (struct ip_tunnel)-\u003eprl\n        (struct ip_tunnel_prl_entry)-\u003enext\n        (struct xfrm_tunnel)-\u003enext\n\tstruct xfrm_tunnel *tunnel4_handlers\n\tstruct xfrm_tunnel *tunnel64_handlers\n\nAnd use appropriate rcu primitives to reduce sparse warnings if\nCONFIG_SPARSE_RCU_POINTER\u003dy\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0ad61ec867fdd262804afa7a68e11fc9930c2b9",
      "tree": "f59451cdfa2086757e55b18b87167b0fef3de2c1",
      "parents": [
        "1c31720a74e19bb57f301350a3b03210fa2ba9e3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 21:02:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:31 2010 -0700"
      },
      "message": "net: add __rcu annotations to protocol\n\nAdd __rcu annotations to :\n        struct net_protocol *inet_protos\n        struct net_protocol *inet6_protos\n\nAnd use appropriate casts to reduce sparse warnings if\nCONFIG_SPARSE_RCU_POINTER\u003dy\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c31720a74e19bb57f301350a3b03210fa2ba9e3",
      "tree": "053f29ffa53383eb003ac632971f31e1643ef1d9",
      "parents": [
        "c1b60092cf307fef12f793abf7cf8167e26a6ccf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 21:02:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 11:37:31 2010 -0700"
      },
      "message": "ipv4: add __rcu annotations to routes.c\n\nAdd __rcu annotations to :\n        (struct dst_entry)-\u003ert_next\n        (struct rt_hash_bucket)-\u003echain\n\nAnd use appropriate rcu primitives to reduce sparse warnings if\nCONFIG_SPARSE_RCU_POINTER\u003dy\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43a951e9994fd218ab4e641f94a2fc53556c3675",
      "tree": "497fe39185131f1d729c980c264562ff5cab86e8",
      "parents": [
        "0d7da9ddd9a4eb7808698d04b98bf9d62d02649b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 03:32:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 14:18:28 2010 -0700"
      },
      "message": "ipv4: add __rcu annotations to ip_ra_chain\n\nAdd __rcu annotations to :\n        (struct ip_ra_chain)-\u003enext\n\tstruct ip_ra_chain *ip_ra_chain;\n\nAnd use appropriate rcu primitives.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d7da9ddd9a4eb7808698d04b98bf9d62d02649b",
      "tree": "b170122c08d47be35a056782be54573ba19fe0b0",
      "parents": [
        "1c87733d0682547050ccccb400cdac425fa43b39"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 03:47:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 14:18:28 2010 -0700"
      },
      "message": "net: add __rcu annotation to sk_filter\n\nAdd __rcu annotation to :\n        (struct sock)-\u003esk_filter\n\nAnd use appropriate rcu primitives to reduce sparse warnings if\nCONFIG_SPARSE_RCU_POINTER\u003dy\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c87733d0682547050ccccb400cdac425fa43b39",
      "tree": "8ec9de7722a2be0e97d9ad6a04d12fb0d298b201",
      "parents": [
        "6e3f7faf3e8a3e226b1a6b955aac12abf2f2e1b6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 25 03:20:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 14:18:27 2010 -0700"
      },
      "message": "net_ns: add __rcu annotations\n\nadd __rcu annotation to (struct net)-\u003egen, and use\nrcu_dereference_protected() in net_assign_generic()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f0bcf152582e7403155627a38e07bf3ef7f3cf5",
      "tree": "0dafb9ea61fa01bb8850ee2bcce97b98c23a7c8f",
      "parents": [
        "3cc77ec74e1583b50b8405114cdbd6b8ebb8c474"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Oct 24 21:33:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 13:09:45 2010 -0700"
      },
      "message": "tunnels: add _rcu annotations\n\n(struct ip6_tnl)-\u003enext is rcu protected :\n(struct ip_tunnel)-\u003enext is rcu protected :\n(struct xfrm6_tunnel)-\u003enext is rcu protected :\n\nadd __rcu annotation and proper rcu primitives.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cc77ec74e1583b50b8405114cdbd6b8ebb8c474",
      "tree": "3f45e2ddfc224edd166b1cdc79ddff62532b4c7d",
      "parents": [
        "198caeca3eb4c81bbdbeb34a870868002f89b3d2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Oct 24 21:32:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 25 13:09:44 2010 -0700"
      },
      "message": "net/802: add __rcu annotations\n\n(struct net_device)-\u003egarp_port is rcu protected :\n(struct garp_port)-\u003eapplicants is rcu protected :\n\nadd __rcu annotation and proper rcu primitives.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0",
      "tree": "7851ef1c93aa1aba7ef327ca4b75fd35e6d10f29",
      "parents": [
        "02f36038c568111ad4fc433f6fa760ff5e38fab4",
        "ec37a48d1d16c30b655ac5280209edf52a6775d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -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: (1699 commits)\n  bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.\n  vlan: Calling vlan_hwaccel_do_receive() is always valid.\n  tproxy: use the interface primary IP address as a default value for --on-ip\n  tproxy: added IPv6 support to the socket match\n  cxgb3: function namespace cleanup\n  tproxy: added IPv6 support to the TPROXY target\n  tproxy: added IPv6 socket lookup function to nf_tproxy_core\n  be2net: Changes to use only priority codes allowed by f/w\n  tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled\n  tproxy: added tproxy sockopt interface in the IPV6 layer\n  tproxy: added udp6_lib_lookup function\n  tproxy: added const specifiers to udp lookup functions\n  tproxy: split off ipv6 defragmentation to a separate module\n  l2tp: small cleanup\n  nf_nat: restrict ICMP translation for embedded header\n  can: mcp251x: fix generation of error frames\n  can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set\n  can-raw: add msg_flags to distinguish local traffic\n  9p: client code cleanup\n  rds: make local functions/variables static\n  ...\n\nFix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and\ndrivers/net/wireless/ath/ath9k/debug.c as per David\n"
    },
    {
      "commit": "888a6f77e0418b049f83d37547c209b904d30af4",
      "tree": "42cdb9f781d2177e6b380e69a66a27ec7705f51f",
      "parents": [
        "31b7eab27a314b153d8fa07ba9e9ec00a98141e1",
        "6506cf6ce68d78a5470a8360c965dafe8e4b78e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:12 2010 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (52 commits)\n  sched: fix RCU lockdep splat from task_group()\n  rcu: using ACCESS_ONCE() to observe the jiffies_stall/rnp-\u003eqsmask value\n  sched: suppress RCU lockdep splat in task_fork_fair\n  net: suppress RCU lockdep false positive in sock_update_classid\n  rcu: move check from rcu_dereference_bh to rcu_read_lock_bh_held\n  rcu: Add advice to PROVE_RCU_REPEATEDLY kernel config parameter\n  rcu: Add tracing data to support queueing models\n  rcu: fix sparse errors in rcutorture.c\n  rcu: only one evaluation of arg in rcu_dereference_check() unless sparse\n  kernel: Remove undead ifdef CONFIG_DEBUG_LOCK_ALLOC\n  rcu: fix _oddness handling of verbose stall warnings\n  rcu: performance fixes to TINY_PREEMPT_RCU callback checking\n  rcu: upgrade stallwarn.txt documentation for CPU-bound RT processes\n  vhost: add __rcu annotations\n  rcu: add comment stating that list_empty() applies to RCU-protected lists\n  rcu: apply TINY_PREEMPT_RCU read-side speedup to TREE_PREEMPT_RCU\n  rcu: combine duplicate code, courtesy of CONFIG_PREEMPT_RCU\n  rcu: Upgrade srcu_read_lock() docbook about SRCU grace periods\n  rcu: document ways of stalling updates in low-memory situations\n  rcu: repair code-duplication FIXMEs\n  ...\n"
    },
    {
      "commit": "9941fb62762253774cc6177d0b9172ece5133fe1",
      "tree": "641fc2b376e2f84c7023aa0cd8b9d76f954cc3a1",
      "parents": [
        "a5190b4eea1f1c53ee26b3d1176441cafa8e7f79",
        "3b1a1ce6f418cb7ab35eb55c8a6575987a524e30"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 08:21:34 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 08:21:34 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "3b1a1ce6f418cb7ab35eb55c8a6575987a524e30",
      "tree": "a3ebee69d6370631746a348f5852eeb955df5bd3",
      "parents": [
        "cc6eb433856983e91071469c4ce57accb6947ccb",
        "b0aeef30433ea6854e985c2e9842fa19f51b95cc"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 16:25:51 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 16:25:51 2010 +0200"
      },
      "message": "Merge branch \u0027for-patrick\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/horms/lvs-test-2.6\n"
    },
    {
      "commit": "3b9afb29917f4ab08decf358ecfd354a72a91ac0",
      "tree": "fbc5b5d684ddb8ea276d93ad5890eab55001c896",
      "parents": [
        "0a513f6af962525ed4b3395f8c8d5daae8682aa9"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 16:12:14 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 16:12:14 2010 +0200"
      },
      "message": "tproxy: added IPv6 socket lookup function to nf_tproxy_core\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "aa976fc011efa1f0e3290c6c9addf7c20757f885",
      "tree": "93e692330e1d8e3e366bb0fec71b394c5e79ee93",
      "parents": [
        "88440ae70eda83d0cc94148d404f4990c9f1289c"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 16:05:41 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 16:05:41 2010 +0200"
      },
      "message": "tproxy: added udp6_lib_lookup function\n\nJust like with IPv4, we need access to the UDP hash table to look up local\nsockets, but instead of exporting the global udp_table, export a lookup\nfunction.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "e97c3e278e951501c2f385de70c3ceacdea78c4a",
      "tree": "1794d174ef487cff2ff135f8ca4c795c847f41ed",
      "parents": [
        "093d282321daeb19c107e5f1f16d7f68484f3ade"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 16:03:43 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 16:03:43 2010 +0200"
      },
      "message": "tproxy: split off ipv6 defragmentation to a separate module\n\nLike with IPv4, TProxy needs IPv6 defragmentation but does not\nrequire connection tracking. Since defragmentation was coupled\nwith conntrack, I split off the two, creating an nf_defrag_ipv6 module,\nsimilar to the already existing nf_defrag_ipv4.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "32a875adcdcf5f470bf967250cfd01722e23844f",
      "tree": "3dbb0e3118de15d22c48df74ab5d953a2839102b",
      "parents": [
        "ff51bf841587c75b58d25ed77263158619784dd3"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Oct 19 06:48:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 04:26:39 2010 -0700"
      },
      "message": "9p: client code cleanup\n\nMake p9_client_version static since only used in one file.\nRemove p9_client_auth because it is defined but never used.\nCompile tested only.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "093d282321daeb19c107e5f1f16d7f68484f3ade",
      "tree": "36e9eed23573068819bf67a91caac6ebf60d0d7c",
      "parents": [
        "6006db84a91838813cdad8a6622a4e39efe9ea47"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 13:06:43 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 13:06:43 2010 +0200"
      },
      "message": "tproxy: fix hash locking issue when using port redirection in __inet_inherit_port()\n\nWhen __inet_inherit_port() is called on a tproxy connection the wrong locks are\nheld for the inet_bind_bucket it is added to. __inet_inherit_port() made an\nimplicit assumption that the listener\u0027s port number (and thus its bind bucket).\nUnfortunately, if you\u0027re using the TPROXY target to redirect skbs to a\ntransparent proxy that assumption is not true anymore and things break.\n\nThis patch adds code to __inet_inherit_port() so that it can handle this case\nby looking up or creating a new bind bucket for the child socket and updates\ncallers of __inet_inherit_port() to gracefully handle __inet_inherit_port()\nfailing.\n\nReported by and original patch from Stephen Buck \u003cstephen.buck@exinda.com\u003e.\nSee http://marc.info/?t\u003d128169268200001\u0026r\u003d1\u0026w\u003d2 for the original discussion.\n\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "6006db84a91838813cdad8a6622a4e39efe9ea47",
      "tree": "842b0a7efaf2d826c82e04ae5552e9b94c6de858",
      "parents": [
        "106e4c26b1529e559d1aae777f11b4f8f7bafc26"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 12:47:34 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 12:47:34 2010 +0200"
      },
      "message": "tproxy: add lookup type checks for UDP in nf_tproxy_get_sock_v4()\n\nAlso, inline this function as the lookup_type is always a literal\nand inlining removes branches performed at runtime.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "106e4c26b1529e559d1aae777f11b4f8f7bafc26",
      "tree": "e784c61379e767255bf941f9d78d9ef6e7c58640",
      "parents": [
        "d86bef73b4a24e59e7c1f896a72bbf38430ac2c6"
      ],
      "author": {
        "name": "Balazs Scheidler",
        "email": "bazsi@balabit.hu",
        "time": "Thu Oct 21 12:45:14 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 21 12:45:14 2010 +0200"
      },
      "message": "tproxy: kick out TIME_WAIT sockets in case a new connection comes in with the same tuple\n\nWithout tproxy redirections an incoming SYN kicks out conflicting\nTIME_WAIT sockets, in order to handle clients that reuse ports\nwithin the TIME_WAIT period.\n\nThe same mechanism didn\u0027t work in case TProxy is involved in finding\nthe proper socket, as the time_wait processing code looked up the\nlistening socket assuming that the listener addr/port matches those\nof the established connection.\n\nThis is not the case with TProxy as the listener addr/port is possibly\nchanged with the tproxy rule.\n\nSigned-off-by: Balazs Scheidler \u003cbazsi@balabit.hu\u003e\nSigned-off-by: KOVACS Krisztian \u003chidden@balabit.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "3511c9132f8b1e1b5634e41a3331c44b0c13be70",
      "tree": "fecff28f3bf8fbfdecd33d9b98253d60f1d45bf7",
      "parents": [
        "26d8ee75e08cfca8b65ade871d68c8cd96e4ea23"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sat Oct 16 13:04:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:47 2010 -0700"
      },
      "message": "net_sched: remove the unused parameter of qdisc_create_dflt()\n\nThe first parameter dev isn\u0027t in use in qdisc_create_dflt().\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c4c40c42da468ef02dc04940930c1926c964558",
      "tree": "3285bd36ab5ff41a24245e94e50016d5bf45bedf",
      "parents": [
        "8d8a0b1cc2a8f9794a3f1f747089b6a93774408d"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Oct 15 05:14:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:46 2010 -0700"
      },
      "message": "xfrm: make xfrm_bundle_ok local\n\nOnly used in one place.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d8a0b1cc2a8f9794a3f1f747089b6a93774408d",
      "tree": "4baab7706f18ceafb92a2fa953350ed7d9959f3a",
      "parents": [
        "6f747aca5e61778190d1e27bdc469f49149f0230"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Oct 15 05:12:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:45 2010 -0700"
      },
      "message": "rtnetlink: remove rtnl_kill_links\n\nThe function rtnl_kill_links is defined but never used.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f747aca5e61778190d1e27bdc469f49149f0230",
      "tree": "127de8b153a05437add3b959f10eea831466781e",
      "parents": [
        "191cc6877408348e90f4adb64726b60a93246b8b"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Oct 15 05:15:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:45 2010 -0700"
      },
      "message": "xfrm6: make xfrm6_tunnel_free_spi local\n\nFunction only defined and used in one file.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d79641a96d612aaa6d57a4d4f521d7ed9c9ccdd",
      "tree": "9783497ace4f8ff8eeac24524ecb93012166c60d",
      "parents": [
        "3233759be7eeca9998c514b8f49e8cf2b85e64d3"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:46:17 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 11:04:43 2010 +0200"
      },
      "message": "ipvs: provide address family for debugging\n\n \tAs skb-\u003eprotocol is not valid in LOCAL_OUT add\nparameter for address family in packet debugging functions.\nEven if ports are not present in AH and ESP change them to\nuse ip_vs_tcpudp_debug_packet to show at least valid addresses\nas before. This patch removes the last user of skb-\u003eprotocol\nin IPVS.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "fc604767613b6d2036cdc35b660bc39451040a47",
      "tree": "50177ff8f66e0f153b2f172f98290eae5fcaee24",
      "parents": [
        "f5a41847acc535e2e2018e397b1876ba7577d9d9"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:38:15 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 11:03:46 2010 +0200"
      },
      "message": "ipvs: changes for local real server\n\n \tThis patch deals with local real servers:\n\n- Add support for DNAT to local address (different real server port).\nIt needs ip_vs_out hook in LOCAL_OUT for both families because\nskb-\u003eprotocol is not set for locally generated packets and can not\nbe used to set \u0027af\u0027.\n\n- Skip packets in ip_vs_in marked with skb-\u003eipvs_property because\nip_vs_out processing can be executed in LOCAL_OUT but we still\nhave the conn_out_get check in ip_vs_in.\n\n- Ignore packets with inet-\u003enodefrag from local stack\n\n- Require skb_dst(skb) !\u003d NULL because we use it to get struct net\n\n- Add support for changing the route to local IPv4 stack after DNAT\ndepending on the source address type. Local client sets output\nroute and the remote client sets input route. It looks like\nIPv6 does not need such rerouting because the replies use\naddresses from initial incoming header, not from skb route.\n\n- All transmitters now have strict checks for the destination\naddress type: redirect from non-local address to local real\nserver requires NAT method, local address can not be used as\nsource address when talking to remote real server.\n\n- Now LOCALNODE is not set explicitly as forwarding\nmethod in real server to allow the connections to provide\ncorrect forwarding method to the backup server. Not sure if\nthis breaks tools that expect to see \u0027Local\u0027 real server type.\nIf needed, this can be supported with new flag IP_VS_DEST_F_LOCAL.\nNow it should be possible connections in backup that lost\ntheir fwmark information during sync to be forwarded properly\nto their daddr, even if it is local address in the backup server.\nBy this way backup could be used as real server for DR or TUN,\nfor NAT there are some restrictions because tuple collisions\nin conntracks can create problems for the traffic.\n\n- Call ip_vs_dst_reset when destination is updated in case\nsome real server IP type is changed between local and remote.\n\n[ horms@verge.net.au: removed trailing whitespace ]\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "190ecd27cd7294105e3b26ca71663c7d940acbbb",
      "tree": "0dfc3569862e260a7c35c7dee14332de4345eeba",
      "parents": [
        "cf356d69db0afef692cd640917bc70f708c27f14"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:24:37 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 10:50:41 2010 +0200"
      },
      "message": "ipvs: do not schedule conns from real servers\n\n \tThis patch is needed to avoid scheduling of\npackets from local real server when we add ip_vs_in\nin LOCAL_OUT hook to support local client.\n\n \tCurrently, when ip_vs_in can not find existing\nconnection it tries to create new one by calling ip_vs_schedule.\n\n \tThe default indication from ip_vs_schedule was if\nconnection was scheduled to real server. If real server is\nnot available we try to use the bypass forwarding method\nor to send ICMP error. But in some cases we do not want to use\nthe bypass feature. So, add flag \u0027ignored\u0027 to indicate if\nthe scheduler ignores this packet.\n\n \tMake sure we do not create new connections from replies.\nWe can hit this problem for persistent services and local real\nserver when ip_vs_in is added to LOCAL_OUT hook to handle\nlocal clients.\n\n \tAlso, make sure ip_vs_schedule ignores SYN packets\nfor Active FTP DATA from local real server. The FTP DATA\nconnection should be created on SYN+ACK from client to assign\ncorrect connection daddr.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "cf356d69db0afef692cd640917bc70f708c27f14",
      "tree": "1c1e0a277ba783066e639524bbdef0c19996e8c0",
      "parents": [
        "8b27b10f5863a5b63e46304a71aa01463d1efac4"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:21:07 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 10:50:20 2010 +0200"
      },
      "message": "ipvs: switch to notrack mode\n\n \tChange skb-\u003eipvs_property semantic. This is preparation\nto support ip_vs_out processing in LOCAL_OUT. ipvs_property\u003d1\nwill be used to avoid expensive lookups for traffic sent by\ntransmitters. Now when conntrack support is not used we call\nip_vs_notrack method to avoid problems in OUTPUT and\nPOST_ROUTING hooks instead of exiting POST_ROUTING as before.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "8b27b10f5863a5b63e46304a71aa01463d1efac4",
      "tree": "89f5db8881b0297cda00cad3c2cdedf685e2757f",
      "parents": [
        "5bc9068e9d962ca6b8bec3f0eb6f60ab4dee1d04"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Sun Oct 17 16:17:20 2010 +0300"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Oct 21 10:50:02 2010 +0200"
      },
      "message": "ipvs: optimize checksums for apps\n\n \tAvoid full checksum calculation for apps that can provide\ninfo whether csum was broken after payload mangling. For now only\nip_vs_ftp mangles payload and it updates the csum, so the full\nrecalculation is avoided for all packets.\n\n \tAdd CHECKSUM_UNNECESSARY for snat_handler (TCP and UDP).\nIt is needed to support SNAT from local address for the case\nwhen csum is fully recalculated.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "5eeaa2db162f1f6d83e988d4d28f4ba7be600e44",
      "tree": "440e245201485fcfb7858bf57aae755c00b15651",
      "parents": [
        "c5e90f562047ff9713183cf5e18f5e8997bc7373",
        "c64557d666eb62eb5f296c6b93bd0a5525ed1e36"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 20 01:59:48 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 20 01:59:48 2010 -0700"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "714f095f74582764d629785f03b459a3d0503624",
      "tree": "47f115c332227008d6d8a15d68594fdc126274d3",
      "parents": [
        "ebbf41df4aabb6d506fa18ea8cb4c2b4388a18b9"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Tue Oct 19 10:38:48 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Oct 19 10:38:48 2010 +0200"
      },
      "message": "ipvs: IPv6 tunnel mode\n\nIPv6 encapsulation uses a bad source address for the tunnel.\ni.e. VIP will be used as local-addr and encap. dst addr.\nDecapsulation will not accept this.\n\nExample\nLVS (eth1 2003::2:0:1/96, VIP 2003::2:0:100)\n   (eth0 2003::1:0:1/96)\nRS  (ethX 2003::1:0:5/96)\n\ntcpdump\n2003::2:0:100 \u003e 2003::1:0:5: IP6 (hlim 63, next-header TCP (6) payload length: 40)  2003::3:0:10.50991 \u003e 2003::2:0:100.http: Flags [S], cksum 0x7312 (correct), seq 3006460279, win 5760, options [mss 1440,sackOK,TS val 1904932 ecr 0,nop,wscale 3], length 0\n\nIn Linux IPv6 impl. you can\u0027t have a tunnel with an any cast address\nreceiving packets (I have not tried to interpret RFC 2473)\nTo have receive capabilities the tunnel must have:\n - Local address set as multicast addr or an unicast addr\n - Remote address set as an unicast addr.\n - Loop back addres or Link local address are not allowed.\n\nThis causes us to setup a tunnel in the Real Server with the\nLVS as the remote address, here you can\u0027t use the VIP address since it\u0027s\nused inside the tunnel.\n\nSolution\nUse outgoing interface IPv6 address (match against the destination).\ni.e. use ip6_route_output() to look up the route cache and\nthen use ipv6_dev_get_saddr(...) to set the source address of the\nencapsulated packet.\n\nAdditionally, cache the results in new destination\nfields: dst_cookie and dst_saddr and properly check the\nreturned dst from ip6_route_output. We now add xfrm_lookup\ncall only for the tunneling method where the source address\nis a local one.\n\nSigned-off-by:Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "ebbf41df4aabb6d506fa18ea8cb4c2b4388a18b9",
      "tree": "16ea6ca8a2382e399798a087fcbeb63380b21f03",
      "parents": [
        "43f974cdb4ab6d65f849610deb9ef738d62b2e65"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Oct 19 10:19:06 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Oct 19 10:19:06 2010 +0200"
      },
      "message": "netfilter: ctnetlink: add expectation deletion events\n\nThis patch allows to listen to events that inform about\nexpectations destroyed.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "8e602ce2980fd6941dc0d3dda12e5095e8206f34",
      "tree": "1a0ea79a6db1b01660cc034c822d02c95e356388",
      "parents": [
        "c60ce4e265404ca42ba860401f4b0f1e97332a67"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 14 05:56:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 17 13:49:14 2010 -0700"
      },
      "message": "netns: reorder fields in struct net\n\nIn a network bench, I noticed an unfortunate false sharing between\n\u0027loopback_dev\u0027 and \u0027count\u0027 fields in \"struct net\".\n\n\u0027count\u0027 is written each time a socket is created or destroyed, while\nloopback_dev might be often read in routing code.\n\nMove loopback_dev in a read mostly section of \"struct net\"\n\nNote: struct netns_xfrm is cache line aligned on SMP.\n(It contains a \"struct dst_ops\")\nMove it at the end to avoid holes, and reduce sizeof(struct net) by 128\nbytes on ia32.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31e3c3f6f1f9b154981a0e6620df700463db30ee",
      "tree": "5ed74529c528cc9a09d6f8c9a5083aaf4849b62e",
      "parents": [
        "15419227f773b6c1b5fae44bde876078a9204caa"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Oct 13 13:20:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 16 11:13:24 2010 -0700"
      },
      "message": "tipc: cleanup function namespace\n\nDo some cleanups of TIPC based on make namespacecheck\n  1. Don\u0027t export unused symbols\n  2. Eliminate dead code\n  3. Make functions and variables local\n  4. Rename buf_acquire to tipc_buf_acquire since it is used in several files\n\nCompile tested only.\nThis make break out of tree kernel modules that depend on TIPC routines.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Jon Maloy \u003cjon.maloy@ericsson.com\u003e\nAcked-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c64557d666eb62eb5f296c6b93bd0a5525ed1e36",
      "tree": "1e25cc32521d06ae876de18bb8e48b3cf9d30808",
      "parents": [
        "1a63c353c856c9f6d44a533afb6ad6dbbcdea683",
        "0d91f22b75347d9503b17a42b6c74d3f7750acd6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 16:11:56 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 16:11:56 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "1a63c353c856c9f6d44a533afb6ad6dbbcdea683",
      "tree": "a51c18f01c031a21f07ec3be07ffae210bb9adc7",
      "parents": [
        "7662ff46b7b3678162ce125903115e4ab0607a2d",
        "b3c0598952e02f1f1f6d003574549d940ecbf31a"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 16:00:02 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 15 16:00:02 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 into for-davem\n"
    },
    {
      "commit": "b3d6255388de0680a14f0907deb7b7f4fa0d25d5",
      "tree": "8eaefeadef047a8bc6fcc269669ac4288e41ef64",
      "parents": [
        "7368ddf144afd79456fd853fa25f33e31da003a9"
      ],
      "author": {
        "name": "Kumar Sanghvi",
        "email": "kumar.sanghvi@stericsson.com",
        "time": "Tue Oct 12 20:14:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 13 14:40:34 2010 -0700"
      },
      "message": "Phonet: \u0027connect\u0027 socket implementation for Pipe controller\n\nBased on suggestion by Rémi Denis-Courmont to implement \u0027connect\u0027\nfor Pipe controller logic,  this patch implements \u0027connect\u0027 socket\ncall for the Pipe controller logic.\nThe patch does following:-\n- Removes setsockopts for PNPIPE_CREATE and PNPIPE_DESTROY\n- Adds setsockopt for setting the Pipe handle value\n- Implements connect socket call\n- Updates the Pipe controller logic\n\nUser-space should now follow below sequence with Pipe controller:-\n-socket\n-bind\n-setsockopt for PNPIPE_PIPE_HANDLE\n-connect\n-setsockopt for PNPIPE_ENCAP_IP\n-setsockopt for PNPIPE_ENABLE\n\nGPRS/3G data has been tested working fine with this.\n\nSigned-off-by: Kumar Sanghvi \u003ckumar.sanghvi@stericsson.com\u003e\nAcked-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7be5086d4cb7cceb71d724a9524d5e927785d04f",
      "tree": "eaf0b7d527b9b91c704c8f339d855923c0a34571",
      "parents": [
        "271733cf844a2f5f186ef3b40c26d6397b71039a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Oct 13 12:06:24 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 13 15:45:22 2010 -0400"
      },
      "message": "mac80211: add probe request filter flag\n\nUsing the frame registration notification, we\ncan see when probe requests are requested and\nnotify the low-level driver via filtering. The\nflag is also set in AP and IBSS modes.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "271733cf844a2f5f186ef3b40c26d6397b71039a",
      "tree": "6b674540afe189b48599ae423c2174ebd48a8ffe",
      "parents": [
        "7a8266524af7ec70d1b3d10f964ce911d922d466"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Oct 13 12:06:23 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 13 15:45:22 2010 -0400"
      },
      "message": "cfg80211: notify drivers about frame registrations\n\nDrivers may need to adjust their filters according\nto frame registrations, so notify them about them.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "534c92fde74c8d2143fc15b5f1d957f42cb43570",
      "tree": "1f6fe4dcf8bebd4b8313357036614900f289aab2",
      "parents": [
        "ab3e571564a5d8fa4923e2e858e574c931a014c7"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@nokia.com",
        "time": "Fri Oct 01 12:05:11 2010 +0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:53 2010 -0300"
      },
      "message": "Bluetooth: clean up rfcomm code\n\nRemove dead code and unused rfcomm thread events\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@nokia.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "796c86eec84ddfd02281c5071838ed1fefda6b90",
      "tree": "5b6c705846e46c39b4ddc233e5a1604d9fb9476d",
      "parents": [
        "0fba2558cbb3fae3a09147b7d6e18a6204204e0e"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Wed Sep 08 10:05:27 2010 -0700"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:51 2010 -0300"
      },
      "message": "Bluetooth: Add common code for stream-oriented recvmsg()\n\nThis commit adds a bt_sock_stream_recvmsg() function for use by any\nBluetooth code that uses SOCK_STREAM sockets.  This code is copied\nfrom rfcomm_sock_recvmsg() with minimal modifications to remove\nRFCOMM-specific functionality and improve readability.\n\nL2CAP (with the SOCK_STREAM socket type) and RFCOMM have common needs\nwhen it comes to reading data.  Proper stream read semantics require\nthat applications can read from a stream one byte at a time and not\nlose any data.  The RFCOMM code already operated on and pulled data\nfrom the underlying L2CAP socket, so very few changes were required to\nmake the code more generic for use with non-RFCOMM data over L2CAP.\n\nApplications that need more awareness of L2CAP frame boundaries are\nstill free to use SOCK_SEQPACKET sockets, and may verify that they\nconnection did not fall back to basic mode by calling getsockopt().\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "8f1e1742233cd1c3444dfc6c945a2efb2814e157",
      "tree": "252563ff2af556132d23f0edfd6bfa92a8a97dc5",
      "parents": [
        "29b4433d991c88d86ca48a4c1cc33c671475be4b"
      ],
      "author": {
        "name": "David Vrabel",
        "email": "david.vrabel@csr.com",
        "time": "Mon Aug 09 17:38:10 2010 -0400"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Oct 12 12:44:51 2010 -0300"
      },
      "message": "Bluetooth: HCI devices are either BR/EDR or AMP radios\n\nHCI transport drivers may not know what type of radio an AMP device has\nso only say whether they\u0027re BR/EDR or AMP devices.\n\nSigned-off-by: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\n"
    },
    {
      "commit": "e37ef961e50d74f55e9edb48e54dd2e7963aad39",
      "tree": "ac069f1c0fa4eaf54b28d712d05f7e483d165b19",
      "parents": [
        "fc66f95c68b6d4535a0ea2ea15d5cf626e310956"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 11 12:20:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 16:09:14 2010 -0700"
      },
      "message": "neigh: reorder struct neighbour fields\n\nLe mardi 12 octobre 2010 à 00:02 +0200, Eric Dumazet a écrit :\n\u003e Here is the followup patch.\n\u003e\n\u003e Thanks !\n\u003e\n\nOops, this was an old version, the up2date ones also took care of \"used\"\nfield.\n\nI guess its time for a sleep, sorry again.\n\n[PATCH net-next V2] neigh: reorder struct neighbour fields\n\n(refcnt) and (ha_lock, ha, used, dev, output, ops, primary_key) should\nbe placed on a separate cache lines.\n\nrefcnt can be often written, while other fields are mostly read.\n\nThis gave me good result on stress test :\n\nbefore:\n\nreal    0m45.570s\nuser    0m15.525s\nsys     9m56.669s\n\nAfter:\n\nreal    0m41.841s\nuser    0m15.261s\nsys     8m45.949s\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc66f95c68b6d4535a0ea2ea15d5cf626e310956",
      "tree": "ac3a7f08ad741a67ff683bf93e5669ddcae95ed7",
      "parents": [
        "0ed8ddf4045fcfcac36bad753dc4046118c603ec"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 08 06:37:34 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 13:06:53 2010 -0700"
      },
      "message": "net dst: use a percpu_counter to track entries\n\nstruct dst_ops tracks number of allocated dst in an atomic_t field,\nsubject to high cache line contention in stress workload.\n\nSwitch to a percpu_counter, to reduce number of time we need to dirty a\ncentral location. Place it on a separate cache line to avoid dirtying\nread only fields.\n\nStress test :\n\n(Sending 160.000.000 UDP frames,\nIP route cache disabled, dual E5540 @2.53GHz,\n32bit kernel, FIB_TRIE, SLUB/NUMA)\n\nBefore:\n\nreal    0m51.179s\nuser    0m15.329s\nsys     10m15.942s\n\nAfter:\n\nreal\t0m45.570s\nuser\t0m15.525s\nsys\t9m56.669s\n\nWith a small reordering of struct neighbour fields, subject of a\nfollowing patch, (to separate refcnt from other read mostly fields)\n\nreal\t0m41.841s\nuser\t0m15.261s\nsys\t8m45.949s\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ed8ddf4045fcfcac36bad753dc4046118c603ec",
      "tree": "cf1d9eb14668c4d2257b3519ed7deec8c5cb396d",
      "parents": [
        "d122179a3c0fdc71b88cb9e3605f372b1651a9ff"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 07 10:44:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 12:54:04 2010 -0700"
      },
      "message": "neigh: Protect neigh-\u003eha[] with a seqlock\n\nAdd a seqlock in struct neighbour to protect neigh-\u003eha[], and avoid\ndirtying neighbour in stress situation (many different flows / dsts)\n\nDirtying takes place because of read_lock(\u0026n-\u003elock) and n-\u003eused writes.\n\nSwitching to a seqlock, and writing n-\u003eused only on jiffies changes\npermits less dirtying.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d122179a3c0fdc71b88cb9e3605f372b1651a9ff",
      "tree": "63a48b333e7565967b6d7c9e246557bfcb9f225f",
      "parents": [
        "419c20465d6319274e7286f0966e2390540e6e0a",
        "b00916b189d13a615ff05c9242201135992fcda3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 12:30:34 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 11 12:30:34 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/core/ethtool.c\n"
    },
    {
      "commit": "8610c29a2c9f273886b1c31ae4d92c69d4326262",
      "tree": "c0424e55a67e0a2a1c7f1d72a9d807c442da5a9c",
      "parents": [
        "15943a72c7d2031c9150917ca9161a9f891d455a"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sat Oct 09 02:39:29 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 11 15:04:20 2010 -0400"
      },
      "message": "cfg80211: add channel utilization stats to the survey command\n\nUsing these, user space can calculate a relative channel utilization\nwith arbitrary intervals by regularly taking snapshots of the survey\nresults.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5a5c731aa59cc2c44ca20f45b1a577cd4f5435e2",
      "tree": "c5f45cd0e014bbaf600fe172ebbd117ca2737bbb",
      "parents": [
        "b38afa87698375179026224522c2e48dcbf17e65"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Thu Oct 07 16:39:20 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 11 15:04:19 2010 -0400"
      },
      "message": "wireless: Set some stats used by /proc/net/wireless (wext)\n\nSome stats for /proc/net/wireless (and wext in general) are not\nbeing set.  This patch addresses a few of those with values easily\nobtained from mac80211 core.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e9a68707d736f4f73d7e209885d7b4c5c452b1dc",
      "tree": "d9f76964c77c1059483b08436ed060b702b8e25d",
      "parents": [
        "dd53df265b1ee7a1fbbc76bb62c3bec2383bbd44",
        "15a6321d1c0f8db561932cd99e1b9897981da71f"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 08 15:39:28 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 08 15:39:28 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ipw2x00/ipw2200.c\n"
    },
    {
      "commit": "388ac775be95e510c2095ed6cd59422a5183a9fb",
      "tree": "bbdb6f1b5aa46ec8ebb5c1eccdd4934082a66094",
      "parents": [
        "43b19952de54b0fccfcdc5968891ebe550367fe8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Oct 07 13:11:09 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Oct 07 14:41:28 2010 -0400"
      },
      "message": "cfg80211: constify WDS address\n\nThere\u0027s no need for the WDS peer address\nto not be const, so make it const.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "556ef63255f1a6f82910a637c4164dbf7d3d1af2",
      "tree": "ae209fe4959e0837bf4eb72abc6e02c8a82179a1",
      "parents": [
        "d4f8f217b8a5d5bd02af979650418dca4caec472",
        "cb655d0f3d57c23db51b981648e452988c0223f9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:38 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:45 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.36-rc7\u0027 into core/rcu\n\nMerge reason: Update from -rc3 to -rc7.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d4f8f217b8a5d5bd02af979650418dca4caec472",
      "tree": "af047bfa9729c975e24cb7624107574e884d3a57",
      "parents": [
        "2dfbf4dfbe47a484bae20456c12b40763b9b6af7",
        "773e3f93577ffb493fb7c39b1a6ecf39b5748e87"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:11 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:11 2010 +0200"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/rcu\n"
    },
    {
      "commit": "767e97e1e0db0d0f3152cd2f3bd3403596aedbad",
      "tree": "cda6089e75f98fc3c9812993cf790fccac98b67a",
      "parents": [
        "546add79468183f266c75c632c96e4b0029e0d96"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Oct 06 17:49:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 18:01:33 2010 -0700"
      },
      "message": "neigh: RCU conversion of struct neighbour\n\nThis is the second step for neighbour RCU conversion.\n\n(first was commit d6bf7817 : RCU conversion of neigh hash table)\n\nneigh_lookup() becomes lockless, but still take a reference on found\nneighbour. (no more read_lock()/read_unlock() on tbl-\u003elock)\n\nstruct neighbour gets an additional rcu_head field and is freed after an\nRCU grace period.\n\nFuture work would need to eventually not take a reference on neighbour\nfor temporary dst (DST_NOCACHE), but this would need dst-\u003e_neighbour to\nuse a noref bit like we did for skb-\u003e_dst.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b206b4ef062d83c0875a085672ed50e8c8b01521",
      "tree": "f182cc272055f7b646bc62a5d37fb097a8fd07cc",
      "parents": [
        "09be251e9005ebd67e5eabcaad904edb7ecacc55"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Wed Oct 06 18:34:12 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 16:30:43 2010 -0400"
      },
      "message": "nl80211/mac80211: Add retry and failed transmission count to station info\n\nThis information is already available in mac80211, we just need to export it\nvia cfg80211 and nl80211.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e31b82136d1adc7a599b6e99d3321e5831841f5a",
      "tree": "c72d78d4cccfd08587e909c7efe59956f1cbc23e",
      "parents": [
        "53f73c09d64f1fa7d7e6e8b6bb7468d42eddc92d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Oct 05 19:39:30 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 06 16:30:40 2010 -0400"
      },
      "message": "cfg80211/mac80211: allow per-station GTKs\n\nThis adds API to allow adding per-station GTKs,\nupdates mac80211 to support it, and also allows\ndrivers to remove a key from hwaccel again when\nthis may be necessary due to multiple GTKs.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ebc0ffae5dfb4447e0a431ffe7fe1d467c48bbb9",
      "tree": "395e50547ffccc6b73e04a44190eb4b4f2d2316b",
      "parents": [
        "c2952c314b4fe61820ba8fd6c949eed636140d52"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 05 10:41:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 20:39:38 2010 -0700"
      },
      "message": "fib: RCU conversion of fib_lookup()\n\nfib_lookup() converted to be called in RCU protected context, no\nreference taken and released on a contended cache line (fib_clntref)\n\nfib_table_lookup() and fib_semantic_match() get an additional parameter.\n\nstruct fib_info gets an rcu_head field, and is freed after an rcu grace\nperiod.\n\nStress test :\n(Sending 160.000.000 UDP frames on same neighbour,\nIP route cache disabled, dual E5540 @2.53GHz,\n32bit kernel, FIB_HASH) (about same results for FIB_TRIE)\n\nBefore patch :\n\nreal\t1m31.199s\nuser\t0m13.761s\nsys\t23m24.780s\n\nAfter patch:\n\nreal\t1m5.375s\nuser\t0m14.997s\nsys\t15m50.115s\n\nBefore patch Profile :\n\n13044.00 15.4% __ip_route_output_key vmlinux\n 8438.00 10.0% dst_destroy           vmlinux\n 5983.00  7.1% fib_semantic_match    vmlinux\n 5410.00  6.4% fib_rules_lookup      vmlinux\n 4803.00  5.7% neigh_lookup          vmlinux\n 4420.00  5.2% _raw_spin_lock        vmlinux\n 3883.00  4.6% rt_set_nexthop        vmlinux\n 3261.00  3.9% _raw_read_lock        vmlinux\n 2794.00  3.3% fib_table_lookup      vmlinux\n 2374.00  2.8% neigh_resolve_output  vmlinux\n 2153.00  2.5% dst_alloc             vmlinux\n 1502.00  1.8% _raw_read_lock_bh     vmlinux\n 1484.00  1.8% kmem_cache_alloc      vmlinux\n 1407.00  1.7% eth_header            vmlinux\n 1406.00  1.7% ipv4_dst_destroy      vmlinux\n 1298.00  1.5% __copy_from_user_ll   vmlinux\n 1174.00  1.4% dev_queue_xmit        vmlinux\n 1000.00  1.2% ip_output             vmlinux\n\nAfter patch Profile :\n\n13712.00 15.8% dst_destroy             vmlinux\n 8548.00  9.9% __ip_route_output_key   vmlinux\n 7017.00  8.1% neigh_lookup            vmlinux\n 4554.00  5.3% fib_semantic_match      vmlinux\n 4067.00  4.7% _raw_read_lock          vmlinux\n 3491.00  4.0% dst_alloc               vmlinux\n 3186.00  3.7% neigh_resolve_output    vmlinux\n 3103.00  3.6% fib_table_lookup        vmlinux\n 2098.00  2.4% _raw_read_lock_bh       vmlinux\n 2081.00  2.4% kmem_cache_alloc        vmlinux\n 2013.00  2.3% _raw_spin_lock          vmlinux\n 1763.00  2.0% __copy_from_user_ll     vmlinux\n 1763.00  2.0% ip_output               vmlinux\n 1761.00  2.0% ipv4_dst_destroy        vmlinux\n 1631.00  1.9% eth_header              vmlinux\n 1440.00  1.7% _raw_read_unlock_bh     vmlinux\n\nReference results, if IP route cache is enabled :\n\nreal\t0m29.718s\nuser\t0m10.845s\nsys\t7m37.341s\n\n25213.00 29.5% __ip_route_output_key   vmlinux\n 9011.00 10.5% dst_release             vmlinux\n 4817.00  5.6% ip_push_pending_frames  vmlinux\n 4232.00  5.0% ip_finish_output        vmlinux\n 3940.00  4.6% udp_sendmsg             vmlinux\n 3730.00  4.4% __copy_from_user_ll     vmlinux\n 3716.00  4.4% ip_route_output_flow    vmlinux\n 2451.00  2.9% __xfrm_lookup           vmlinux\n 2221.00  2.6% ip_append_data          vmlinux\n 1718.00  2.0% _raw_spin_lock_bh       vmlinux\n 1655.00  1.9% __alloc_skb             vmlinux\n 1572.00  1.8% sock_wfree              vmlinux\n 1345.00  1.6% kfree                   vmlinux\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d6bf781712a1d25cc8987036b3a48535b331eb91",
      "tree": "cf83ab68ef2519576578d8336a43cc13cd375cde",
      "parents": [
        "110b2499370c401cdcc7c63e481084467291d556"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 04 06:15:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 14:54:36 2010 -0700"
      },
      "message": "net neigh: RCU conversion of neigh hash table\n\nDavid\n\nThis is the first step for RCU conversion of neigh code.\n\nNext patches will convert hash_buckets[] and \"struct neighbour\" to RCU\nprotected objects.\n\nThanks\n\n[PATCH net-next] net neigh: RCU conversion of neigh hash table\n\nInstead of storing hash_buckets, hash_mask and hash_rnd in \"struct\nneigh_table\", a new structure is defined :\n\nstruct neigh_hash_table {\n       struct neighbour        **hash_buckets;\n       unsigned int            hash_mask;\n       __u32                   hash_rnd;\n       struct rcu_head         rcu;\n};\n\nAnd \"struct neigh_table\" has an RCU protected pointer to such a\nneigh_hash_table.\n\nThis means the signature of (*hash)() function changed: We need to add a\nthird parameter with the actual hash_rnd value, since this is not\nanymore a neigh_table field.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff4c92d85c6f2777d2067f8552e7fefb4d1754ae",
      "tree": "77e35603821e5602e96c90644e42e70f097ad79c",
      "parents": [
        "2ee4e27cf25ab647137713ca16377d8d9e138ea2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Oct 04 21:14:03 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:30 2010 -0400"
      },
      "message": "genetlink: introduce pre_doit/post_doit hooks\n\nEach family may have some amount of boilerplate\nlocking code that applies to most, or even all,\ncommands.\n\nThis allows a family to handle such things in\na more generic way, by allowing it to\n a) include private flags in each operation\n b) specify a pre_doit hook that is called,\n    before an operation\u0027s doit() callback and\n    may return an error directly,\n c) specify a post_doit hook that can undo\n    locking or similar things done by pre_doit,\n    and finally\n d) include two private pointers in each info\n    struct passed between all these operations\n    including doit(). (It\u0027s two because I\u0027ll\n    need two in nl80211 -- can be extended.)\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "78be49ec2a0df34de9441930fdced20311fd709f",
      "tree": "0eb6da18b78abc19e58b1cfd2375c548454186a8",
      "parents": [
        "5a5b6ed6ce46be128f2a5a9e56f47193c3ac3e32"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Sat Oct 02 11:31:55 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:28 2010 -0400"
      },
      "message": "mac80211: distinct between max rates and the number of rates the hw can report\n\nSome drivers cannot handle multiple retry rates specified by the rc\nalgorithm but instead use their own retry table (for example rt2800).\nHowever, if such a device registers itself with a max_rates value of 1\nthe rc algorithm cannot make use of the extended information the device\ncan provide about retried rates. On the other hand, if a device\nregisters itself with a max_rates value \u003e 1 the rc algorithm assumes\nthat the device can handle multi rate retries.\n\nFix this issue by introducing another hw parameter max_report_rates that\ncan be set to a different value then max_rates to indicate if a device\nis capable of reporting more rates then specified in max_rates.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ea229e682633a18c1fa2c408400a6923cfc47910",
      "tree": "db12c45737152b7aae91f05f3d1013057ea61563",
      "parents": [
        "663fcafd977f13e6483f7d4cf2ccdbc4fae81ed0"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Sep 30 21:21:25 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:23 2010 -0400"
      },
      "message": "cfg80211: remove spurious __KERNEL__ ifdef\n\nThe net/cfg80211.h header file isn\u0027t exported to\nuserspace, so there\u0027s no need for any kind of\n__KERNEL__ protection in it. If it was exported,\neverything else in it would need protection as\nwell, not just the logging stuff ...\n\nCc:Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "17e5a8082894a4b66cb69e7ec16074f0f01281e1",
      "tree": "604746f9c4aa8d77c41f1e22e9f553b5cdcfa823",
      "parents": [
        "0bda652300dff8136c9d889f1133462c7c7d332c"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Wed Sep 29 17:15:30 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:22 2010 -0400"
      },
      "message": "nl80211: allow drivers to indicate whether the survey data channel is in use\n\nSome user space applications only want to display survey data for\nthe operating channel, however there is no API to get that yet.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c61393ea83573ff422af505b6fd49ef9ec9b91ca",
      "tree": "4dbaf967e7293618205622776d553e37ec0a2f3e",
      "parents": [
        "1df9916e46451533463f227e6be57cc2cfca4c5f"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 04 20:17:53 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 00:47:39 2010 -0700"
      },
      "message": "ipv6: make __ipv6_isatap_ifid static\n\nAnother exported symbol only used in one file\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1df9916e46451533463f227e6be57cc2cfca4c5f",
      "tree": "e37eeef3f4a1b4e0fc760d5f8075b34d19e2e471",
      "parents": [
        "6a31d2a97c04ffe9b161ec0177a2296366ff9249"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 04 20:14:17 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 00:47:39 2010 -0700"
      },
      "message": "fib: fib_rules_cleanup can be static\n\nfib_rules_cleanup_ups is only defined and used in one place.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eecc545856c8a0f27783a440d25f4ceaa1f95ce8",
      "tree": "7dcfcb0c91c098c6233fb360e0d23cccdef20dc9",
      "parents": [
        "f68c53015c5b9aa98ffd87a34009f89bdbbd7160"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 04 23:24:21 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 04 23:24:21 2010 +0200"
      },
      "message": "netfilter: add missing xt_log.h file\n\nForgot to add xt_log.h in commit a8defca0 (netfilter: ipt_LOG:\nadd bufferisation to call printk() once)\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "21a180cda012e1f93e362dd4a9b0bfd3d8c92940",
      "tree": "0e0d10baa3fdcd8ffbc6881076ff1695808dad9d",
      "parents": [
        "c7d4426a98a5f6654cd0b4b33d9dab2e77192c18",
        "51e97a12bef19b7e43199fc153cf9bd5f2140362"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 04 11:56:38 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 04 11:56:38 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/ipv4/Kconfig\n\tnet/ipv4/tcp_timer.c\n"
    },
    {
      "commit": "0c200d935346fe0ebde9b6dffbb683dddd166fb9",
      "tree": "a880c12f3f68fd3abefd86bea8d445cab3c3c876",
      "parents": [
        "758ff03387228824617cef9507e5682488bf9e0c"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 04 20:53:18 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 04 20:53:18 2010 +0200"
      },
      "message": "netfilter: nf_nat: make find/put static\n\nThe functions nf_nat_proto_find_get and nf_nat_proto_put are\nonly used internally in nf_nat_core. This might break some out\nof tree NAT module.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "0d1e71b04a04b6912e50926b9987c1e72facb1f3",
      "tree": "1c431b2484ab9bb2911ba8e9e281783cbd922f06",
      "parents": [
        "8be67a6617b3403551fccb67b1c624c659419515"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:54 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: Allow configuration of persistence engines\n\nAllow the persistence engine of a virtual service to be set, edited\nand unset.\n\nThis feature only works with the netlink user-space interface.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "8be67a6617b3403551fccb67b1c624c659419515",
      "tree": "902f8092ab95dfd06a80bdaf90bb2e51e23f285b",
      "parents": [
        "a3c918acd29a96aba3b46bf50136e7953a480d17"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:54 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: management of persistence engine modules\n\nThis is based heavily on the scheduler management code\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "a3c918acd29a96aba3b46bf50136e7953a480d17",
      "tree": "570a5ea3a3fdef62b86e944ebcfcaf8b88ddb735",
      "parents": [
        "85999283a21ab2dd37427fdd8c8e8af57223977c"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:53 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: Add persistence engine data to /proc/net/ip_vs_conn\n\nThis shouldn\u0027t break compatibility with userspace as the new data\nis at the end of the line.\n\nI have confirmed that this doesn\u0027t break ipvsadm, the main (only?)\nuser-space user of this data.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "85999283a21ab2dd37427fdd8c8e8af57223977c",
      "tree": "a78ba043c23182d47cfe473a9a829d8608e2d526",
      "parents": [
        "2fabf35bfcd89445c54cf1e6a5437dd3cf924a92"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:53 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: Add struct ip_vs_pe\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "f11017ec2d1859c661f4e2b12c4a8d250e1f47cf",
      "tree": "07278dbced3c8c61b9e6bbe9c3d502c65b127f24",
      "parents": [
        "5b57a98c1f0d78a4c238d83c4ac70de3bd237b2f"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Aug 22 21:37:52 2010 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 04 22:45:24 2010 +0900"
      },
      "message": "IPVS: Add struct ip_vs_conn_param\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\n\n"
    },
    {
      "commit": "c7d4426a98a5f6654cd0b4b33d9dab2e77192c18",
      "tree": "0db2524e6f3f742861765dd6aa696a9271767056",
      "parents": [
        "9a7241c21b06c3a3f8ebcf3e347bd68556369da7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Oct 03 22:17:54 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 03 22:17:54 2010 -0700"
      },
      "message": "net: introduce DST_NOCACHE flag\n\nWhile doing stress tests with IP route cache disabled, and multi queue\ndevices, I noticed a very high contention on one rwlock used in\nneighbour code.\n\nWhen many cpus are trying to send frames (possibly using a high\nperformance multiqueue device) to the same neighbour, they fight for the\nneigh-\u003elock rwlock in order to call neigh_hh_init(), and fight on\nhh-\u003ehh_refcnt (a pair of atomic_inc/atomic_dec_and_test())\n\nBut we dont need to call neigh_hh_init() for dst that are used only\nonce. It costs four atomic operations at least, on two contended cache\nlines, plus the high contention on neigh-\u003elock rwlock.\n\nIntroduce a new dst flag, DST_NOCACHE, that is set when dst was not\ninserted in route cache.\n\nWith the stress test bench, sending 160000000 frames on one neighbour,\nresults are :\n\nBefore patch:\n\nreal\t2m28.406s\nuser\t0m11.781s\nsys\t36m17.964s\n\n\nAfter patch:\n\nreal\t1m26.532s\nuser\t0m12.185s\nsys\t20m3.903s\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41f4a6f71fe33faa7971c173c263fb431fe987fe",
      "tree": "fdc3e603162e3ad63f6ae4160f68eb803bb78d58",
      "parents": [
        "94d57c4cfaa43e29ca5fa5ff874048cfc67276f5",
        "1728943d83e9fd919e454332fe344944123b3c3a"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 01 11:12:36 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 01 11:12:36 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "367e5e376922dcf52f92e1db436010fb828d3bfa",
      "tree": "ee2fb2f50b23303a06b93492da2dea74b78cb263",
      "parents": [
        "bb7196d2bf30e4cb06fe5fed046c9084465e854c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 30 05:36:29 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 01 00:36:51 2010 -0700"
      },
      "message": "neigh: reorder fields in struct neighbour\n\nOn 64bit arches, there are two 32bit holes that we can remove.\n\nsizeof(struct neighbour) shrinks from 0xf8 to 0xf0 bytes\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e454c844644683571617896ab2a4ce0109c1943e",
      "tree": "fd8fbcb76608bce78062c6a74ff8e8b65b3e34ae",
      "parents": [
        "b0239c80fe89d5832a68a0f3121a9d5ec9fb763e"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Tue Sep 21 16:31:11 2010 -0300"
      },
      "committer": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Thu Sep 30 12:19:35 2010 -0300"
      },
      "message": "Bluetooth: Fix deadlock in the ERTM logic\n\nThe Enhanced Retransmission Mode(ERTM) is a realiable mode of operation\nof the Bluetooth L2CAP layer. Think on it like a simplified version of\nTCP.\nThe problem we were facing here was a deadlock. ERTM uses a backlog\nqueue to queue incomimg packets while the user is helding the lock. At\nsome moment the sk_sndbuf can be exceeded and we can\u0027t alloc new skbs\nthen the code sleep with the lock to wait for memory, that stalls the\nERTM connection once we can\u0027t read the acknowledgements packets in the\nbacklog queue to free memory and make the allocation of outcoming skb\nsuccessful.\n\nThis patch actually affect all users of bt_skb_send_alloc(), i.e., all\nL2CAP modes and SCO.\n\nWe are safe against socket states changes or channels deletion while the\nwe are sleeping wait memory. Checking for the sk-\u003esk_err and\nsk-\u003esk_shutdown make the code safe, since any action that can leave the\nsocket or the channel in a not usable state set one of the struct\nmembers at least. Then we can check both of them when getting the lock\nagain and return with the proper error if something unexpected happens.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nSigned-off-by: Ulisses Furquim \u003culisses@profusion.mobi\u003e\n"
    },
    {
      "commit": "1b9f409293529da4630bfc5d6d8e7d7451a6ccb5",
      "tree": "4ad4baa2cedaae93a3a3668e154b4f1cbd950791",
      "parents": [
        "a64de47c091e4a337fa9763315cb6f2fbf0c583b"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 28 19:30:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 29 19:45:36 2010 -0700"
      },
      "message": "tcp: tcp_enter_quickack_mode can be static\n\nFunction only used in tcp_input.c\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a64de47c091e4a337fa9763315cb6f2fbf0c583b",
      "tree": "e545dbaede640218956daf1bdd5d503986318861",
      "parents": [
        "bfa5ae63b823f4ffd3483a05f60a93a4a7b7d680"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 28 17:08:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 29 19:45:35 2010 -0700"
      },
      "message": "arp: remove unnecessary export of arp_broken_ops\n\narp_broken_ops is only used in arp.c\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4465b469008bc03b98a1b8df4e9ae501b6c69d4b",
      "tree": "89cd40165e62694e8ed84d4d60486350ebd8b992",
      "parents": [
        "fc34ecd07f15358e2b29620fafeb8a6a9528ce79"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Sun May 23 19:54:12 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 28 23:38:15 2010 -0700"
      },
      "message": "ipv4: Allow configuring subnets as local addresses\n\nThis patch allows a host to be configured to respond to any address in\na specified range as if it were local, without actually needing to\nconfigure the address on an interface.  This is done through routing\ntable configuration.  For instance, to configure a host to respond\nto any address in 10.1/16 received on eth0 as a local address we can do:\n\nip rule add from all iif eth0 lookup 200\nip route add local 10.1/16 dev lo proto kernel scope host src 127.0.0.1 table 200\n\nThis host is now reachable by any 10.1/16 address (route lookup on\ninput for packets received on eth0 can find the route).  On output, the\nrule will not be matched so that this host can still send packets to\n10.1/16 (not sent on loopback).  Presumably, external routing can be\nconfigured to make sense out of this.\n\nTo make this work, we needed to modify the logic in finding the\ninterface which is assigned a given source address for output\n(dev_ip_find).  We perform a normal fib_lookup instead of just a\nlookup on the local table, and in the lookup we ignore the input\ninterface for matching.\n\nThis patch is useful to implement IP-anycast for subnets of virtual\naddresses.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc01befdcf3e40979eb518085a075cbf0aacede0",
      "tree": "8d6c4352e135ade290f2ba0b68b45cbcffde8af8",
      "parents": [
        "8b008faf92ac8f7eeb65e8cd36077601af7c46db"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Sep 28 21:06:34 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Sep 28 21:06:34 2010 +0200"
      },
      "message": "netfilter: ctnetlink: add support for user-space expectation helpers\n\nThis patch adds the basic infrastructure to support user-space\nexpectation helpers via ctnetlink and the netfilter queuing\ninfrastructure NFQUEUE. Basically, this patch:\n\n* adds NF_CT_EXPECT_USERSPACE flag to identify user-space\n  created expectations. I have also added a sanity check in\n  __nf_ct_expect_check() to avoid that kernel-space helpers\n  may create an expectation if the master conntrack has no\n  helper assigned.\n* adds some branches to check if the master conntrack helper\n  exists, otherwise we skip the code that refers to kernel-space\n  helper such as the local expectation list and the expectation\n  policy.\n* allows to set the timeout for user-space expectations with\n  no helper assigned.\n* a list of expectations created from user-space that depends\n  on ctnetlink (if this module is removed, they are deleted).\n* includes USERSPACE in the /proc output for expectations\n  that have been created by a user-space helper.\n\nThis patch also modifies ctnetlink to skip including the helper\nname in the Netlink messages if no kernel-space helper is set\n(since no user-space expectation has not kernel-space kernel\nassigned).\n\nYou can access an example user-space FTP conntrack helper at:\nhttp://people.netfilter.org/pablo/userspace-conntrack-helpers/nf-ftp-helper-userspace-POC.tar.bz\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "290b895e0ba4552dfcfc4bd35759c192345b934a",
      "tree": "439ffccea9fa87b28b6af2a06e562cc5a0c01f80",
      "parents": [
        "af5ef241133b602a77b682009f112e7c3f7604e5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Sep 27 00:33:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 21:30:42 2010 -0700"
      },
      "message": "tunnels: prepare percpu accounting\n\nTunnels are going to use percpu for their accounting.\n\nThey are going to use a new tstats field in net_device.\n\nskb_tunnel_rx() is changed to be a wrapper around __skb_tunnel_rx()\n\nIPTUNNEL_XMIT() is changed to be a wrapper around __IPTUNNEL_XMIT()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d98efa84b790bdd62248eb0dfff17e9baf5c844",
      "tree": "1bf9c2f58502a930963579d50f3bcd49e5a8ed70",
      "parents": [
        "e40051d134f7ee95c8c1f7a3471e84eafc9ab326"
      ],
      "author": {
        "name": "Kumar Sanghvi",
        "email": "kumar.sanghvi@stericsson.com",
        "time": "Sun Sep 26 19:07:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 21:30:41 2010 -0700"
      },
      "message": "Phonet: Implement Pipe Controller to support Nokia Slim Modems\n\nPhonet stack assumes the presence of Pipe Controller, either in Modem or\non Application Processing Engine user-space for the Pipe data.\nNokia Slim Modems like WG2.5 used in ST-Ericsson U8500 platform do not\nimplement Pipe controller in them.\nThis patch adds Pipe Controller implemenation to Phonet stack to support\nPipe data over Phonet stack for Nokia Slim Modems.\n\nSigned-off-by: Kumar Sanghvi \u003ckumar.sanghvi@stericsson.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb0c5f0bc8b69b40549449ee7fc65f3706f12062",
      "tree": "f77a3ed449da953e65f919114c5ea1d4b2c85e88",
      "parents": [
        "7e1b33e5ea392dfc984fc63b76ca75acbf249dcd"
      ],
      "author": {
        "name": "Ulrich Weber",
        "email": "uweber@astaro.com",
        "time": "Mon Sep 27 03:31:00 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 15:03:33 2010 -0700"
      },
      "message": "tproxy: check for transparent flag in ip_route_newports\n\nas done in ip_route_connect()\n\nSigned-off-by: Ulrich Weber \u003cuweber@astaro.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "554891e63a29af35cc6bb403ef34e319518114d0",
      "tree": "2fdabf08455ea34697a853b3616cb92d9ef5b173",
      "parents": [
        "4080c7cdc23f26c6e6166a70f50fa43814552d81"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Sep 24 12:38:25 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 27 15:57:54 2010 -0400"
      },
      "message": "mac80211: move packet flags into packet\n\ncommit 8c0c709eea5cbab97fb464cd68b06f24acc58ee1\nAuthor: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nDate:   Wed Nov 25 17:46:15 2009 +0100\n\n    mac80211: move cmntr flag out of rx flags\n\nmoved the CMNTR flag into the skb RX flags for\nsome aggregation cleanups, but this was wrong\nsince the optimisation this flag tried to make\nrequires that it is kept across the processing\nof multiple interfaces -- which isn\u0027t true for\nflags in the skb. The patch not only broke the\noptimisation, it also introduced a bug: under\nsome (common!) circumstances the flag will be\nset on an already freed skb!\n\nHowever, investigating this in more detail, I\nfound that most of the flags that we set should\nbe per packet, _except_ for this one, due to\na-MPDU processing. Additionally, the flags used\nfor processing (currently just this one) need\nto be reset before processing a new packet.\n\nSince we haven\u0027t actually seen bugs reported as\na result of the wrong flags handling (which is\nnot too surprising -- the only real bug case I\ncan come up with is an a-MSDU contained in an\na-MPDU), I\u0027ll make a different fix for rc.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "686b9cb994f5f74be790df4cd12873dfdc8a6984",
      "tree": "960bae4d7613e4420c28d0c422e3c63c2a569ed3",
      "parents": [
        "295bafb47b0d365e1b4f747dffef29e590f13233"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Thu Sep 23 09:44:36 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 27 15:57:45 2010 -0400"
      },
      "message": "mac80211/ath9k: Support AMPDU with multiple VIFs.\n\nThe old ieee80211_find_sta_by_hw method didn\u0027t properly\nfind VIFS when there was more than one per AP.  This caused\nAMPDU logic in ath9k to get the wrong VIF when trying to\naccount for transmitted SKBs.\n\nThis patch changes ieee80211_find_sta_by_hw to take a\nlocaladdr argument to distinguish between VIFs with the\nsame AP but different local addresses.  The method name\nis changed to ieee80211_find_sta_by_ifaddr.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e40051d134f7ee95c8c1f7a3471e84eafc9ab326",
      "tree": "88eb44e49a75721ae926665a2c42f08badac9d07",
      "parents": [
        "42099d7a3941d4aaf853caac92b3ae76149fc6e7",
        "2cc6d2bf3d6195fabcf0febc192c01f99519a8f3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 01:03:03 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 01:03:03 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/qlcnic/qlcnic_init.c\n\tnet/ipv4/ip_output.c\n"
    },
    {
      "commit": "2cc6d2bf3d6195fabcf0febc192c01f99519a8f3",
      "tree": "6fbbaa255617783eda308a00a21065bc99ad0d21",
      "parents": [
        "bc68580d41b131396054a1a04a7df4948555ed97"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Fri Sep 24 09:55:52 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 26 19:09:25 2010 -0700"
      },
      "message": "ipv6: add a missing unregister_pernet_subsys call\n\nClean up a missing exit path in the ipv6 module init routines.  In\naddrconf_init we call ipv6_addr_label_init which calls register_pernet_subsys\nfor the ipv6_addr_label_ops structure.  But if module loading fails, or if the\nipv6 module is removed, there is no corresponding unregister_pernet_subsys call,\nwhich leaves a now-bogus address on the pernet_list, leading to oopses in\nsubsequent registrations.  This patch cleans up both the failed load path and\nthe unload path.  Tested by myself with good results.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n\n include/net/addrconf.h |    1 +\n net/ipv6/addrconf.c    |   11 ++++++++---\n net/ipv6/addrlabel.c   |    5 +++++\n 3 files changed, 14 insertions(+), 3 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a91b434e2bad554b709265db7603b1aa52dd92e",
      "tree": "00f51e051922fbaf2ca93e40d0059e5fbb86b2f1",
      "parents": [
        "807540baae406c84dcb9c1c8ef07a56d2d2ae84a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Sep 26 18:53:07 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 26 18:53:07 2010 -0700"
      },
      "message": "net: update SOCK_MIN_RCVBUF\n\nSOCK_MIN_RCVBUF current value is 256 bytes\n\nIt doesnt permit to receive the smallest possible frame, considering\nsocket sk_rmem_alloc/sk_rcvbuf account skb truesizes. On 64bit arches,\nsizeof(struct sk_buff) is 240 bytes. Add the typical 64 bytes of\nheadroom, and we go over the limit.\n\nWith old kernels and 32bit arches, we were under the limit, if netdriver\nwas doing copybreak.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "693019e90ca45d881109d32c0c6d29adf03f6447",
      "tree": "76142f67118da6998584172d609a32d989bfccc8",
      "parents": [
        "a3d6713fbd2ccb50898a6f88664da96a7857c039"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Thu Sep 23 11:19:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 26 18:48:40 2010 -0700"
      },
      "message": "net: reset skb queue mapping when rx\u0027ing over tunnel\n\nReset queue mapping when an skb is reentering the stack via a tunnel.\nOn second pass, the queue mapping from the original device is no\nlonger valid.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb7d3066cf864342e8ae6a5c1126a1602c4d06c0",
      "tree": "85c7a4f11d06d1c90a3bcba05adc7df1eb3f2823",
      "parents": [
        "ed627be38a1a07c6986a9f17c299f6afc86ac6b7"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@googlemail.com",
        "time": "Tue Sep 21 21:36:18 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 24 15:54:30 2010 -0400"
      },
      "message": "mac80211: clear txflags for ps-filtered frames\n\nThis patch fixes stale mac80211_tx_control_flags for\nfiltered / retried frames.\n\nBecause ieee80211_handle_filtered_frame feeds skbs back\ninto the tx path, they have to be stripped of some tx\nflags so they won\u0027t confuse the stack, driver or device.\n\nCc: \u003cstable@kernel.org\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a02cec2155fbea457eca8881870fd2de1a4c4c76",
      "tree": "cfbfc4b32bfe10f9cd803d46c31607d13f1858f5",
      "parents": [
        "6a08d194ee40806e0ccd5f36ed768e64cbfc979f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 22 20:43:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 23 14:33:39 2010 -0700"
      },
      "message": "net: return operator cleanup\n\nChange \"return (EXPR);\" to \"return EXPR;\"\n\nreturn is not a function, parentheses are not required.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "8b008faf92ac8f7eeb65e8cd36077601af7c46db"
}
