)]}'
{
  "log": [
    {
      "commit": "3b87956ea645fb4de7e59c7d0aa94de04be72615",
      "tree": "0dde04e6dfad7cd76afbb31eff72a8f08a574a9c",
      "parents": [
        "76ac21f5ef30e46397e405695eb1240ff0955209"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Jul 22 18:45:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 24 21:04:20 2010 -0700"
      },
      "message": "net sched: fix race in mirred device removal\n\nThis fixes hang when target device of mirred packet classifier\naction is removed.\n\nIf a mirror or redirection action is configured to cause packets\nto go to another device, the classifier holds a ref count, but was assuming\nthe adminstrator cleaned up all redirections before removing. The fix\nis to add a notifier and cleanup during unregister.\n\nThe new list is implicitly protected by RTNL mutex because\nit is held during filter add/delete as well as notifier.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0f77d0eae0c58a5a9691a067ada112ceeae2d00",
      "tree": "2bab159a95f51e32dbb4eb2d554328de3190c678",
      "parents": [
        "91a72a70594e5212c97705ca6a694bd307f7a26b"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Wed Jul 14 20:50:29 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 14 20:50:29 2010 -0700"
      },
      "message": "net: fix problem in reading sock TX queue\n\nFix problem in reading the tx_queue recorded in a socket.  In\ndev_pick_tx, the TX queue is read by doing a check with\nsk_tx_queue_recorded on the socket, followed by a sk_tx_queue_get.\nThe problem is that there is not mutual exclusion across these\ncalls in the socket so it it is possible that the queue in the\nsock can be invalidated after sk_tx_queue_recorded is called so\nthat sk_tx_queue get returns -1, which sets 65535 in queue_index\nand thus dev_pick_tx returns 65536 which is a bogus queue and\ncan cause crash in dev_queue_xmit.\n\nWe fix this by only calling sk_tx_queue_get which does the proper\nchecks.  The interface is that sk_tx_queue_get returns the TX queue\nif the sock argument is non-NULL and TX queue is recorded, else it\nreturns -1.  sk_tx_queue_recorded is no longer used so it can be\ncompletely removed.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0796d5c73e59786d09a1e617689d1d415f2db44",
      "tree": "ecb17c65c5b6a162824a1e11fee24364852837f8",
      "parents": [
        "4ef6acff83222f4496ceef7d1f0ee9e50a5bb403"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Thu Jul 01 13:21:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 02 21:59:07 2010 -0700"
      },
      "message": "net: decreasing real_num_tx_queues needs to flush qdisc\n\nReducing real_num_queues needs to flush the qdisc otherwise\nskbs with queue_mappings greater then real_num_tx_queues can\nbe sent to the underlying driver.\n\nThe flow for this is,\n\ndev_queue_xmit()\n\tdev_pick_tx()\n\t\tskb_tx_hash()  \u003d\u003e hash using real_num_tx_queues\n\t\tskb_set_queue_mapping()\n\t...\n\tqdisc_enqueue_root() \u003d\u003e enqueue skb on txq from hash\n...\ndev-\u003ereal_num_tx_queues -\u003d n\n...\nsch_direct_xmit()\n\tdev_hard_start_xmit()\n\t\tndo_start_xmit(skb,dev) \u003d\u003e skb queue set with old hash\n\nskbs are enqueued on the qdisc with skb-\u003equeue_mapping set\n0 \u003c queue_mappings \u003c real_num_tx_queues.  When the driver\ndecreases real_num_tx_queues skb\u0027s may be dequeued from the\nqdisc with a queue_mapping greater then real_num_tx_queues.\n\nThis fixes a case in ixgbe where this was occurring with DCB\nand FCoE. Because the driver is using queue_mapping to map\nskbs to tx descriptor rings we can potentially map skbs to\nrings that no longer exist.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ef6acff83222f4496ceef7d1f0ee9e50a5bb403",
      "tree": "0982d46258047f208c26068252457179f5f13bdf",
      "parents": [
        "7ae80abdba0644e12ac17da567a2db1efc1bf8a8"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Thu Jul 01 13:21:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 02 21:59:07 2010 -0700"
      },
      "message": "sched: qdisc_reset_all_tx is calling qdisc_reset without qdisc_lock\n\nWhen calling qdisc_reset() the qdisc lock needs to be held.  In\nthis case there is at least one driver i4l which is using this\nwithout holding the lock.  Add the locking here.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4efd7e833591721bec21cc4730a7f6261417840f",
      "tree": "9982ea86ad73f1142842070f4d9d1bf83ba318a0",
      "parents": [
        "d3ead2413cb99d3e6265577b12537434e229d8c2"
      ],
      "author": {
        "name": "Andreas Steffen",
        "email": "andreas.steffen@strongswan.org",
        "time": "Wed Jun 30 10:41:15 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 30 10:43:31 2010 -0700"
      },
      "message": "xfrm: fix XFRMA_MARK extraction in xfrm_mark_get\n\nDetermine the size of the xfrm_mark struct, not of its pointer.\n\nSigned-off-by: Andreas Steffen \u003candreas.steffen@strongswan.org\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f1c14b2e3b1805d3e9e6a306d07f5371ea703a7",
      "tree": "ad5d96e60d1ff4e91f5b23d7ae13884581ae2441",
      "parents": [
        "8ceedea7c2600a1018d20f67e766c0773b59391a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jun 23 00:32:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 23 11:48:19 2010 -0700"
      },
      "message": "snmp: fix SNMP_ADD_STATS()\n\ncommit aa2ea0586d9d (tcp: fix outsegs stat for TSO segments) incorrectly\nassumed SNMP_ADD_STATS() was used from BH context.\n\nFix this using mib[!in_softirq()] instead of mib[0]\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8764ab2ca7ab5055e1ca80f9cfa4970c34acb804",
      "tree": "ca0a6ea6c6fabbb98220f5b700981f7f23855f42",
      "parents": [
        "4f4aeb7fd0f7e6ca008bb2147ba36cee13876595"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Fri Jun 04 01:57:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 04 15:56:00 2010 -0700"
      },
      "message": "net: check for refcount if pop a stacked dst_entry\n\nxfrm triggers a warning if dst_pop() drops a refcount\non a noref dst. This patch changes dst_pop() to\nskb_dst_pop(). skb_dst_pop() drops the refcnt only\non a refcounted dst. Also we don\u0027t clone the child\ndst_entry, so it is not refcounted and we can use\nskb_dst_set_noref() in xfrm_output_one().\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1faf5666438090a4dc4fceac8502edc7788b7e3",
      "tree": "f90808dea27cc38aff6feed1782e2a5666fa6ee9",
      "parents": [
        "bc284f94f84c3d76e49c6f3df9028c503f9589d9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 31 23:44:05 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 31 23:44:05 2010 -0700"
      },
      "message": "net: sock_queue_err_skb() dont mess with sk_forward_alloc\n\nCorrect sk_forward_alloc handling for error_queue would need to use a\nbacklog of frames that softirq handler could not deliver because socket\nis owned by user thread. Or extend backlog processing to be able to\nprocess normal and error packets.\n\nAnother possibility is to not use mem charge for error queue, this is\nwhat I implemented in this patch.\n\nNote: this reverts commit 29030374\n(net: fix sk_forward_alloc corruptions), since we dont need to lock\nsocket anymore.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72da3bc0cb3e82bd95f278a0c5c988e506e56d13",
      "tree": "db4bf9f9265be3216dfb3d65b49e53d8448e13e2",
      "parents": [
        "8507bb0062bff1431bbcce921efe5cd1186fcff2",
        "045de01a174d9f0734f657eb4b3313d89b4fd5ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 10:18:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 10:18:40 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: (22 commits)\n  netlink: bug fix: wrong size was calculated for vfinfo list blob\n  netlink: bug fix: don\u0027t overrun skbs on vf_port dump\n  xt_tee: use skb_dst_drop()\n  netdev/fec: fix ifconfig eth0 down hang issue\n  cnic: Fix context memory init. on 5709.\n  drivers/net: Eliminate a NULL pointer dereference\n  drivers/net/hamradio: Eliminate a NULL pointer dereference\n  be2net: Patch removes redundant while statement in loop.\n  ipv6: Add GSO support on forwarding path\n  net: fix __neigh_event_send()\n  vhost: fix the memory leak which will happen when memory_access_ok fails\n  vhost-net: fix to check the return value of copy_to/from_user() correctly\n  vhost: fix to check the return value of copy_to/from_user() correctly\n  vhost: Fix host panic if ioctl called with wrong index\n  net: fix lock_sock_bh/unlock_sock_bh\n  net/iucv: Add missing spin_unlock\n  net: ll_temac: fix checksum offload logic\n  net: ll_temac: fix interrupt bug when interrupt 0 is used\n  sctp: dubious bitfields in sctp_transport\n  ipmr: off by one in __ipmr_fill_mroute()\n  ...\n"
    },
    {
      "commit": "8a74ad60a546b13bd1096b2a61a7a5c6fd9ae17c",
      "tree": "3110e7e59883597b5d0f617e8507e15b8f965f3f",
      "parents": [
        "a56635a56f2afb3d22d9ce07e8f8d69537416b2d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed May 26 19:20:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 27 00:30:53 2010 -0700"
      },
      "message": "net: fix lock_sock_bh/unlock_sock_bh\n\nThis new sock lock primitive was introduced to speedup some user context\nsocket manipulation. But it is unsafe to protect two threads, one using\nregular lock_sock/release_sock, one using lock_sock_bh/unlock_sock_bh\n\nThis patch changes lock_sock_bh to be careful against \u0027owned\u0027 state.\nIf owned is found to be set, we must take the slow path.\nlock_sock_bh() now returns a boolean to say if the slow path was taken,\nand this boolean is used at unlock_sock_bh time to call the appropriate\nunlock function.\n\nAfter this change, BH are either disabled or enabled during the\nlock_sock_bh/unlock_sock_bh protected section. This might be misleading,\nso we rename these functions to lock_sock_fast()/unlock_sock_fast().\n\nReported-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff937938e7781b2c1bffce0a5400af308e3946d5",
      "tree": "70a5ccf25d967d93f4a47ab30d25b0b81e538cd5",
      "parents": [
        "ed0f160ad674407adb3aba499444f71c83289c63"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed May 26 00:40:11 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 26 00:40:11 2010 -0700"
      },
      "message": "sctp: dubious bitfields in sctp_transport\n\nSparse complains because these one-bit bitfields are signed.\n  include/net/sctp/structs.h:879:24: error: dubious one-bit signed bitfield\n  include/net/sctp/structs.h:889:31: error: dubious one-bit signed bitfield\n  include/net/sctp/structs.h:895:26: error: dubious one-bit signed bitfield\n  include/net/sctp/structs.h:898:31: error: dubious one-bit signed bitfield\n  include/net/sctp/structs.h:901:27: error: dubious one-bit signed bitfield\n\nIt doesn\u0027t cause a problem in the current code, but it would be better\nto clean it up.  This was introduced by c0058a35aacc7: \"sctp: Save some\nroom in the sctp_transport by using bitfields\".\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea16f912a6ad9fe43131a2e2a108f089c432d510",
      "tree": "ebd5a0663fb5c8fd030fe84a05fb3fb09382b822",
      "parents": [
        "f925b1303e0672effc78547353bd2ddfe11f5b5f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 25 18:53:57 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 25 18:53:57 2010 -0700"
      },
      "message": "cls_cgroup: Initialise classid when module is absent\n\nWhen the cls_cgroup module is not loaded, task_cls_classid will\nreturn an uninitialised classid instead of zero.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1cdc4670b9508fcd47a15fbd12f70d269880b37",
      "tree": "fea9e2650170886d539488f8b1e064f6ca60ad36",
      "parents": [
        "ce7d0226198aac42ed311dd2783232adc16b296d",
        "f925b1303e0672effc78547353bd2ddfe11f5b5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 16:59:51 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 16:59:51 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: (63 commits)\n  drivers/net/usb/asix.c: Fix pointer cast.\n  be2net: Bug fix to avoid disabling bottom half during firmware upgrade.\n  proc_dointvec: write a single value\n  hso: add support for new products\n  Phonet: fix potential use-after-free in pep_sock_close()\n  ath9k: remove VEOL support for ad-hoc\n  ath9k: change beacon allocation to prefer the first beacon slot\n  sock.h: fix kernel-doc warning\n  cls_cgroup: Fix build error when built-in\n  macvlan: do proper cleanup in macvlan_common_newlink() V2\n  be2net: Bug fix in init code in probe\n  net/dccp: expansion of error code size\n  ath9k: Fix rx of mcast/bcast frames in PS mode with auto sleep\n  wireless: fix sta_info.h kernel-doc warnings\n  wireless: fix mac80211.h kernel-doc warnings\n  iwlwifi: testing the wrong variable in iwl_add_bssid_station()\n  ath9k_htc: rare leak in ath9k_hif_usb_alloc_tx_urbs()\n  ath9k_htc: dereferencing before check in hif_usb_tx_cb()\n  rt2x00: Fix rt2800usb TX descriptor writing.\n  rt2x00: Fix failed SLEEP-\u003eAWAKE and AWAKE-\u003eSLEEP transitions.\n  ...\n"
    },
    {
      "commit": "a261af927df64523925c98369106de15af9d7b5e",
      "tree": "3c8fb8be59b8a4733eb5b63ecf567976185c9f58",
      "parents": [
        "acfbe96a3035639619a6533e04d88ed4ef9ccb61",
        "a65e4cb402b5f3e120570ba1faca4354d47e8f2f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 25 13:15:11 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 25 13:15:11 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "4be929be34f9bdeffa40d815d32d7d60d2c7f03b",
      "tree": "4d2c6e2b8ef766e565e2e050ee151de2e02081d3",
      "parents": [
        "940370fc86b920b51a34217a1facc3e9e97c2456"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 24 14:33:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "kernel-wide: replace USHORT_MAX, SHORT_MAX and SHORT_MIN with USHRT_MAX, SHRT_MAX and SHRT_MIN\n\n- C99 knows about USHRT_MAX/SHRT_MAX/SHRT_MIN, not\n  USHORT_MAX/SHORT_MAX/SHORT_MIN.\n\n- Make SHRT_MIN of type s16, not int, for consistency.\n\n[akpm@linux-foundation.org: fix drivers/dma/timb_dma.c]\n[akpm@linux-foundation.org: fix security/keys/keyring.c]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "acfbe96a3035639619a6533e04d88ed4ef9ccb61",
      "tree": "9d0b93aef75b2a11acff9b4d240d5f3e9896f3e0",
      "parents": [
        "937eada45fa7bd233dfa59bbd8c0b436b02b6491"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon May 24 23:54:18 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 24 23:54:18 2010 -0700"
      },
      "message": "sock.h: fix kernel-doc warning\n\nFix sock.h kernel-doc warning:\nWarning(include/net/sock.h:1438): No description found for parameter \u0027wq\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "937eada45fa7bd233dfa59bbd8c0b436b02b6491",
      "tree": "9cba6c42ae469d6f157a737d706d5edec08b37d8",
      "parents": [
        "f16d3d57486cd079b29ae7a6c3b31c90e69c9c44"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon May 24 23:53:37 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 24 23:53:37 2010 -0700"
      },
      "message": "cls_cgroup: Fix build error when built-in\n\nThere is a typo in cgroup_cls_state when cls_cgroup is built-in.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e8998f09bd777f99ea3dae6f87f2c367979e6c0",
      "tree": "207b06ef542375db76ac7c35ce63da019fc7a4f0",
      "parents": [
        "96900c751dd16fc9455e7184cbe8758ac7aa7e79"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri May 21 11:28:33 2010 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 24 15:07:42 2010 -0400"
      },
      "message": "wireless: fix mac80211.h kernel-doc warnings\n\nFix kernel-doc warnings in mac80211.h:\n\nWarning(include/net/mac80211.h:838): No description found for parameter \u0027ap_addr\u0027\nWarning(include/net/mac80211.h:1726): No description found for parameter \u0027get_survey\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3dc3fc52ea1537f5f37ab301d2b1468a0e79988f",
      "tree": "1d958b8f26d09c26ff4e3b05c4126e75c8f799da",
      "parents": [
        "617f3d0d71e2eae4d8d475cefe9363b140e52083"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 24 13:36:37 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 24 14:59:27 2010 -0400"
      },
      "message": "Revert \"ath9k: Group Key fix for VAPs\"\n\nThis reverts commit 03ceedea972a82d343fa5c2528b3952fa9e615d5.\n\nThis patch was reported to cause a regression in which connectivity is\nlost and cannot be reestablished after a suspend/resume cycle.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a69eee4988752c7196677958b4ed8f4c2b28499a",
      "tree": "b676b8a05e10f5003d17091fc7085fad29910702",
      "parents": [
        "3e766fd41ddc31c47ec5b2840c6a45803d35ff40"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:45:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:45:43 2010 -0700"
      },
      "message": "Revert \"ath9k: Group Key fix for VAPs\"\n\nThis reverts commit 03ceedea972a82d343fa5c2528b3952fa9e615d5, since it\nbreaks resume from suspend-to-ram on Rafael\u0027s Acer Ferrari One.\nNetworkManager thinks everything is ok, but it can\u0027t connect to the AP\nto get an IP address after the resume.\n\nIn fact, it even breaks resume for non-ath9k chipsets: reverting it also\nfixes Rafael\u0027s Toshiba Protege R500 with the iwlagn driver.  As Johannes\nsays:\n\n  \"Indeed, this patch needs to be reverted. That mac80211 change is wrong\n   and completely unnecessary.\"\n\nReported-and-requested-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Daniel Yingqiang Ma \u003cyma.cool@gmail.com\u003e\nCc: John W. Linville \u003clinville@tuxdriver.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f845172531fb7410c7fb7780b1a6e51ee6df7d52",
      "tree": "ef1030d0ad9d9dbc8fe800a145c587f04be50ade",
      "parents": [
        "eda6e6f86b5f95b982ac7ebf7cf5be2a29a291e9"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon May 24 00:12:34 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 24 00:12:34 2010 -0700"
      },
      "message": "cls_cgroup: Store classid in struct sock\n\nUp until now cls_cgroup has relied on fetching the classid out of\nthe current executing thread.  This runs into trouble when a packet\nprocessing is delayed in which case it may execute out of another\nthread\u0027s context.\n\nFurthermore, even when a packet is not delayed we may fail to\nclassify it if soft IRQs have been disabled, because this scenario\nis indistinguishable from one where a packet unrelated to the\ncurrent thread is processed by a real soft IRQ.\n\nIn fact, the current semantics is inherently broken, as a single\nskb may be constructed out of the writes of two different tasks.\nA different manifestation of this problem is when the TCP stack\ntransmits in response of an incoming ACK.  This is currently\nunclassified.\n\nAs we already have a concept of packet ownership for accounting\npurposes in the skb-\u003esk pointer, this is a natural place to store\nthe classid in a persistent manner.\n\nThis patch adds the cls_cgroup classid in struct sock, filling up\nan existing hole on 64-bit :)\n\nThe value is set at socket creation time.  So all sockets created\nvia socket(2) automatically gains the ID of the thread creating it.\nWhenever another process touches the socket by either reading or\nwriting to it, we will change the socket classid to that of the\nprocess if it has a valid (non-zero) classid.\n\nFor sockets created on inbound connections through accept(2), we\ninherit the classid of the original listening socket through\nsk_clone, possibly preceding the actual accept(2) call.\n\nIn order to minimise risks, I have not made this the authoritative\nclassid.  For now it is only used as a backup when we execute\nwith soft IRQs disabled.  Once we\u0027re completely happy with its\nsemantics we can use it as the sole classid.\n\nFootnote: I have rearranged the error path on cls_group module\ncreation.  If we didn\u0027t do this, then there is a window where\nsomeone could create a tc rule using cls_group before the cgroup\nsubsystem has been registered.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7aecf4944f2c05aafb73b4820e469c74b4ec8517",
      "tree": "b3237c96401a0f35c76798c1b04b19eef129a6da",
      "parents": [
        "9e4b816bc31962ebbb8784d602acd5fa25a08ad8"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Fri May 21 02:16:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 23 23:57:41 2010 -0700"
      },
      "message": "caif: Bugfix - use standard Linux lists\n\nDiscovered bug when running high number of parallel connect requests.\nReplace buggy home brewed list with linux/list.h.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4681dbdacb5cdc4d3273c3a97a1858d6e00a5fe7",
      "tree": "e29be0d9f98caa7ee176cf0a1a3c3a22fca4934d",
      "parents": [
        "bda8e7752063cdbdd1d308bc1705400a8cec1aeb"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Thu Mar 25 12:47:26 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri May 21 16:44:34 2010 -0500"
      },
      "message": "9p: add 9P2000.L rename operation\n\nI made a V2 of this patch on top of my patches for VFS switches.\nAll the changes were due to change in some offsets.\n\nrename - change name of file or directory\n\nsize[4] Trename tag[2] fid[4] newdirfid[4] name[s]\nsize[4] Rrename tag[2]\n\nThe rename message is used to change the name of a file, possibly moving it\nto a new directory.  The 9P wstat message can only rename a file within the\nsame directory.\n\nSigned-off-by: Jim Garlick \u003cgarlick@llnl.gov\u003e\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "bda8e7752063cdbdd1d308bc1705400a8cec1aeb",
      "tree": "cfc751da04d3ffe46d7b7e935f7ceb21b1f8a8d0",
      "parents": [
        "9b6533c9b331ddbba9a40c972d82222ecffbc359"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Thu Mar 25 12:45:30 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri May 21 16:44:33 2010 -0500"
      },
      "message": "9p: add 9P2000.L statfs operation\n\nI made a V2 of this patch on top of my patches for VFS switches. The\nchange was adding v9fs_statfs pointer to v9fs_super_ops_dotl\ninstead of v9fs_super_ops.\n\nstatfs - get file system statistics\n\nsize[4] Tstatfs tag[2] fid[4]\nsize[4] Rstatfs tag[2] type[4] bsize[4] blocks[8] bfree[8] bavail[8]\n                files[8] ffree[8] fsid[8] namelen[4]\n\nThe statfs message is used to request file system information returned\nby the statfs(2) system call, which is used by df(1) to report file\nsystem and disk space usage.\n\nSigned-off-by: Jim Garlick \u003cgarlick@llnl.gov\u003e\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "41499bd6766314079417d1467c466d31b8612fec",
      "tree": "5ce777cd47603977ee55059891c67b8a420e05a1",
      "parents": [
        "622e0ca1cd4d459f5af4f2c65f4dc0dd823cb4c3",
        "7ea7b858f4bc4fa1645f1327cf9e72c93981aa58"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 20 23:12:18 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 20 23:12:18 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "fc350777c705a39a312728ac5e8a6f164a828f5d",
      "tree": "62aa121cd62e416a505d35de9b5d77ab8ae89f66",
      "parents": [
        "a1d7c1b4b8dfbc5ecadcff9284d64bb6ad4c0196"
      ],
      "author": {
        "name": "Joerg Marx",
        "email": "joerg.marx@secunet.com",
        "time": "Thu May 20 15:55:30 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu May 20 15:55:30 2010 +0200"
      },
      "message": "netfilter: nf_conntrack: fix a race in __nf_conntrack_confirm against nf_ct_get_next_corpse()\n\nThis race was triggered by a \u0027conntrack -F\u0027 command running in parallel\nto the insertion of a hash for a new connection. Losing this race led to\na dead conntrack entry effectively blocking traffic for a particular\nconnection until timeout or flushing the conntrack hashes again.\nNow the check for an already dying connection is done inside the lock.\n\nSigned-off-by: Joerg Marx \u003cjoerg.marx@secunet.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "e9d3e084975869754d16f639378675c353560be9",
      "tree": "3f933fea12746b24247ccec79cb4a1fbdf50833b",
      "parents": [
        "e29f5dbc9e9719af158a960e5c1d16f32740ebc3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 18 15:36:06 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 18 15:36:06 2010 -0700"
      },
      "message": "ipv6: Replace inet6_ifaddr-\u003edead with state\n\nThis patch replaces the boolean dead flag on inet6_ifaddr with\na state enum.  This allows us to roll back changes when deleting\nan address according to whether DAD has completed or not.\n\nThis patch only adds the state field and does not change the logic.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d19d56ddc88e7895429ef118db9c83c7bbe3ce6a",
      "tree": "c0db76f3527c88c95a8793c871f62d628fb3fd1d",
      "parents": [
        "de213e5eedecdfb1b1eea7e6be28bc64cac5c078"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 17 22:36:55 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 22:36:55 2010 -0700"
      },
      "message": "net: Introduce skb_tunnel_rx() helper\n\nskb rxhash should be cleared when a skb is handled by a tunnel before\nbeing delivered again, so that correct packet steering can take place.\n\nThere are other cleanups and accounting that we can factorize in a new\nhelper, skb_tunnel_rx()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "820ae8a80eb59962aefbbd4908dfe144ec0f9edb",
      "tree": "6c0f7356afff14e1c7d266de644810cd2de7caa9",
      "parents": [
        "380fefb2ddabd4cd5f14dbe090481f0544e65078",
        "6fe70aae0d128339febfabc073ba4c4a03de4f45"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 21:09:11 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 21:09:11 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": "37cda78741ecdbf45dd9b64e4c99dbdb11b47b46",
      "tree": "ee213ce9347bc7434717092e600f970d919ceceb",
      "parents": [
        "b7792e34cba641c49cd436d42fbfd2a632ff39d3"
      ],
      "author": {
        "name": "andrew hendry",
        "email": "andrew.hendry@gmail.com",
        "time": "Sun May 16 23:00:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 17:39:27 2010 -0700"
      },
      "message": "X25: Move accept approve flag to bitfield\n\nMoves the x25 accept approve flag from char into bitfield.\n\nSigned-off-by: Andrew Hendry \u003candrew.hendry@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7792e34cba641c49cd436d42fbfd2a632ff39d3",
      "tree": "f880770915e06678b287f1c6c7d16702677c6aef",
      "parents": [
        "cb863ffd4a04f9f8619f52c01d472a64ccc716bd"
      ],
      "author": {
        "name": "andrew hendry",
        "email": "andrew.hendry@gmail.com",
        "time": "Sun May 16 23:00:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 17:39:27 2010 -0700"
      },
      "message": "X25: Move interrupt flag to bitfield\n\nMoves the x25 interrupt flag from char into bitfield.\n\nSigned-off-by: Andrew Hendry \u003candrew.hendry@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb863ffd4a04f9f8619f52c01d472a64ccc716bd",
      "tree": "c65de60a93641c36057b1e10accda36a54f64d76",
      "parents": [
        "c89af1a30870e04986e2c8d24c0c765de0935f4b"
      ],
      "author": {
        "name": "andrew hendry",
        "email": "andrew.hendry@gmail.com",
        "time": "Sun May 16 22:59:41 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 17:39:26 2010 -0700"
      },
      "message": "X25: Move qbit flag to bitfield\n\nMoves the X25 q bit flag from char into a bitfield to allow BKL cleanup.\n\nSigned-off-by: Andrew Hendry \u003candrew.hendry@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "407eadd996dc62a827db85f1d0c286a98fd5d336",
      "tree": "199b695cd045650b939aab61cbb55c31d9165b4e",
      "parents": [
        "7fee226ad2397b635e2fd565a59ca3ae08a164cd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 10 11:32:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 17:18:51 2010 -0700"
      },
      "message": "net: implements ip_route_input_noref()\n\nip_route_input() is the version returning a refcounted dst, while\nip_route_input_noref() returns a non refcounted one.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7fee226ad2397b635e2fd565a59ca3ae08a164cd",
      "tree": "0bcd26150ad74ec1a237109de87a3d214a07fc22",
      "parents": [
        "ebda37c27d0c768947e9b058332d7ea798210cf8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue May 11 23:19:48 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 17:18:50 2010 -0700"
      },
      "message": "net: add a noref bit on skb dst\n\nUse low order bit of skb-\u003e_skb_dst to tell dst is not refcounted.\n\nChange _skb_dst to _skb_refdst to make sure all uses are catched.\n\nskb_dst() returns the dst, regardless of noref bit set or not, but\nwith a lockdep check to make sure a noref dst is not given if current\nuser is not rcu protected.\n\nNew skb_dst_set_noref() helper to set an notrefcounted dst on a skb.\n(with lockdep check)\n\nskb_dst_drop() drops a reference only if skb dst was refcounted.\n\nskb_dst_force() helper is used to force a refcount on dst, when skb\nis queued and not anymore RCU protected.\n\nUse skb_dst_force() in __sk_add_backlog(), __dev_xmit_skb() if\n!IFF_XMIT_DST_RELEASE or skb enqueued on qdisc queue, in\nsock_queue_rcv_skb(), in __nf_queue().\n\nUse skb_dst_force() in dev_requeue_skb().\n\nNote: dst_use_noref() still dirties dst, we might transform it\nlater to do one dirtying per jiffies.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fe70aae0d128339febfabc073ba4c4a03de4f45",
      "tree": "711dff90df5ca4e07b5bddf11b2819e5cf2b7a93",
      "parents": [
        "278554bd6579206921f5d8a523649a7a57f8850d",
        "0c348d7c1422d59a86d6fb37b53d75788043e50b"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 17 13:57:43 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 17 13:57:43 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": "6811d58fc148c393f80a9f5a9db49d7e75cdc546",
      "tree": "c25d5b0e49ec848943d35f819e748d157ccb492e",
      "parents": [
        "c4949f074332a64baeb2ead6ab9319ca37642f96",
        "c02db8c6290bb992442fec1407643c94cc414375"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 22:26:58 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 22:26:58 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tinclude/linux/if_link.h\n"
    },
    {
      "commit": "a465419b1febb603821f924805529cff89cafeed",
      "tree": "5131fa2dbf624ebeb6cf61bf4dc1bc9464fe0bbd",
      "parents": [
        "3b098e2d7c693796cc4dffb07caa249fc0f70771"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun May 16 00:36:33 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 00:36:33 2010 -0700"
      },
      "message": "net: Introduce sk_route_nocaps\n\nTCP-MD5 sessions have intermittent failures, when route cache is\ninvalidated. ip_queue_xmit() has to find a new route, calls\nsk_setup_caps(sk, \u0026rt-\u003eu.dst), destroying the \n\nsk-\u003esk_route_caps \u0026\u003d ~NETIF_F_GSO_MASK\n\nthat MD5 desperately try to make all over its way (from\ntcp_transmit_skb() for example)\n\nSo we send few bad packets, and everything is fine when\ntcp_transmit_skb() is called again for this socket.\n\nSince ip_queue_xmit() is at a lower level than TCP-MD5, I chose to use a\nsocket field, sk_route_nocaps, containing bits to mask on sk_route_caps.\n\nReported-by: Bhaskar Dutta \u003cbhaskie@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "35790c0421121364883a167bab8a2e37e1f67f78",
      "tree": "a3e032a9ba6bb77337176bef407d7408d6a10a4d",
      "parents": [
        "d77f873fdd21912803836da78f627d2efd267082"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun May 16 00:34:04 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 00:34:04 2010 -0700"
      },
      "message": "tcp: fix MD5 (RFC2385) support\n\nTCP MD5 support uses percpu data for temporary storage. It currently\ndisables preemption so that same storage cannot be reclaimed by another\nthread on same cpu.\n\nWe also have to make sure a softirq handler wont try to use also same\ncontext. Various bug reports demonstrated corruptions.\n\nFix is to disable preemption and BH.\n\nReported-by: Bhaskar Dutta \u003cbhaskie@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3826f1e946e7d2354943232f1457be1455a29e2",
      "tree": "a34055c7de762410b6a10c21ab5e1999fb38803b",
      "parents": [
        "9f977fb7ae9ddf565b4800854212fb9a1ed6c2ea"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Wed May 05 00:27:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 15 23:28:40 2010 -0700"
      },
      "message": "net: reserve ports for applications using fixed port numbers\n\n(Dropped the infiniband part, because Tetsuo modified the related code,\nI will send a separate patch for it once this is accepted.)\n\nThis patch introduces /proc/sys/net/ipv4/ip_local_reserved_ports which\nallows users to reserve ports for third-party applications.\n\nThe reserved ports will not be used by automatic port assignments\n(e.g. when calling connect() or bind() with port number 0). Explicit\nport allocation behavior is unchanged.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf47f4b0babe287f250dd720b41ecad9b8f7ac9b",
      "tree": "0829ef3bff455f98155b5cb0e91b71db36de3510",
      "parents": [
        "0b9715e64f7d46a9620d4d5042a5e28f5595ed54",
        "5b285cac3570a935aaa28312c1ea28f9e01c5452"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 23:30:45 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 23:30:45 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/ipmr-2.6\n"
    },
    {
      "commit": "8e1c298c01d4596fa2837913e531a93a791a7bec",
      "tree": "5655c86172a412b78473db6340089217c1787d20",
      "parents": [
        "107e7be628821dcb78c43adce0331e8ddb40eabd"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "allan.stephens@windriver.com",
        "time": "Tue May 11 14:30:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 23:02:23 2010 -0700"
      },
      "message": "tipc: Update commenting in TIPC API\n\nEliminate comments in TIPC\u0027s main API files that are either obsolete,\nincorrect, misleading, or unhelpful.  It also adds in one new comment.\n\nSigned-off-by: Allan Stephens \u003callan.stephens@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ce6e438d5d9ed8ed775cd1e94f92002c8da2bad",
      "tree": "9b6ce4bc8e7600e30124c8b0f1cbc2ae06499722",
      "parents": [
        "b29e7eb4b8b3e5f4ff8066af648e9fe2fc707b16"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue May 11 16:20:57 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 12 16:39:05 2010 -0400"
      },
      "message": "mac80211: add offload channel switch support\n\nThis adds support for offloading the channel switch\noperation to devices that support such, typically\nby having specific firmware API for it. The reasons\nfor this could be that the firmware provides better\ntiming or that regulatory enforcement done by the\ndevice requires special handling of CSAs.\n\nIn order to allow drivers to specify the timing to\nthe device, the new channel_switch callback will\npass through the received frame\u0027s mactime, where\navailable.\n\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "278554bd6579206921f5d8a523649a7a57f8850d",
      "tree": "4e6c527daf0910e455b3aa72e2c96b0479e430be",
      "parents": [
        "5a147e8bf982f9dd414c1dd751fe02c1942506b2",
        "cea0d767c29669bf89f86e4aee46ef462d2ebae8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 00:05:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 12 00:05:35 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ath/ar9170/usb.c\n\tdrivers/scsi/iscsi_tcp.c\n\tnet/ipv4/ipmr.c\n"
    },
    {
      "commit": "cc755896a4274f11283bca32d1d658203844057a",
      "tree": "218970ece71df99f686b9416b7fd88b921690ebb",
      "parents": [
        "d250fe91ae129bff0968e685cc9c466d3a5e3482",
        "9459d59fbf0bc82ff4c804679fa8bc22788eca63"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 11 14:24:55 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 11 14:24:55 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\tdrivers/net/wireless/ath/ar9170/main.c\n"
    },
    {
      "commit": "d1db275dd3f6e4182c4c4b4a1ac6287925d60569",
      "tree": "b8edf6661661ff84785495e2e053ce908417a9ff",
      "parents": [
        "6bd521433942d85e80f7a731a88cc91a327f38e0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:55 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:55 2010 +0200"
      },
      "message": "ipv6: ip6mr: support multiple tables\n\nThis patch adds support for multiple independant multicast routing instances,\nnamed \"tables\".\n\nUserspace multicast routing daemons can bind to a specific table instance by\nissuing a setsockopt call using a new option MRT6_TABLE. The table number is\nstored in the raw socket data and affects all following ip6mr setsockopt(),\ngetsockopt() and ioctl() calls. By default, a single table (RT6_TABLE_DFLT)\nis created with a default routing rule pointing to it. Newly created pim6reg\ndevices have the table number appended (\"pim6regX\"), with the exception of\ndevices created in the default table, which are named just \"pim6reg\" for\ncompatibility reasons.\n\nPackets are directed to a specific table instance using routing rules,\nsimilar to how regular routing rules work. Currently iif, oif and mark\nare supported as keys, source and destination addresses could be supported\nadditionally.\n\nExample usage:\n\n- bind pimd/xorp/... to a specific table:\n\nuint32_t table \u003d 123;\nsetsockopt(fd, SOL_IPV6, MRT6_TABLE, \u0026table, sizeof(table));\n\n- create routing rules directing packets to the new table:\n\n# ip -6 mrule add iif eth0 lookup 123\n# ip -6 mrule add oif eth0 lookup 123\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n\n"
    },
    {
      "commit": "6bd521433942d85e80f7a731a88cc91a327f38e0",
      "tree": "e263e39fc6096ef77e2a1c22d5972447785b2aa5",
      "parents": [
        "f30a77842129b5656360cc1f5db48a3fcfb64528"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:53 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:53 2010 +0200"
      },
      "message": "ipv6: ip6mr: move mroute data into seperate structure\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f30a77842129b5656360cc1f5db48a3fcfb64528",
      "tree": "3a01eac73fd0e86d3c7a976ab6bccca9878cd35c",
      "parents": [
        "b5aa30b19121de49021fba57aa1f6e4c787fcf67"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:51 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:51 2010 +0200"
      },
      "message": "ipv6: ip6mr: convert struct mfc_cache to struct list_head\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "c476efbcde5ba58b81ac752f4a894d6db8e17d94",
      "tree": "69aea7351adf2ae537e4d6ec76e1cc0799a16593",
      "parents": [
        "d250fe91ae129bff0968e685cc9c466d3a5e3482"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:48 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:48 2010 +0200"
      },
      "message": "ipv6: ip6mr: move unres_queue and timer to per-namespace data\n\nThe unres_queue is currently shared between all namespaces. Following patches\nwill additionally allow to create multiple multicast routing tables in each\nnamespace. Having a single shared queue for all these users seems to excessive,\nmove the queue and the cleanup timer to the per-namespace data to unshare it.\n\nAs a side-effect, this fixes a bug in the seq file iteration functions: the\nfirst entry returned is always from the current namespace, entries returned\nafter that may belong to any namespace.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "d250fe91ae129bff0968e685cc9c466d3a5e3482",
      "tree": "e38b7628a5c6afb80c22341759f392585e558cb1",
      "parents": [
        "1ae5dc342ac78d7a42965fd1f323815f6f5ef2c1",
        "b56f2d55c6c22b0c5774b3b22e336fb6cc5f4094"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 10 23:03:26 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 10 23:03:26 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "1e4b1057121bc756b91758a434b504d2010f6088",
      "tree": "b016cf2c728289c7e36d9e4e488f30ab0bd0ae6e",
      "parents": [
        "3b254c54ec46eb022cb26ee6ab37fae23f5f7d6a",
        "3ee943728fff536edaf8f59faa58aaa1aa7366e3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon May 10 18:39:28 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon May 10 18:39:28 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of /repos/git/net-next-2.6\n\nConflicts:\n\tnet/bridge/br_device.c\n\tnet/bridge/br_forward.c\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f48fd9c8cd746fdb055a97249a209c77dca0f710",
      "tree": "a3ab4ba27edc43bf3527a02fd7c6ba4167213056",
      "parents": [
        "844c0972427ee5f661158160aaca10b22b3dda60"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Mar 20 15:20:04 2010 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:34:03 2010 +0200"
      },
      "message": "Bluetooth: Create per controller workqueue\n\nInstead of having a global workqueue for all controllers, it makes\nmore sense to have a workqueue per controller.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "dfc909befbfe967bd7f46ef33b6969c1b7f3cf42",
      "tree": "cec8545cce920fe194a2d167467a1ca500c2616d",
      "parents": [
        "6161c0382bbab883a634d284f7367a88bbe88534"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:45 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:53 2010 +0200"
      },
      "message": "Bluetooth: Fix race condition on l2cap_ertm_send()\n\nl2cap_ertm_send() can be called both from user context and bottom half\ncontext. The socket locks for that contexts are different, the user\ncontext uses a mutex(which can sleep) and the second one uses a\nspinlock_bh. That creates a race condition when we have interruptions on\nboth contexts at the same time.\n\nThe better way to solve this is to add a new spinlock to lock\nl2cap_ertm_send() and the vars it access. The other solution was to defer\nl2cap_ertm_send() with a workqueue, but we the sending process already\nhas one defer on the hci layer. It\u0027s not a good idea add another one.\n\nThe patch refactor the code to create l2cap_retransmit_frames(), then we\nencapulate the lock of l2cap_ertm_send() for some call. It also changes\nl2cap_retransmit_frame() to l2cap_retransmit_one_frame() to avoid\nconfusion\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "1890d36bb556a27684ad29654a9898ab9a5f57ee",
      "tree": "9ff2c7d2f2e4288fa781f9f1802def01f7c530c9",
      "parents": [
        "9b53350d3cf5b330c3261d89b5e62a2dc25c5653"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:44 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:53 2010 +0200"
      },
      "message": "Bluetooth: Implement Local Busy Condition handling\n\nSupports Local Busy condition handling through a waitqueue that wake ups\neach 200ms and try to push the packets to the upper layer. If it can\npush all the queue then it leaves the Local Busy state.\n\nThe patch modifies the behaviour of l2cap_ertm_reassembly_sdu() to\nsupport retry of the push operation.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9a9c6a34416b3743c09c00f3d6708d9df3c21629",
      "tree": "1551a090ce012a53343d822c274f0705e44438b3",
      "parents": [
        "ff12fd643334071084b6145cad3793bb6c956638"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:43 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:52 2010 +0200"
      },
      "message": "Bluetooth: Make hci_send_acl() void\n\nhci_send_acl can\u0027t fail, so we can make it void. This patch changes\nthat and all the funcions that use hci_send_acl().\nThat change exposed a bug on sending connectionless data. We were not\nreporting the lenght send back to the user space.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "68d7f0ce911e41e463c45911be031cdf6a096fe8",
      "tree": "0434ce6c83b95913ce506fc92643349d5f58df53",
      "parents": [
        "369ba30264826f38eefc61b93688100be8adbd4d"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:41 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:50 2010 +0200"
      },
      "message": "Bluetooth: Enable option to configure Max Transmission value via sockopt\n\nWith the sockopt extension we can set a per-channel MaxTx value.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "803020c6fa63aa738cfda3329c9675b42023e9d2",
      "tree": "4fbe8adc8319193624931a2710bf5e46c541852f",
      "parents": [
        "14b5aa71ec506f4e38ca6a1dc02ecd668ecfd902"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:41 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:50 2010 +0200"
      },
      "message": "Bluetooth: Change acknowledgement to use the value of txWindow\n\nNow that we can set the txWindow we need to change the acknowledgement\nprocedure to ack after each (pi-\u003etxWindow/6 + 1). The plus 1 is to avoid\nthe zero value.\nIt also renames pi-\u003enum_to_ack to a better name: pi-\u003enum_acked.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "14b5aa71ec506f4e38ca6a1dc02ecd668ecfd902",
      "tree": "afd8fc766f81d1c436433ca010eb12a606538b47",
      "parents": [
        "855666cccc939d392316de17512e17a08b2fa05a"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:40 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:49 2010 +0200"
      },
      "message": "Bluetooth: Add sockopt configuration for txWindow on L2CAP\n\nNow we can set/get Transmission Window size via sockopt.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "1c7621596d11b9c3e19eb88a818758dee4901c95",
      "tree": "7eccf73c1739964e83cbc7ea5bce53fd4372a07c",
      "parents": [
        "7b1c0049be3aabc18831ada339dbcf41ba8c81fd"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:40 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:48 2010 +0200"
      },
      "message": "Bluetooth: Fix configuration of the MPS value\n\nWe were accepting values bigger than we can accept. This was leading\nERTM to drop packets because of wrong FCS checks.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c1b4f43be01c2a363be021485dd18cca33cfab8a",
      "tree": "3244f14f00eb6a227e52b2a8ddd7063ef0961840",
      "parents": [
        "05fbd89dd4153341717b33d9e8ae8bd29db6c1c8"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:39 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:48 2010 +0200"
      },
      "message": "Bluetooth: Add timer to Acknowledge I-frames\n\nWe ack I-frames on each txWindow/5 I-frames received, but if the sender\nstop to send I-frames and it\u0027s not a txWindow multiple we can leave some\nframes unacked.\nSo I added a timer to ack I-frames on this case. The timer expires in\n200ms.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "d5392c8f1e9faef089bb7cb66c3314da8bddd1fe",
      "tree": "4a935a46f0bfe2b9eb6d94f1d18fa079d2e1d095",
      "parents": [
        "e8235c6bdd1c7ffbaa7eb8dcdbb46c51f1e5d72e"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:36 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:46 2010 +0200"
      },
      "message": "Bluetooth: Implement \u0027Send IorRRorRNR\u0027 event\n\nAfter receive a RR with P bit set ERTM shall use this funcion to choose\nwhat type of frame to reply with F bit \u003d 1.\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0d861d8b8edd139a9b291cb262d08dec8dc3922d",
      "tree": "2b917b96e349baad182c49b15129c43b6a7b8ca5",
      "parents": [
        "4f7ac1814ef6f0773e57ffd159a1dd57a3c80521"
      ],
      "author": {
        "name": "Gustavo F. Padovan",
        "email": "padovan@profusion.mobi",
        "time": "Sat May 01 16:15:35 2010 -0300"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon May 10 09:28:45 2010 +0200"
      },
      "message": "Bluetooth: Make hci_send_sco() void\n\nIt also removes an unneeded check for the MTU. The check is done before\non sco_send_frame()\n\nSigned-off-by: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nReviewed-by: João Paulo Rechi Vita \u003cjprvita@profusion.mobi\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "3ee943728fff536edaf8f59faa58aaa1aa7366e3",
      "tree": "98ab529c1be1e4cb4b291c9d4c9fc9dba678967e",
      "parents": [
        "e0e33280fedcfa9dd70a54085c4d44d9d53b788f"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Sat May 08 01:57:52 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 08 01:57:52 2010 -0700"
      },
      "message": "ipv4: remove ip_rt_secret timer (v4)\n\nA while back there was a discussion regarding the rt_secret_interval timer.\nGiven that we\u0027ve had the ability to do emergency route cache rebuilds for awhile\nnow, based on a statistical analysis of the various hash chain lengths in the\ncache, the use of the flush timer is somewhat redundant.  This patch removes the\nrt_secret_interval sysctl, allowing us to rely solely on the statistical\nanalysis mechanism to determine the need for route cache flushes.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0aaffa9b9699894aab3266195a529baf9f96ac29",
      "tree": "26fe5f5277ac6d7061ea723f92d4038b0c28b0b8",
      "parents": [
        "f444de05d20e27cdd960c13fcbcfca3099f03143"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed May 05 15:28:27 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri May 07 14:55:51 2010 -0400"
      },
      "message": "mac80211: improve HT channel handling\n\nCurrently, when one interface switches HT mode,\nall others will follow along. This is clearly\nundesirable, since the new one might switch to\nno-HT while another one is operating in HT.\n\nAddress this issue by keeping track of the HT\nmode per interface, and allowing only changes\nthat are compatible, i.e. switching into HT40+\nis not possible when another interface is in\nHT40-, in that case the second one needs to\nfall back to HT20.\n\nAlso, to allow drivers to know what\u0027s going on,\nstore the per-interface HT mode (channel type)\nin the virtual interface\u0027s bss_conf.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f444de05d20e27cdd960c13fcbcfca3099f03143",
      "tree": "a7fbef60420d88dda5840e06094be21ee3eb1dc0",
      "parents": [
        "ac8dd506e40ee2c7fcc61654a44c32555a0a8d6c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed May 05 15:25:02 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri May 07 14:55:50 2010 -0400"
      },
      "message": "cfg80211/mac80211: better channel handling\n\nCurrently (all tested with hwsim) you can do stupid\nthings like setting up an AP on a certain channel,\nthen adding another virtual interface and making\nthat associate on another channel -- this will make\nthe beaconing to move channel but obviously without\nthe necessary IEs data update.\n\nIn order to improve this situation, first make the\nconfiguration APIs (cfg80211 and nl80211) aware of\nmulti-channel operation -- we\u0027ll eventually need\nthat in the future anyway. There\u0027s one userland API\nchange and one API addition. The API change is that\nnow SET_WIPHY must be called with virtual interface\nindex rather than only wiphy index in order to take\neffect for that interface -- luckily all current\nusers (hostapd) do that. For monitor interfaces, the\nold setting is preserved, but monitors are always\nslaved to other devices anyway so no guarantees.\n\nThe second userland API change is the introduction\nof a per virtual interface SET_CHANNEL command, that\nhostapd should use going forward to make it easier\nto understand what\u0027s going on (it can automatically\ndetect a kernel with this command).\n\nOther than mac80211, no existing cfg80211 drivers\nare affected by this change because they only allow\na single virtual interface.\n\nmac80211, however, now needs to be aware that the\nchannel settings are per interface now, and needs\nto disallow (for now) real multi-channel operation,\nwhich is another important part of this patch.\n\nOne of the immediate benefits is that you can now\nstart hostapd to operate on a hardware that already\nhas a connection on another virtual interface, as\nlong as you specify the same channel.\n\nNote that two things are left unhandled (this is an\nimprovement -- not a complete fix):\n\n * different HT/no-HT modes\n\n   currently you could start an HT AP and then\n   connect to a non-HT network on the same channel\n   which would configure the hardware for no HT;\n   that can be fixed fairly easily\n\n * CSA\n\n   An AP we\u0027re connected to on a virtual interface\n   might indicate switching channels, and in that\n   case we would follow it, regardless of how many\n   other interfaces are operating; this requires\n   more effort to fix but is pretty rare after all\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ac8dd506e40ee2c7fcc61654a44c32555a0a8d6c",
      "tree": "d0c673f9002d453af211a3fc25705ed3f8ab219d",
      "parents": [
        "bac6fafd4d6a0af26aeb37277a39607f7ce0be77"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed May 05 09:44:02 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri May 07 14:55:49 2010 -0400"
      },
      "message": "mac80211: fix BSS info reconfiguration\n\nWhen reconfiguring an interface due to a previous\nhardware restart, mac80211 will currently include\nthe new IBSS flag on non-IBSS interfaces which may\nconfuse drivers.\n\nInstead of doing the ~0 trick, simply spell out\nwhich things are going to be reconfigured.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "50b5d6ad63821cea324a5a7a19854d4de1a0a819",
      "tree": "a279d53880e3bdf144783598ad03bbaa33e2cd96",
      "parents": [
        "6ec82562ffc6f297d0de36d65776cff8e5704867"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Thu May 06 00:56:07 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 06 00:56:07 2010 -0700"
      },
      "message": "sctp: Fix a race between ICMP protocol unreachable and connect()\n\nICMP protocol unreachable handling completely disregarded\nthe fact that the user may have locked the socket.  It proceeded\nto destroy the association, even though the user may have\nheld the lock and had a ref on the association.  This resulted\nin the following:\n\nAttempt to release alive inet socket f6afcc00\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ BUG: held lock freed! ]\n-------------------------\nsomenu/2672 is freeing memory f6afcc00-f6afcfff, with a lock still held\nthere!\n (sk_lock-AF_INET){+.+.+.}, at: [\u003cc122098a\u003e] sctp_connect+0x13/0x4c\n1 lock held by somenu/2672:\n #0:  (sk_lock-AF_INET){+.+.+.}, at: [\u003cc122098a\u003e] sctp_connect+0x13/0x4c\n\nstack backtrace:\nPid: 2672, comm: somenu Not tainted 2.6.32-telco #55\nCall Trace:\n [\u003cc1232266\u003e] ? printk+0xf/0x11\n [\u003cc1038553\u003e] debug_check_no_locks_freed+0xce/0xff\n [\u003cc10620b4\u003e] kmem_cache_free+0x21/0x66\n [\u003cc1185f25\u003e] __sk_free+0x9d/0xab\n [\u003cc1185f9c\u003e] sk_free+0x1c/0x1e\n [\u003cc1216e38\u003e] sctp_association_put+0x32/0x89\n [\u003cc1220865\u003e] __sctp_connect+0x36d/0x3f4\n [\u003cc122098a\u003e] ? sctp_connect+0x13/0x4c\n [\u003cc102d073\u003e] ? autoremove_wake_function+0x0/0x33\n [\u003cc12209a8\u003e] sctp_connect+0x31/0x4c\n [\u003cc11d1e80\u003e] inet_dgram_connect+0x4b/0x55\n [\u003cc11834fa\u003e] sys_connect+0x54/0x71\n [\u003cc103a3a2\u003e] ? lock_release_non_nested+0x88/0x239\n [\u003cc1054026\u003e] ? might_fault+0x42/0x7c\n [\u003cc1054026\u003e] ? might_fault+0x42/0x7c\n [\u003cc11847ab\u003e] sys_socketcall+0x6d/0x178\n [\u003cc10da994\u003e] ? trace_hardirqs_on_thunk+0xc/0x10\n [\u003cc1002959\u003e] syscall_call+0x7/0xb\n\nThis was because the sctp_wait_for_connect() would aqcure the socket\nlock and then proceed to release the last reference count on the\nassociation, thus cause the fully destruction path to finish freeing\nthe socket.\n\nThe simplest solution is to start a very short timer in case the socket\nis owned by user.  When the timer expires, we can do some verification\nand be able to do the release properly.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "83163244f845c296a118ce85c653872dbff6abfe",
      "tree": "ce2eac695a1c198f23d537e20ed86c16ece21f7e",
      "parents": [
        "0a12761bcd5646691c5d16dd93df84d1b8849285",
        "adfba3c7c026a6a5560d2a43fefc9b198cb74462"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 05 16:14:16 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 05 16:14:16 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\tdrivers/net/wireless/libertas_tf/cmd.c\n\tdrivers/net/wireless/libertas_tf/main.c\n"
    },
    {
      "commit": "f5460618405eec8c3300947a499011528a115acd",
      "tree": "19aba5acb6d91d5a20400292aaf1881a6b26c118",
      "parents": [
        "4f70ecca9c57731b4acbe5043eb22e4416bd2368",
        "0e3aef8d09a8c11e3fb83cdcb24b5bc7421b3726"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 03 16:20:44 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 03 16:24:31 2010 -0700"
      },
      "message": "Merge branch \u0027net-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vxy/lksctp-dev\n\nAdd missing linux/vmalloc.h include to net/sctp/probe.c\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ef527377b88ff05fb122a47619ea506c631c914",
      "tree": "2c2e774527d5f591b975834f43e8c6fd12fb38f2",
      "parents": [
        "47d29646a2c1c147d8a7598aeac2c87dd71ed638",
        "1183f3838c588545592c042c0ce15015661ce7f2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 21:43:40 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 22:02:06 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "1183f3838c588545592c042c0ce15015661ce7f2",
      "tree": "24de17b69f9b2d83720a550af130d1dbddf067e8",
      "parents": [
        "6f1464bf65fcaa57a4b32dae93de4e8bbdfaf7c5"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sun May 02 13:42:39 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 02 13:42:39 2010 -0700"
      },
      "message": "net: fix compile error due to double return type in SOCK_DEBUG\n\nFix this one:\ninclude/net/sock.h: error: two or more data types in declaration specifiers\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43815482370c510c569fd18edb57afcb0fa8cab6",
      "tree": "063efaae3758402b84f056438b704d1de68f7837",
      "parents": [
        "83d7eb2979cd3390c375470225dd2d8f2009bc70"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 29 11:01:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 01 15:00:15 2010 -0700"
      },
      "message": "net: sock_def_readable() and friends RCU conversion\n\nsk_callback_lock rwlock actually protects sk-\u003esk_sleep pointer, so we\nneed two atomic operations (and associated dirtying) per incoming\npacket.\n\nRCU conversion is pretty much needed :\n\n1) Add a new structure, called \"struct socket_wq\" to hold all fields\nthat will need rcu_read_lock() protection (currently: a\nwait_queue_head_t and a struct fasync_struct pointer).\n\n[Future patch will add a list anchor for wakeup coalescing]\n\n2) Attach one of such structure to each \"struct socket\" created in\nsock_alloc_inode().\n\n3) Respect RCU grace period when freeing a \"struct socket_wq\"\n\n4) Change sk_sleep pointer in \"struct sock\" by sk_wq, pointer to \"struct\nsocket_wq\"\n\n5) Change sk_sleep() function to use new sk-\u003esk_wq instead of\nsk-\u003esk_sleep\n\n6) Change sk_has_sleeper() to wq_has_sleeper() that must be used inside\na rcu_read_lock() section.\n\n7) Change all sk_has_sleeper() callers to :\n  - Use rcu_read_lock() instead of read_lock(\u0026sk-\u003esk_callback_lock)\n  - Use wq_has_sleeper() to eventually wakeup tasks.\n  - Use rcu_read_unlock() instead of read_unlock(\u0026sk-\u003esk_callback_lock)\n\n8) sock_wake_async() is modified to use rcu protection as well.\n\n9) Exceptions :\n  macvtap, drivers/net/tun.c, af_unix use integrated \"struct socket_wq\"\ninstead of dynamically allocated ones. They dont need rcu freeing.\n\nSome cleanups or followups are probably needed, (possible\nsk_callback_lock conversion to a spinlock for example...).\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e3aef8d09a8c11e3fb83cdcb24b5bc7421b3726",
      "tree": "62e19d24380a9a8308d0ef3f2186742944971a5c",
      "parents": [
        "bfa0d9843ac5feb9667990706b4524390fee4df9"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: Tag messages that can be Nagle delayed at creation.\n\nWhen we create the sctp_datamsg and fragment the user data,\nwe know exactly if we are sending full segments or not and\nhow they might be bundled.  During this time, we can mark\nmessages a Nagle capable or not.  This makes the check at\ntransmit time much simpler.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "cf9b4812e18aab6f86ff998bd7425a9e823269c3",
      "tree": "51181bd38679112d3abc32ba6dc4266acad9251c",
      "parents": [
        "b2cf9b6bd93af1cc047d3356f1c6cc9367fe3731"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: fast recovery algorithm is per association.\n\nSCTP fast recovery algorithm really applies per association\nand impacts all transports.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "b2cf9b6bd93af1cc047d3356f1c6cc9367fe3731",
      "tree": "2692be4d6237c1a9ebee27bd52bad7c418fa06f9",
      "parents": [
        "c0058a35aacc79406e867ec33c5cb75624fd5860"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:10 2010 -0400"
      },
      "message": "sctp: update transport initializations\n\nRight now, sctp transports are not fully initialized and when\nadding any new fields, they have to be explicitely initialized.\nThis is prone to mistakes.  So we switch to calling kzalloc()\nwhich makes things much simpler.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "c0058a35aacc79406e867ec33c5cb75624fd5860",
      "tree": "f474e3bc3aac2162897d592ed91c5116616111a6",
      "parents": [
        "d9efc2231b28bc199f9de4dd594248b7341188e5"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "message": "sctp: Save some room in the sctp_transport by using bitfields\n\nSaves some room in the sctp_transport structure.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "ae19c54866450f6c6f79223ca7d37965859a54e1",
      "tree": "4da39a450974841532148b15b15de182c8e40dac",
      "parents": [
        "d598b166ced20d9b9281ea3527c0e18405ddb803"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 22:41:09 2010 -0400"
      },
      "message": "sctp: remove \u0027resent\u0027 bit from the chunk\n\nThe \u0027resent\u0027 bit is used to make sure that we don\u0027t update\nrto estimate based on retransmitted chunks.  However, we already\nhave the \u0027rto_pending\u0027 bit that we test when need to update rto,\nso \u0027resent\u0027 bit is just extra.  Additionally, we currently have\na bug in that we always set a \u0027resent\u0027 bit and thus rto estimate\nis only updated by Heartbeats.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "52688d6ec977e69b164e0bd3de51d43cf6d4b7b3",
      "tree": "b4e0d9de8fdbf8b29a95d85b81fdc8ba7201fff8",
      "parents": [
        "bd69b981a354be40cc709f3046f0c56f00da6163"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Fri Apr 30 21:42:44 2010 -0400"
      },
      "committer": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Fri Apr 30 21:42:44 2010 -0400"
      },
      "message": "sctp: discard ABORT chunk with zero verification tag in COOKIE-WAIT state\n\nIn current implementation if ABORT chunk is received with T flag is set\nand zero verification tag in COOKIE-WAIT state, the ABORT chunk will be\nalways accepted. This is because in COOKIE-WAIT state, the endpoint does\nnot know the peer\u0027s verification tag, and it\u0027s zero in the endpoint.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n"
    },
    {
      "commit": "767dd03369ac18af58efdef0383d6eb986eab426",
      "tree": "5af8a861110676a084078a168c27fd3935d41f13",
      "parents": [
        "21851264120b0bd1f953328cb131abcfa9305bc3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 28 19:14:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 30 16:29:42 2010 -0700"
      },
      "message": "net: speedup sock_recv_ts_and_drops()\n\nsock_recv_ts_and_drops() is fat and slow (~ 4% of cpu time on some\nprofiles)\n\nWe can test all socket flags at once to make fast path fast again.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5c044e53a6b319776c7140b22fee9be3bc1f758",
      "tree": "01b7c012361d81fd0152c56971ea19500525af57",
      "parents": [
        "49b5c7f473f1bbcb30275dcaee2c06dfb8ec2279"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 30 15:37:00 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 30 15:38:13 2010 -0400"
      },
      "message": "mac80211: remove deprecated noise field from ieee80211_rx_status\n\nAlso remove associated IEEE80211_HW_NOISE_DBM from ieee80211_hw_flags.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f84af32cbca70a3c6d30463dc08c7984af11c277",
      "tree": "06ede4b3ed91be899f8f29b4c7eb1fb76f1ade97",
      "parents": [
        "4b0b72f7dd617b13abd1b04c947e15873e011a24"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 28 15:31:51 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 15:31:51 2010 -0700"
      },
      "message": "net: ip_queue_rcv_skb() helper\n\nWhen queueing a skb to socket, we can immediately release its dst if\ntarget socket do not use IP_CMSG_PKTINFO.\n\ntcp_data_queue() can drop dst too.\n\nThis to benefit from a hot cache line and avoid the receiver, possibly\non another cpu, to dirty this cache line himself.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b0b72f7dd617b13abd1b04c947e15873e011a24",
      "tree": "16fc7bc990fa47cccb62bdb34cb23bd3c26b7a50",
      "parents": [
        "cfc1fbb079b265bf69d4ceba590a2e2c1a1cde33"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 28 14:35:48 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 14:35:48 2010 -0700"
      },
      "message": "net: speedup udp receive path\n\nSince commit 95766fff ([UDP]: Add memory accounting.), \neach received packet needs one extra sock_lock()/sock_release() pair.\n\nThis added latency because of possible backlog handling. Then later,\nticket spinlocks added yet another latency source in case of DDOS.\n\nThis patch introduces lock_sock_bh() and unlock_sock_bh()\nsynchronization primitives, avoiding one atomic operation and backlog\nprocessing.\n\nskb_free_datagram_locked() uses them instead of full blown\nlock_sock()/release_sock(). skb is orphaned inside locked section for\nproper socket memory reclaim, and finally freed outside of it.\n\nUDP receive path now take the socket spinlock only once.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5fa782c2f5ef6c2e4f04d3e228412c9b4a4c8809",
      "tree": "38442b86f3c1b57dd9c660d7c551334e110f6d43",
      "parents": [
        "e41c11ee0cc602bcde68916be85fb97d1a484324"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Apr 28 10:30:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 14:22:01 2010 -0700"
      },
      "message": "sctp: Fix skb_over_panic resulting from multiple invalid parameter errors (CVE-2010-1173) (v4)\n\nOk, version 4\n\nChange Notes:\n1) Minor cleanups, from Vlads notes\n\nSummary:\n\nHey-\n\tRecently, it was reported to me that the kernel could oops in the\nfollowing way:\n\n\u003c5\u003e kernel BUG at net/core/skbuff.c:91!\n\u003c5\u003e invalid operand: 0000 [#1]\n\u003c5\u003e Modules linked in: sctp netconsole nls_utf8 autofs4 sunrpc iptable_filter\nip_tables cpufreq_powersave parport_pc lp parport vmblock(U) vsock(U) vmci(U)\nvmxnet(U) vmmemctl(U) vmhgfs(U) acpiphp dm_mirror dm_mod button battery ac md5\nipv6 uhci_hcd ehci_hcd snd_ens1371 snd_rawmidi snd_seq_device snd_pcm_oss\nsnd_mixer_oss snd_pcm snd_timer snd_page_alloc snd_ac97_codec snd soundcore\npcnet32 mii floppy ext3 jbd ata_piix libata mptscsih mptsas mptspi mptscsi\nmptbase sd_mod scsi_mod\n\u003c5\u003e CPU:    0\n\u003c5\u003e EIP:    0060:[\u003cc02bff27\u003e]    Not tainted VLI\n\u003c5\u003e EFLAGS: 00010216   (2.6.9-89.0.25.EL)\n\u003c5\u003e EIP is at skb_over_panic+0x1f/0x2d\n\u003c5\u003e eax: 0000002c   ebx: c033f461   ecx: c0357d96   edx: c040fd44\n\u003c5\u003e esi: c033f461   edi: df653280   ebp: 00000000   esp: c040fd40\n\u003c5\u003e ds: 007b   es: 007b   ss: 0068\n\u003c5\u003e Process swapper (pid: 0, threadinfo\u003dc040f000 task\u003dc0370be0)\n\u003c5\u003e Stack: c0357d96 e0c29478 00000084 00000004 c033f461 df653280 d7883180\ne0c2947d\n\u003c5\u003e        00000000 00000080 df653490 00000004 de4f1ac0 de4f1ac0 00000004\ndf653490\n\u003c5\u003e        00000001 e0c2877a 08000800 de4f1ac0 df653490 00000000 e0c29d2e\n00000004\n\u003c5\u003e Call Trace:\n\u003c5\u003e  [\u003ce0c29478\u003e] sctp_addto_chunk+0xb0/0x128 [sctp]\n\u003c5\u003e  [\u003ce0c2947d\u003e] sctp_addto_chunk+0xb5/0x128 [sctp]\n\u003c5\u003e  [\u003ce0c2877a\u003e] sctp_init_cause+0x3f/0x47 [sctp]\n\u003c5\u003e  [\u003ce0c29d2e\u003e] sctp_process_unk_param+0xac/0xb8 [sctp]\n\u003c5\u003e  [\u003ce0c29e90\u003e] sctp_verify_init+0xcc/0x134 [sctp]\n\u003c5\u003e  [\u003ce0c20322\u003e] sctp_sf_do_5_1B_init+0x83/0x28e [sctp]\n\u003c5\u003e  [\u003ce0c25333\u003e] sctp_do_sm+0x41/0x77 [sctp]\n\u003c5\u003e  [\u003cc01555a4\u003e] cache_grow+0x140/0x233\n\u003c5\u003e  [\u003ce0c26ba1\u003e] sctp_endpoint_bh_rcv+0xc5/0x108 [sctp]\n\u003c5\u003e  [\u003ce0c2b863\u003e] sctp_inq_push+0xe/0x10 [sctp]\n\u003c5\u003e  [\u003ce0c34600\u003e] sctp_rcv+0x454/0x509 [sctp]\n\u003c5\u003e  [\u003ce084e017\u003e] ipt_hook+0x17/0x1c [iptable_filter]\n\u003c5\u003e  [\u003cc02d005e\u003e] nf_iterate+0x40/0x81\n\u003c5\u003e  [\u003cc02e0bb9\u003e] ip_local_deliver_finish+0x0/0x151\n\u003c5\u003e  [\u003cc02e0c7f\u003e] ip_local_deliver_finish+0xc6/0x151\n\u003c5\u003e  [\u003cc02d0362\u003e] nf_hook_slow+0x83/0xb5\n\u003c5\u003e  [\u003cc02e0bb2\u003e] ip_local_deliver+0x1a2/0x1a9\n\u003c5\u003e  [\u003cc02e0bb9\u003e] ip_local_deliver_finish+0x0/0x151\n\u003c5\u003e  [\u003cc02e103e\u003e] ip_rcv+0x334/0x3b4\n\u003c5\u003e  [\u003cc02c66fd\u003e] netif_receive_skb+0x320/0x35b\n\u003c5\u003e  [\u003ce0a0928b\u003e] init_stall_timer+0x67/0x6a [uhci_hcd]\n\u003c5\u003e  [\u003cc02c67a4\u003e] process_backlog+0x6c/0xd9\n\u003c5\u003e  [\u003cc02c690f\u003e] net_rx_action+0xfe/0x1f8\n\u003c5\u003e  [\u003cc012a7b1\u003e] __do_softirq+0x35/0x79\n\u003c5\u003e  [\u003cc0107efb\u003e] handle_IRQ_event+0x0/0x4f\n\u003c5\u003e  [\u003cc01094de\u003e] do_softirq+0x46/0x4d\n\nIts an skb_over_panic BUG halt that results from processing an init chunk in\nwhich too many of its variable length parameters are in some way malformed.\n\nThe problem is in sctp_process_unk_param:\nif (NULL \u003d\u003d *errp)\n\t*errp \u003d sctp_make_op_error_space(asoc, chunk,\n\t\t\t\t\t ntohs(chunk-\u003echunk_hdr-\u003elength));\n\n\tif (*errp) {\n\t\tsctp_init_cause(*errp, SCTP_ERROR_UNKNOWN_PARAM,\n\t\t\t\t WORD_ROUND(ntohs(param.p-\u003elength)));\n\t\tsctp_addto_chunk(*errp,\n\t\t\tWORD_ROUND(ntohs(param.p-\u003elength)),\n\t\t\t\t  param.v);\n\nWhen we allocate an error chunk, we assume that the worst case scenario requires\nthat we have chunk_hdr-\u003elength data allocated, which would be correct nominally,\ngiven that we call sctp_addto_chunk for the violating parameter.  Unfortunately,\nwe also, in sctp_init_cause insert a sctp_errhdr_t structure into the error\nchunk, so the worst case situation in which all parameters are in violation\nrequires chunk_hdr-\u003elength+(sizeof(sctp_errhdr_t)*param_count) bytes of data.\n\nThe result of this error is that a deliberately malformed packet sent to a\nlistening host can cause a remote DOS, described in CVE-2010-1173:\nhttp://cve.mitre.org/cgi-bin/cvename.cgi?name\u003d2010-1173\n\nI\u0027ve tested the below fix and confirmed that it fixes the issue.  We move to a\nstrategy whereby we allocate a fixed size error chunk and ignore errors we don\u0027t\nhave space to report.  Tested by me successfully\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8fc214ba958648ab111a173f2db7b0e1dfed5b11",
      "tree": "7ca4b8137b8bcbf07f7cf87526c5179e900dee70",
      "parents": [
        "76f273640134f3eb8257179cd5b3bc6ba5fe4a96"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Apr 28 17:40:43 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 28 16:50:29 2010 -0400"
      },
      "message": "mac80211: notify driver about IBSS status\n\nSome drivers (e.g. iwlwifi) need to know and try\nto figure it out based on other things, but making\nit explicit is definitely better.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8d545c8f958f5f433c50a00762ce1f231ed56eee",
      "tree": "f5688212d86c0bc6bf0ba8b02f57fca77de3145e",
      "parents": [
        "5b2086567503f9b55136642031ec0067319f58e0"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Wed Apr 28 08:54:37 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:55:13 2010 -0700"
      },
      "message": "caif: Disconnect without waiting for response\n\nChanges:\no Function cfcnfg_disconn_adapt_layer is changed to do asynchronous\n  disconnect, not waiting for any response from the modem. Due to this\n  the function cfcnfg_linkdestroy_rsp does nothing anymore.\no Because disconnect may take down a connection before a connect response\n  is received the function cfcnfg_linkup_rsp is checking if the client is\n  still waiting for the response, if not a disconnect request is sent to\n  the modem.\no cfctrl is no longer keeping track of pending disconnect requests.\no Added function cfctrl_cancel_req, which is used for deleting a pending\n  connect request if disconnect is done before connect response is received.\no Removed unused function cfctrl_insert_req2\no Added better handling of connect reject from modem.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b2086567503f9b55136642031ec0067319f58e0",
      "tree": "00c4264ed7a8a989b398166c2c5f98175f5c28a5",
      "parents": [
        "e539d83cc8a4fa581cbf8ed288fdadb19a692cb0"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Wed Apr 28 08:54:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:55:12 2010 -0700"
      },
      "message": "caif: Add reference counting to service layer\n\nChanges:\no Added functions cfsrvl_get and cfsrvl_put.\no Added support release_client to use by socket and net device.\no Increase reference counting for in-flight packets from cfmuxl\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e539d83cc8a4fa581cbf8ed288fdadb19a692cb0",
      "tree": "490f94cd943a62b54ead3905b8075c19ce639612",
      "parents": [
        "d3f744e0d6c1c27a10cdceac6eb946122188dbc9"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Wed Apr 28 08:54:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:55:11 2010 -0700"
      },
      "message": "caif: Rename functions in cfcnfg and caif_dev\n\nChanges:\n o Renamed cfcnfg_del_adapt_layer to cfcnfg_disconn_adapt_layer\n o Fixed typo cfcfg to cfcnfg\n o Renamed linkid to channel_id\n o Updated documentation in caif_dev.h\n o Minor formatting changes\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c0786693404cffd80ca3cb6e75ee7b35186b2825",
      "tree": "92a9026abbe71399c95330656af0f8c9d9c0019c",
      "parents": [
        "a8170c35e738d62e9919ce5b109cf4ed66e95bde"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Wed Apr 28 08:47:22 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:16:34 2010 -0700"
      },
      "message": "sctp: Fix oops when sending queued ASCONF chunks\n\nWhen we finish processing ASCONF_ACK chunk, we try to send\nthe next queued ASCONF.  This action runs the sctp state\nmachine recursively and it\u0027s not prepared to do so.\n\nkernel BUG at kernel/timer.c:790!\ninvalid opcode: 0000 [#1] SMP\nlast sysfs file: /sys/module/ipv6/initstate\nModules linked in: sha256_generic sctp libcrc32c ipv6 dm_multipath\nuinput 8139too i2c_piix4 8139cp mii i2c_core pcspkr virtio_net joydev\nfloppy virtio_blk virtio_pci [last unloaded: scsi_wait_scan]\n\nPid: 0, comm: swapper Not tainted 2.6.34-rc4 #15 /Bochs\nEIP: 0060:[\u003cc044a2ef\u003e] EFLAGS: 00010286 CPU: 0\nEIP is at add_timer+0xd/0x1b\nEAX: cecbab14 EBX: 000000f0 ECX: c0957b1c EDX: 03595cf4\nESI: cecba800 EDI: cf276f00 EBP: c0957aa0 ESP: c0957aa0\n DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nProcess swapper (pid: 0, ti\u003dc0956000 task\u003dc0988ba0 task.ti\u003dc0956000)\nStack:\n c0957ae0 d1851214 c0ab62e4 c0ab5f26 0500ffff 00000004 00000005 00000004\n\u003c0\u003e 00000000 d18694fd 00000004 1666b892 cecba800 cecba800 c0957b14\n00000004\n\u003c0\u003e c0957b94 d1851b11 ceda8b00 cecba800 cf276f00 00000001 c0957b14\n000000d0\nCall Trace:\n [\u003cd1851214\u003e] ? sctp_side_effects+0x607/0xdfc [sctp]\n [\u003cd1851b11\u003e] ? sctp_do_sm+0x108/0x159 [sctp]\n [\u003cd1863386\u003e] ? sctp_pname+0x0/0x1d [sctp]\n [\u003cd1861a56\u003e] ? sctp_primitive_ASCONF+0x36/0x3b [sctp]\n [\u003cd185657c\u003e] ? sctp_process_asconf_ack+0x2a4/0x2d3 [sctp]\n [\u003cd184e35c\u003e] ? sctp_sf_do_asconf_ack+0x1dd/0x2b4 [sctp]\n [\u003cd1851ac1\u003e] ? sctp_do_sm+0xb8/0x159 [sctp]\n [\u003cd1863334\u003e] ? sctp_cname+0x0/0x52 [sctp]\n [\u003cd1854377\u003e] ? sctp_assoc_bh_rcv+0xac/0xe1 [sctp]\n [\u003cd1858f0f\u003e] ? sctp_inq_push+0x2d/0x30 [sctp]\n [\u003cd186329d\u003e] ? sctp_rcv+0x797/0x82e [sctp]\n\nTested-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Yuansong Qiao \u003cysqiao@research.ait.ie\u003e\nSigned-off-by: Shuaijun Zhang \u003cszhang@research.ait.ie\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "561b1733a465cf9677356b40c27653dd45f1ac56",
      "tree": "86d6720a6497a0b3faa9685596d4f85d3858b6fe",
      "parents": [
        "8d238b25b1ec22a73b1c2206f111df2faaff8285"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Apr 28 08:47:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 28 12:16:31 2010 -0700"
      },
      "message": "sctp: avoid irq lock inversion while call sk-\u003esk_data_ready()\n\nsk-\u003esk_data_ready() of sctp socket can be called from both BH and non-BH\ncontexts, but the default sk-\u003esk_data_ready(), sock_def_readable(), can\nnot be used in this case. Therefore, we have to make a new function\nsctp_data_ready() to grab sk-\u003esk_data_ready() with BH disabling.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible irq lock inversion dependency detected ]\n2.6.33-rc6 #129\n---------------------------------------------------------\nsctp_darn/1517 just changed the state of lock:\n (clock-AF_INET){++.?..}, at: [\u003cc06aab60\u003e] sock_def_readable+0x20/0x80\nbut this lock took another, SOFTIRQ-unsafe lock in the past:\n (slock-AF_INET){+.-...}\n\nand interrupts could create inverse lock ordering between them.\n\nother info that might help us debug this:\n1 lock held by sctp_darn/1517:\n #0:  (sk_lock-AF_INET){+.+.+.}, at: [\u003ccdfe363d\u003e] sctp_sendmsg+0x23d/0xc00 [sctp]\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05fceb4ad7e8bf809a2a97061d6273d27d1a8449",
      "tree": "a66511ff88417f12fd7a43c6f9a7c0a34662d6e5",
      "parents": [
        "47d54d65826c4a498070a5e0e1d74ce665402b4d"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Fri Apr 23 01:40:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 15:49:02 2010 -0700"
      },
      "message": "net: disallow to use net_assign_generic externally\n\nNow there\u0027s no need to use this fuction directly because it\u0027s handled by\nregister_pernet_device. So to make this simple and easy to understand,\nmake this static to do not tempt potentional users.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c377411f2494a931ff7facdbb3a6839b1266bcf6",
      "tree": "6846cdcec913f50839e3916856f78f7e059ff5fb",
      "parents": [
        "6e7676c1a76aed6e957611d8d7a9e5592e23aeba"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 27 15:13:20 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 15:13:20 2010 -0700"
      },
      "message": "net: sk_add_backlog() take rmem_alloc into account\n\nCurrent socket backlog limit is not enough to really stop DDOS attacks,\nbecause user thread spend many time to process a full backlog each\nround, and user might crazy spin on socket lock.\n\nWe should add backlog size and receive_queue size (aka rmem_alloc) to\npace writers, and let user run without being slow down too much.\n\nIntroduce a sk_rcvqueues_full() helper, to avoid taking socket lock in\nstress situations.\n\nUnder huge stress from a multiqueue/RPS enabled NIC, a single flow udp\nreceiver can now process ~200.000 pps (instead of ~100 pps before the\npatch) on a 8 core machine.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c58dc01babfd58ec9e71a6ce080150dc27755d88",
      "tree": "065c58b5236ea23ff0868a6bbf3c5233b990f0be",
      "parents": [
        "c4ee6a5348102b9cea49fb9adf88307445407911"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 15:05:31 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 15:11:48 2010 -0700"
      },
      "message": "net: Make RFS socket operations not be inet specific.\n\nIdea from Eric Dumazet.\n\nAs for placement inside of struct sock, I tried to choose a place\nthat otherwise has a 32-bit hole on 64-bit systems.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "a060bbfe4ee95d115e8f9705a66894ac34e2c475",
      "tree": "6aea616cdd07c06886c0e1ffade68e5d58f9e9c2",
      "parents": [
        "9043f3b89abebfbfe4b8d64c7b71b9ac0b9eaa0b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Apr 27 11:59:34 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 27 16:09:23 2010 -0400"
      },
      "message": "mac80211: give virtual interface to hw_scan\n\nWhen scanning, it is somewhat important to scan\non the correct virtual interface. All drivers\nthat currently implement hw_scan only support a\nsingle virtual interface, but that may change\nand then we\u0027d want to be ready.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9043f3b89abebfbfe4b8d64c7b71b9ac0b9eaa0b",
      "tree": "c7d0419f0f8c44ca92e33b7acd21295e1befa74f",
      "parents": [
        "195e294d21e88af879da4f88db2ceeb4ec28a755"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Tue Apr 27 12:47:41 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 27 16:09:22 2010 -0400"
      },
      "message": "cfg80211: Remove default dynamic PS timeout value\n\nNow that the mac80211 is choosing dynamic ps timeouts based on the ps-qos\nnetwork latency configuration, configure a default value of -1 as the dynamic\nps timeout in cfg80211. This value allows the mac80211 to determine the value\nto be used.\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "195e294d21e88af879da4f88db2ceeb4ec28a755",
      "tree": "22a75db60cc8743888054460db85eb9a76b0cecb",
      "parents": [
        "3a37495268ab45507b4cab9d4cb18c5496ab7a10"
      ],
      "author": {
        "name": "Juuso Oikarinen",
        "email": "juuso.oikarinen@nokia.com",
        "time": "Tue Apr 27 12:47:40 2010 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 27 16:09:22 2010 -0400"
      },
      "message": "mac80211: Determine dynamic PS timeout based on ps-qos network latency\n\nDetermine the dynamic PS timeout based on the configured ps-qos network\nlatency. For backwards wext compatibility, allow the dynamic PS timeout\nconfigured by the cfg80211 to overrule the automatically determined value.\n\nSigned-off-by: Juuso Oikarinen \u003cjuuso.oikarinen@nokia.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fd8aaaf3519f3fd3c82594e90bc6808072b94d54",
      "tree": "70ebab87226b597270c1d33b57955afac3e2f4fe",
      "parents": [
        "740c2679396d60763968ffd16362f1f5c8242172"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Tue Apr 27 01:23:35 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 27 16:09:21 2010 -0400"
      },
      "message": "cfg80211: add ap isolation support\n\nThis is used to configure APs to not bridge traffic between connected stations.\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bb611874650cff942a7466b456a791e8bfa641e7",
      "tree": "32e048e3240dd808e7787ff2b7eb50ed9f0a6182",
      "parents": [
        "d328bc839eac685cdd91f5d9d8ad95c070252038",
        "cb6a4e461fb427689920472bd7335f926d521747"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:57:39 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:57:39 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/ipmr-2.6\n"
    },
    {
      "commit": "0b53ff2eadb1db6818894435f85989fb05d7e718",
      "tree": "6c7ecececdb6a094c68b4af122aed788648a2b13",
      "parents": [
        "18f9f1365dad1237072d360bc487d8c7a1cae532"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Apr 26 20:40:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:53:26 2010 -0700"
      },
      "message": "net: fix a lockdep rcu warning in __sk_dst_set()\n\n__sk_dst_set() might be called while no state can be integrated in a\nrcu_dereference_check() condition.\n\nSo use rcu_dereference_raw() to shutup lockdep warnings (if\nCONFIG_PROVE_RCU is set)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18f9f1365dad1237072d360bc487d8c7a1cae532",
      "tree": "602a20bf3afd2a23969a82cc1431916294a5c4e9",
      "parents": [
        "6c37e5de456987f5bc80879afde05aa120784095"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 27 02:42:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:53:25 2010 -0700"
      },
      "message": "rps: inet_rps_save_rxhash() argument is not const\n\nconst qualifier on sock argument is misleading, since we can modify rxhash.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c37e5de456987f5bc80879afde05aa120784095",
      "tree": "1459ee69ef3c7172a82d07a7b8aea00836eedda5",
      "parents": [
        "dcdca2c49bb6328bbc7cd8d73434c308b5dd0df2"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fleitner@redhat.com",
        "time": "Mon Apr 26 18:33:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:53:25 2010 -0700"
      },
      "message": "TCP: avoid to send keepalive probes if receiving data\n\nRFC 1122 says the following:\n...\n  Keep-alive packets MUST only be sent when no data or\n  acknowledgement packets have been received for the\n  connection within an interval.\n...\n\nThe acknowledgement packet is reseting the keepalive\ntimer but the data packet isn\u0027t. This patch fixes it by\nchecking the timestamp of the last received data packet\ntoo when the keepalive timer expires.\n\nSigned-off-by: Flavio Leitner \u003cfleitner@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ec75c582e639d956ce3afd499f67febe6f902a4",
      "tree": "4752d1cc90ab385797d526cb901e42f27e3b20f6",
      "parents": [
        "d4c4f07df16c767b8efbc44e7cdf795fac326b33"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 27 06:22:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 27 12:39:01 2010 -0700"
      },
      "message": "net: suppress RCU lockdep false positive in twsk_net()\n\nCalls to twsk_net() are in some cases protected by reference counting\nas an alternative to RCU protection.  Cases covered by reference counts\ninclude __inet_twsk_kill(), inet_twsk_free(), inet_twdr_do_twkill_work(),\ninet_twdr_twcal_tick(), and tcp_timewait_state_process().  RCU is used\nby inet_twsk_purge().  Locking is used by established_get_first()\nand established_get_next().  Finally, __inet_twsk_hashdance() is an\ninitialization case.\n\nIt appears to be non-trivial to locate the appropriate locks and\nreference counts from within twsk_net(), so used rcu_dereference_raw().\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "3d0c9c4eb2dbdcc461be4084abd87a9a9e70f713"
}
