)]}'
{
  "log": [
    {
      "commit": "a84216e671c724e0920dfad2fb70828d428ff60a",
      "tree": "a39f53715c73d267d854653dfe275da5fc60e842",
      "parents": [
        "1836d95928a0f41ada0cbb2a6c4e46b027db9491",
        "bcfe3c2046fc4f16544f2b127f1b159dd1fcad8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 07:44:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 07:44:01 2009 -0800"
      },
      "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: (21 commits)\n  mac80211: check interface is down before type change\n  cfg80211: fix NULL ptr deref\n  libertas if_usb: Fix crash on 64-bit machines\n  mac80211: fix reason code output endianness\n  mac80211: fix addba timer\n  ath9k: fix misplaced semicolon on rate control\n  b43: Fix DMA TX bounce buffer copying\n  mac80211: fix BSS leak\n  rt73usb.c : more ids\n  ipw2200: fix oops on missing firmware\n  gre: Fix dev_addr clobbering for gretap\n  sky2: set carrier off in probe\n  net: fix sk_forward_alloc corruption\n  pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card\n  r8169: Fix card drop incoming VLAN tagged MTU byte large jumbo frames\n  ibmtr: possible Read buffer overflow?\n  net: Fix RPF to work with policy routing\n  net: fix kmemcheck annotations\n  e1000e: rework disable K1 at 1000Mbps for 82577/82578\n  e1000e: config PHY via software after resets\n  ...\n"
    },
    {
      "commit": "bcfe3c2046fc4f16544f2b127f1b159dd1fcad8b",
      "tree": "d1a13eedc08cdc07aa488e77af08b84c50a07c46",
      "parents": [
        "2e9526b352061ee0fd2a1580a2e3a5af960dabc4",
        "c1f9a764cf47686b1f5a0cf87ada68d90056136a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 02 19:18:50 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 02 19:18:50 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "c1f9a764cf47686b1f5a0cf87ada68d90056136a",
      "tree": "77bff7f1361deb11e1b3c60470d9d5784c00a771",
      "parents": [
        "7400f42e9d765fa0656b432f3ab1245f9710f190"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Nov 01 19:25:40 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 02 15:14:07 2009 -0500"
      },
      "message": "mac80211: check interface is down before type change\n\nFor some strange reason the netif_running() check\nended up after the actual type change instead of\nbefore, potentially causing all kinds of problems\nif the interface is up while changing the type;\none of the problems manifests itself as a warning:\n\nWARNING: at net/mac80211/iface.c:651 ieee80211_teardown_sdata+0xda/0x1a0 [mac80211]()\nHardware name: Aspire one\nPid: 2596, comm: wpa_supplicant Tainted: G        W  2.6.31-10-generic #32-Ubuntu\nCall Trace:\n [] warn_slowpath_common+0x6d/0xa0\n [] warn_slowpath_null+0x15/0x20\n [] ieee80211_teardown_sdata+0xda/0x1a0 [mac80211]\n [] ieee80211_if_change_type+0x4a/0xc0 [mac80211]\n [] ieee80211_change_iface+0x61/0xa0 [mac80211]\n [] cfg80211_wext_siwmode+0xc7/0x120 [cfg80211]\n [] ioctl_standard_call+0x58/0xf0\n\n(http://www.kerneloops.org/searchweek.php?search\u003dieee80211_teardown_sdata)\n\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7400f42e9d765fa0656b432f3ab1245f9710f190",
      "tree": "0ed7c06fb44c0c2b966755c2a0264827b7e100f3",
      "parents": [
        "e9024a059f2c17fb2bfab212ee9d31511d7b8e57"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Oct 31 07:40:37 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 02 15:14:07 2009 -0500"
      },
      "message": "cfg80211: fix NULL ptr deref\n\ncommit 211a4d12abf86fe0df4cd68fc6327cbb58f56f81\n  Author: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n  Date:   Tue Oct 20 15:08:53 2009 +0900\n\n      cfg80211: sme: deauthenticate on assoc failure\n\nintroduced a potential NULL pointer dereference that\nsome people have been hitting for some reason -- the\nparams.bssid pointer is not guaranteed to be non-NULL\nfor what seems to be a race between various ways of\nreaching the same thing.\n\nWhile I\u0027m trying to analyse the problem more let\u0027s\nfirst fix the crash. I think the real fix may be to\navoid doing _anything_ if it ended up being NULL, but\nright now I\u0027m not sure yet.\n\nI think\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d14342\nmight also be this issue.\n\nReported-by: Parag Warudkar \u003cparag.lkml@gmail.com\u003e\nTested-by: Parag Warudkar \u003cparag.lkml@gmail.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3e2796a90cf349527e50b3bc4d0b2f4019b1ce7a",
      "tree": "80bddc0f5d36a589db5a77b9b60e4c94c75994ed",
      "parents": [
        "2511cd0b3b9e9b1c3e9360cc565c3745ac3f3f3f"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Nov 02 08:39:28 2009 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Nov 02 08:43:45 2009 -0600"
      },
      "message": "9p: fix readdir corner cases\n\nThe patch below also addresses a couple of other corner cases in readdir\nseen with a large (e.g. 64k) msize.  I\u0027m not sure what people think of\nmy co-opting of fid-\u003eaux here.  I\u0027d be happy to rework if there\u0027s a better\nway.\n\nWhen the size of the user supplied buffer passed to readdir is smaller\nthan the data returned in one go by the 9P read request, v9fs_dir_readdir()\ncurrently discards extra data so that, on the next call, a 9P read\nrequest will be issued with offset \u003c previous offset + bytes returned,\nwhich voilates the constraint described in paragraph 3 of read(5) description.\nThis patch preseves the leftover data in fid-\u003eaux for use in the next call.\n\nSigned-off-by: Jim Garlick \u003cgarlick@llnl.gov\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "372362ade2fe5c33d749e017f1c5bc8140769a3e",
      "tree": "a28b1455c3ef7941031ebaa74f0ca48ed86eddab",
      "parents": [
        "2171abc58644e09dbba546d91366b12743115396"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 29 10:09:28 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 30 15:50:25 2009 -0400"
      },
      "message": "mac80211: fix reason code output endianness\n\nWhen HT debugging is enabled and we receive a DelBA\nframe we print out the reason code in the wrong byte\norder. Fix that so we don\u0027t get weird values printed.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2171abc58644e09dbba546d91366b12743115396",
      "tree": "b4b75fad9bb425034f71cf995586dd4898c93c2f",
      "parents": [
        "e55ea2b152569f09ef6bb28d5a341a4e5a21f5ce"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 29 08:34:00 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 30 15:50:25 2009 -0400"
      },
      "message": "mac80211: fix addba timer\n\nThe addba timer function acquires the sta spinlock,\nbut at the same time we try to del_timer_sync() it\nunder the spinlock which can produce deadlocks.\n\nTo fix this, always del_timer_sync() the timer in\nieee80211_process_addba_resp() and add it again\nafter checking the conditions, if necessary.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f446d10f214091408b7300f15c9adf60569edf28",
      "tree": "2c649a3483fc493746568a36ab4677ee8b9f0fa7",
      "parents": [
        "227206455fde433f86305f9a5b8bdd1eca759929"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Oct 28 15:12:32 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 30 15:50:24 2009 -0400"
      },
      "message": "mac80211: fix BSS leak\n\nThe IBSS code leaks a BSS struct after telling\ncfg80211 about a given BSS by passing a frame.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2e9526b352061ee0fd2a1580a2e3a5af960dabc4",
      "tree": "589ae8d9832a929acc68f58cdb8f8b84fb35978e",
      "parents": [
        "33cb7d33a1c36e07839d08a4d1a33bf6a0f70bba"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Oct 30 05:51:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 30 12:28:07 2009 -0700"
      },
      "message": "gre: Fix dev_addr clobbering for gretap\n\nNathan Neulinger noticed that gretap devices get their MAC address\nfrom the local IP address, which results in invalid MAC addresses\nhalf of the time.\n\nThis is because gretap is still using the tunnel netdev ops rather\nthan the correct tap netdev ops struct.\n\nThis patch also fixes changelink to not clobber the MAC address\nfor the gretap case.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nTested-by: Nathan Neulinger \u003cnneul@mst.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d410c796067686b1e032d54ce475b7055537138",
      "tree": "4442bdbe4a4be1cce024f2e83a12b7404ef935fa",
      "parents": [
        "63ca2d74ea4f9c7a7ac082c915609a7b224908e7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 30 05:03:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 30 12:25:12 2009 -0700"
      },
      "message": "net: fix sk_forward_alloc corruption\n\nOn UDP sockets, we must call skb_free_datagram() with socket locked,\nor risk sk_forward_alloc corruption. This requirement is not respected\nin SUNRPC.\n\nAdd a convenient helper, skb_free_datagram_locked() and use it in SUNRPC\n\nReported-by: Francis Moreau \u003cfrancis.moro@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": "b0c110ca8e89f2c9cd52ec7fb1b98c5b7aa78496",
      "tree": "613bb6966bce4b5dc63e5090aff04254f7dbb709",
      "parents": [
        "14d18a81b5171d4433e41129619c75748b4f4d26"
      ],
      "author": {
        "name": "jamal",
        "email": "hadi@cyberus.ca",
        "time": "Sun Oct 18 02:12:33 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 22:49:12 2009 -0700"
      },
      "message": "net: Fix RPF to work with policy routing\n\nPolicy routing is not looked up by mark on reverse path filtering.\nThis fixes it.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49b2de8e6febfea5a8791b6476195903af83a35d",
      "tree": "c93f328623b9429615981d4b7502997fdd0f72b0",
      "parents": [
        "8633322c5fd5b2a986b279f88a7559d8409f7da3",
        "b5dd884e682cae6b8c037f9d11f3b623b4cf2011"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:22:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:22:08 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (43 commits)\n  net: Fix \u0027Re: PACKET_TX_RING: packet size is too long\u0027\n  netdev: usb: dm9601.c can drive a device not supported yet, add support for it\n  qlge: Fix firmware mailbox command timeout.\n  qlge: Fix EEH handling.\n  AF_RAW: Augment raw_send_hdrinc to expand skb to fit iphdr-\u003eihl (v2)\n  bonding: fix a race condition in calls to slave MII ioctls\n  virtio-net: fix data corruption with OOM\n  sfc: Set ip_summed correctly for page buffers passed to GRO\n  cnic: Fix L2CTX_STATUSB_NUM offset in context memory.\n  MAINTAINERS: rt2x00 list is moderated\n  airo: Reorder tests, check bounds before element\n  mac80211: fix for incorrect sequence number on hostapd injected frames\n  libertas spi: fix sparse errors\n  mac80211: trivial: fix spelling in mesh_hwmp\n  cfg80211: sme: deauthenticate on assoc failure\n  mac80211: keep auth state when assoc fails\n  mac80211: fix ibss joining\n  b43: add \u0027struct b43_wl\u0027 missing declaration\n  b43: Fix Bugzilla #14181 and the bug from the previous \u0027fix\u0027\n  rt2x00: Fix crypto in TX frame for rt2800usb\n  ...\n"
    },
    {
      "commit": "b5dd884e682cae6b8c037f9d11f3b623b4cf2011",
      "tree": "224328f65e56b5d4b33078f09b397ec9e4b6ff46",
      "parents": [
        "06b71b657b03c33b8d919da29f33d326f1471b39"
      ],
      "author": {
        "name": "Gabor Gombas",
        "email": "gombasg@sztaki.hu",
        "time": "Thu Oct 29 03:19:11 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 03:19:11 2009 -0700"
      },
      "message": "net: Fix \u0027Re: PACKET_TX_RING: packet size is too long\u0027\n\nCurrently PACKET_TX_RING forces certain amount of every frame to remain\nunused. This probably originates from an early version of the\nPACKET_TX_RING patch that in fact used the extra space when the (since\nremoved) CONFIG_PACKET_MMAP_ZERO_COPY option was enabled. The current\ncode does not make any use of this extra space.\n\nThis patch removes the extra space reservation and lets userspace make\nuse of the full frame size.\n\nSigned-off-by: Gabor Gombas \u003cgombasg@sztaki.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55888dfb6ba7e318bb3d6a44d25009906206bf6a",
      "tree": "f78100527fdc2aa7d9626fd1c2475f0a8ee7a342",
      "parents": [
        "f552ce5fc2df5504f2feb0087e8a3e61b694ad67"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Oct 28 08:59:47 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:09:58 2009 -0700"
      },
      "message": "AF_RAW: Augment raw_send_hdrinc to expand skb to fit iphdr-\u003eihl (v2)\n\nAugment raw_send_hdrinc to correct for incorrect ip header length values\n\nA series of oopses was reported to me recently.  Apparently when using AF_RAW\nsockets to send data to peers that were reachable via ipsec encapsulation,\npeople could panic or BUG halt their systems.\n\nI\u0027ve tracked the problem down to user space sending an invalid ip header over an\nAF_RAW socket with IP_HDRINCL set to 1.\n\nBasically what happens is that userspace sends down an ip frame that includes\nonly the header (no data), but sets the ip header ihl value to a large number,\none that is larger than the total amount of data passed to the sendmsg call.  In\nraw_send_hdrincl, we allocate an skb based on the size of the data in the msghdr\nthat was passed in, but assume the data is all valid.  Later during ipsec\nencapsulation, xfrm4_tranport_output moves the entire frame back in the skbuff\nto provide headroom for the ipsec headers.  During this operation, the\nskb-\u003etransport_header is repointed to a spot computed by\nskb-\u003enetwork_header + the ip header length (ihl).  Since so little data was\npassed in relative to the value of ihl provided by the raw socket, we point\ntransport header to an unknown location, resulting in various crashes.\n\nThis fix for this is pretty straightforward, simply validate the value of of\niph-\u003eihl when sending over a raw socket.  If (iph-\u003eihl*4U) \u003e user data buffer\nsize, drop the frame and return -EINVAL.  I just confirmed this fixes the\nreported crashes.\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": "9b1ce526eb917c8b5c8497c327768130ee683392",
      "tree": "dcd6dff3083e293d5ec8045f79c0e14f8640c583",
      "parents": [
        "d18ba452d7de12a22bd01a0a00e5b836eb0f4198"
      ],
      "author": {
        "name": "Björn Smedman",
        "email": "bjorn.smedman@venatech.se",
        "time": "Sat Oct 24 20:55:09 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 27 16:29:48 2009 -0400"
      },
      "message": "mac80211: fix for incorrect sequence number on hostapd injected frames\n\nWhen hostapd injects a frame, e.g. an authentication or association\nresponse, mac80211 looks for a suitable access point virtual interface\nto associate the frame with based on its source address. This makes it\npossible e.g. to correctly assign sequence numbers to the frames.\n\nA small typo in the ethernet address comparison statement caused a\nfailure to find a suitable ap interface. Sequence numbers on such\nframes where therefore left unassigned causing some clients\n(especially windows-based 11b/g clients) to reject them and fail to\nauthenticate or associate with the access point. This patch fixes the\ntypo in the address comparison statement.\n\nSigned-off-by: Björn Smedman \u003cbjorn.smedman@venatech.se\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f99288d1761fb3b0decb0fdc4d746406addd29d5",
      "tree": "043e1e45808fd86ef8f7b922895fa91a83042a97",
      "parents": [
        "7d930bc33653d5592dc386a76a38f39c2e962344"
      ],
      "author": {
        "name": "Andrey Yurovsky",
        "email": "andrey@cozybit.com",
        "time": "Tue Oct 20 12:17:34 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 27 16:29:47 2009 -0400"
      },
      "message": "mac80211: trivial: fix spelling in mesh_hwmp\n\nFix a typo in the description of hwmp_route_info_get(), no function\nchanges.\n\nSigned-off-by: Andrey Yurovsky \u003candrey@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7d930bc33653d5592dc386a76a38f39c2e962344",
      "tree": "f974e7f86b0d695ca1ca90095c157bec4f739006",
      "parents": [
        "2ef6e4440926668cfa9eac4b79e63528ebcbe0c1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 20 15:08:53 2009 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 27 16:29:47 2009 -0400"
      },
      "message": "cfg80211: sme: deauthenticate on assoc failure\n\nWhen the in-kernel SME gets an association failure from\nthe AP we don\u0027t deauthenticate, and thus get into a very\nconfused state which will lead to warnings later on. Fix\nthis by actually deauthenticating when the AP indicates\nan association failure.\n\n(Brought to you by the hacking session at Kernel Summit 2009 in Tokyo,\nJapan. -- JWL)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2ef6e4440926668cfa9eac4b79e63528ebcbe0c1",
      "tree": "6db9ef36346c2b263d7bed07fed99cffd6fb2a44",
      "parents": [
        "d419b9f0fa69e79ccba3e5e79a58a52ae0c2ed6a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Oct 20 15:08:12 2009 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 27 16:29:47 2009 -0400"
      },
      "message": "mac80211: keep auth state when assoc fails\n\nWhen association fails, we should stay authenticated,\nwhich in mac80211 is represented by the existence of\nthe mlme work struct, so we cannot free that, instead\nwe need to just set it to idle.\n\n(Brought to you by the hacking session at Kernel Summit 2009 in Tokyo,\nJapan. -- JWL)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d419b9f0fa69e79ccba3e5e79a58a52ae0c2ed6a",
      "tree": "9437f790f07c46a645b867871e81a71dc1058749",
      "parents": [
        "e6693eab351fc19809e76167cd18a6f028661e8a"
      ],
      "author": {
        "name": "Reinette Chatre",
        "email": "reinette.chatre@intel.com",
        "time": "Mon Oct 19 14:55:37 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 27 16:29:46 2009 -0400"
      },
      "message": "mac80211: fix ibss joining\n\nRecent commit \"mac80211: fix logic error ibss merge bssid check\" fixed\njoining of ibss cell when static bssid is provided. In this case\nifibss-\u003ebssid is set before the cell is joined and comparing that address\nto a bss should thus always succeed. Unfortunately this change broke the\nother case of joining a ibss cell without providing a static bssid where\nthe value of ifibss-\u003ebssid is not set before the cell is joined.\n\nSince ifibss-\u003ebssid may be set before or after joining the cell we do not\nlearn anything by comparing it to a known bss. Remove this check.\n\nSigned-off-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "66ed1e5ec1d979e572554643063734a7664261bb",
      "tree": "ebe8b3f132b4191d1f1c663e75f93e778db0cd6c",
      "parents": [
        "62e20a624b18e135870ae781087bc63fdda829ba"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Oct 24 06:55:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 24 06:55:20 2009 -0700"
      },
      "message": "pktgen: Dont leak kernel memory\n\nWhile playing with pktgen, I realized IP ID was not filled and a\nrandom value was taken, possibly leaking 2 bytes of kernel memory.\n \nWe can use an increasing ID, this can help diagnostics anyway.\n\nAlso clear packet payload, instead of leaking kernel memory.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c62f4c453ab4b0240ab857bfd089da2c01ad91e7",
      "tree": "2c99ed102d752d762cc051ee1e89539e0453bdc0",
      "parents": [
        "74eee2e8d08048c847d1998c686e12a477ff939a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Thu Oct 22 21:37:56 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 22 21:37:56 2009 -0700"
      },
      "message": "net: use WARN() for the WARN_ON in commit b6b39e8f3fbbb\n\nCommit b6b39e8f3fbbb (tcp: Try to catch MSG_PEEK bug) added a printk()\nto the WARN_ON() that\u0027s in tcp.c. This patch changes this combination\nto WARN(); the advantage of WARN() is that the printk message shows up\ninside the message, so that kerneloops.org will collect the message.\n\nIn addition, this gets rid of an extra if() statement.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "964fe080d94db82a3268443e9b9ece4c60246414",
      "tree": "d0095a9befb34f77bf32757e7465e5d2cbc40a93",
      "parents": [
        "4848490c50c5d46d4e9749fddc374c303823bcc4",
        "ff07eb897a97640b7ac0262cd50311ad403038f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 23 07:35:16 2009 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 23 07:35:16 2009 +0900"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  move virtrng_remove to .devexit.text\n  move virtballoon_remove to .devexit.text\n  virtio_blk: Revert serial number support\n  virtio: let header files include virtio_ids.h\n  virtio_blk: revert QUEUE_FLAG_VIRT addition\n"
    },
    {
      "commit": "4848490c50c5d46d4e9749fddc374c303823bcc4",
      "tree": "f8ef23f86241789521b637fd39f80ef6f5018518",
      "parents": [
        "d995053d045d777e78ba7eba71a6a0733f3aa726",
        "845de8afa66550331dca164ab77fa49de930b699"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 23 07:34:23 2009 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 23 07:34:23 2009 +0900"
      },
      "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: (21 commits)\n  niu: VLAN_ETH_HLEN should be used to make sure that the whole MAC header was copied to the head buffer in the Vlan packets case\n  KS8851: Fix ks8851_set_rx_mode() for IFF_MULTICAST\n  KS8851: Fix MAC address write order\n  KS8851: Add soft reset at probe time\n  net: fix section mismatch in fec.c\n  net: Fix struct inet_timewait_sock bitfield annotation\n  tcp: Try to catch MSG_PEEK bug\n  net: Fix IP_MULTICAST_IF\n  bluetooth: static lock key fix\n  bluetooth: scheduling while atomic bug fix\n  tcp: fix TCP_DEFER_ACCEPT retrans calculation\n  tcp: reduce SYN-ACK retrans for TCP_DEFER_ACCEPT\n  tcp: accept socket after TCP_DEFER_ACCEPT period\n  Revert \"tcp: fix tcp_defer_accept to consider the timeout\"\n  AF_UNIX: Fix deadlock on connecting to shutdown socket\n  ethoc: clear only pending irqs\n  ethoc: inline regs access\n  vmxnet3: use dev_dbg, fix build for CONFIG_BLOCK\u003dn\n  virtio_net: use dev_kfree_skb_any() in free_old_xmit_skbs()\n  be2net: fix support for PCI hot plug\n  ...\n"
    },
    {
      "commit": "e95646c3ec33c8ec0693992da4332a6b32eb7e31",
      "tree": "7855767cc4dccdefc4ea64584cc01b64f92176f3",
      "parents": [
        "f8b12e513b953aebf30f8ff7d2de9be7e024dbbe"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed Sep 30 11:17:21 2009 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 22 16:39:28 2009 +1030"
      },
      "message": "virtio: let header files include virtio_ids.h\n\nRusty,\n\ncommit 3ca4f5ca73057a617f9444a91022d7127041970a\n    virtio: add virtio IDs file\nmoved all device IDs into a single file. While the change itself is\na very good one, it can break userspace applications. For example\nif a userspace tool wanted to get the ID of virtio_net it used to\ninclude virtio_net.h. This does no longer work, since virtio_net.h\ndoes not include virtio_ids.h.\nThis patch moves all \"#include \u003clinux/virtio_ids.h\u003e\" from the C\nfiles into the header files, making the header files compatible with\nthe old ones.\n\nIn addition, this patch exports virtio_ids.h to userspace.\n\nCC: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b6b39e8f3fbbb31001b836afec87bcaf4811a7bf",
      "tree": "33cf8d3732bde60abc7651b0ecf78e297d7b0afb",
      "parents": [
        "55b8050353c4a212c94d7156e2bd5885225b869b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 19 19:41:06 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 20 00:51:57 2009 -0700"
      },
      "message": "tcp: Try to catch MSG_PEEK bug\n\nThis patch tries to print out more information when we hit the\nMSG_PEEK bug in tcp_recvmsg.  It\u0027s been around since at least\n2005 and it\u0027s about time that we finally fix it.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55b8050353c4a212c94d7156e2bd5885225b869b",
      "tree": "013778c4d48b946b2c565f8b55f40e505ec255ce",
      "parents": [
        "45054dc1bf2367ccb0e7c0486037907cd9395f8b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 19 06:41:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 19 21:34:20 2009 -0700"
      },
      "message": "net: Fix IP_MULTICAST_IF\n\nipv4/ipv6 setsockopt(IP_MULTICAST_IF) have dubious __dev_get_by_index() calls.\n\nThis function should be called only with RTNL or dev_base_lock held, or reader\ncould see a corrupt hash chain and eventually enter an endless loop.\n\nFix is to call dev_get_by_index()/dev_put().\n\nIf this happens to be performance critical, we could define a new dev_exist_by_index()\nfunction to avoid touching dev refcount.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "45054dc1bf2367ccb0e7c0486037907cd9395f8b",
      "tree": "a2dbc61975f169bd841a012d159210c69024c317",
      "parents": [
        "f74c77cb1124a11acf69c98d10c0fdc22f322664"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Sun Oct 18 20:28:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 19 19:36:49 2009 -0700"
      },
      "message": "bluetooth: static lock key fix\n\nWhen shutdown ppp connection, lockdep waring about non-static key\nwill happen, it is caused by the lock is not initialized properly\nat that time.\n\nFix with tuning the lock/skb_queue_head init order\n\n[   94.339261] INFO: trying to register non-static key.\n[   94.342509] the code is fine but needs lockdep annotation.\n[   94.342509] turning off the locking correctness validator.\n[   94.342509] Pid: 0, comm: swapper Not tainted 2.6.31-mm1 #2\n[   94.342509] Call Trace:\n[   94.342509]  [\u003cc0248fbe\u003e] register_lock_class+0x58/0x241\n[   94.342509]  [\u003cc024b5df\u003e] ? __lock_acquire+0xb57/0xb73\n[   94.342509]  [\u003cc024ab34\u003e] __lock_acquire+0xac/0xb73\n[   94.342509]  [\u003cc024b7fa\u003e] ? lock_release_non_nested+0x17b/0x1de\n[   94.342509]  [\u003cc024b662\u003e] lock_acquire+0x67/0x84\n[   94.342509]  [\u003cc04cd1eb\u003e] ? skb_dequeue+0x15/0x41\n[   94.342509]  [\u003cc054a857\u003e] _spin_lock_irqsave+0x2f/0x3f\n[   94.342509]  [\u003cc04cd1eb\u003e] ? skb_dequeue+0x15/0x41\n[   94.342509]  [\u003cc04cd1eb\u003e] skb_dequeue+0x15/0x41\n[   94.342509]  [\u003cc054a648\u003e] ? _read_unlock+0x1d/0x20\n[   94.342509]  [\u003cc04cd641\u003e] skb_queue_purge+0x14/0x1b\n[   94.342509]  [\u003cfab94fdc\u003e] l2cap_recv_frame+0xea1/0x115a [l2cap]\n[   94.342509]  [\u003cc024b5df\u003e] ? __lock_acquire+0xb57/0xb73\n[   94.342509]  [\u003cc0249c04\u003e] ? mark_lock+0x1e/0x1c7\n[   94.342509]  [\u003cf8364963\u003e] ? hci_rx_task+0xd2/0x1bc [bluetooth]\n[   94.342509]  [\u003cfab95346\u003e] l2cap_recv_acldata+0xb1/0x1c6 [l2cap]\n[   94.342509]  [\u003cf8364997\u003e] hci_rx_task+0x106/0x1bc [bluetooth]\n[   94.342509]  [\u003cfab95295\u003e] ? l2cap_recv_acldata+0x0/0x1c6 [l2cap]\n[   94.342509]  [\u003cc02302c4\u003e] tasklet_action+0x69/0xc1\n[   94.342509]  [\u003cc022fbef\u003e] __do_softirq+0x94/0x11e\n[   94.342509]  [\u003cc022fcaf\u003e] do_softirq+0x36/0x5a\n[   94.342509]  [\u003cc022fe14\u003e] irq_exit+0x35/0x68\n[   94.342509]  [\u003cc0204ced\u003e] do_IRQ+0x72/0x89\n[   94.342509]  [\u003cc02038ee\u003e] common_interrupt+0x2e/0x34\n[   94.342509]  [\u003cc024007b\u003e] ? pm_qos_add_requirement+0x63/0x9d\n[   94.342509]  [\u003cc038e8a5\u003e] ? acpi_idle_enter_bm+0x209/0x238\n[   94.342509]  [\u003cc049d238\u003e] cpuidle_idle_call+0x5c/0x94\n[   94.342509]  [\u003cc02023f8\u003e] cpu_idle+0x4e/0x6f\n[   94.342509]  [\u003cc0534153\u003e] rest_init+0x53/0x55\n[   94.342509]  [\u003cc0781894\u003e] start_kernel+0x2f0/0x2f5\n[   94.342509]  [\u003cc0781091\u003e] i386_start_kernel+0x91/0x96\n\nReported-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nTested-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f74c77cb1124a11acf69c98d10c0fdc22f322664",
      "tree": "432ed5d118c00a274feae1a9dc3d494ec9b15ce1",
      "parents": [
        "b103cf34382f26ff48a87931b83f13b177b47c1a"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Sun Oct 18 20:24:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 19 19:36:45 2009 -0700"
      },
      "message": "bluetooth: scheduling while atomic bug fix\n\nDue to driver core changes dev_set_drvdata will call kzalloc which should be\nin might_sleep context, but hci_conn_add will be called in atomic context\n\nLike dev_set_name move dev_set_drvdata to work queue function.\n\noops as following:\n\nOct  2 17:41:59 darkstar kernel: [  438.001341] BUG: sleeping function called from invalid context at mm/slqb.c:1546\nOct  2 17:41:59 darkstar kernel: [  438.001345] in_atomic(): 1, irqs_disabled(): 0, pid: 2133, name: sdptool\nOct  2 17:41:59 darkstar kernel: [  438.001348] 2 locks held by sdptool/2133:\nOct  2 17:41:59 darkstar kernel: [  438.001350]  #0:  (sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP){+.+.+.}, at: [\u003cfaa1d2f5\u003e] lock_sock+0xa/0xc [l2cap]\nOct  2 17:41:59 darkstar kernel: [  438.001360]  #1:  (\u0026hdev-\u003elock){+.-.+.}, at: [\u003cfaa20e16\u003e] l2cap_sock_connect+0x103/0x26b [l2cap]\nOct  2 17:41:59 darkstar kernel: [  438.001371] Pid: 2133, comm: sdptool Not tainted 2.6.31-mm1 #2\nOct  2 17:41:59 darkstar kernel: [  438.001373] Call Trace:\nOct  2 17:41:59 darkstar kernel: [  438.001381]  [\u003cc022433f\u003e] __might_sleep+0xde/0xe5\nOct  2 17:41:59 darkstar kernel: [  438.001386]  [\u003cc0298843\u003e] __kmalloc+0x4a/0x15a\nOct  2 17:41:59 darkstar kernel: [  438.001392]  [\u003cc03f0065\u003e] ? kzalloc+0xb/0xd\nOct  2 17:41:59 darkstar kernel: [  438.001396]  [\u003cc03f0065\u003e] kzalloc+0xb/0xd\nOct  2 17:41:59 darkstar kernel: [  438.001400]  [\u003cc03f04ff\u003e] device_private_init+0x15/0x3d\nOct  2 17:41:59 darkstar kernel: [  438.001405]  [\u003cc03f24c5\u003e] dev_set_drvdata+0x18/0x26\nOct  2 17:41:59 darkstar kernel: [  438.001414]  [\u003cfa51fff7\u003e] hci_conn_init_sysfs+0x40/0xd9 [bluetooth]\nOct  2 17:41:59 darkstar kernel: [  438.001422]  [\u003cfa51cdc0\u003e] ? hci_conn_add+0x128/0x186 [bluetooth]\nOct  2 17:41:59 darkstar kernel: [  438.001429]  [\u003cfa51ce0f\u003e] hci_conn_add+0x177/0x186 [bluetooth]\nOct  2 17:41:59 darkstar kernel: [  438.001437]  [\u003cfa51cf8a\u003e] hci_connect+0x3c/0xfb [bluetooth]\nOct  2 17:41:59 darkstar kernel: [  438.001442]  [\u003cfaa20e87\u003e] l2cap_sock_connect+0x174/0x26b [l2cap]\nOct  2 17:41:59 darkstar kernel: [  438.001448]  [\u003cc04c8df5\u003e] sys_connect+0x60/0x7a\nOct  2 17:41:59 darkstar kernel: [  438.001453]  [\u003cc024b703\u003e] ? lock_release_non_nested+0x84/0x1de\nOct  2 17:41:59 darkstar kernel: [  438.001458]  [\u003cc028804b\u003e] ? might_fault+0x47/0x81\nOct  2 17:41:59 darkstar kernel: [  438.001462]  [\u003cc028804b\u003e] ? might_fault+0x47/0x81\nOct  2 17:41:59 darkstar kernel: [  438.001468]  [\u003cc033361f\u003e] ? __copy_from_user_ll+0x11/0xce\nOct  2 17:41:59 darkstar kernel: [  438.001472]  [\u003cc04c9419\u003e] sys_socketcall+0x82/0x17b\nOct  2 17:41:59 darkstar kernel: [  438.001477]  [\u003cc020329d\u003e] syscall_call+0x7/0xb\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b103cf34382f26ff48a87931b83f13b177b47c1a",
      "tree": "6922379bca3fc9935d394bc474a91b859ac06813",
      "parents": [
        "0c3d79bce48034018e840468ac5a642894a521a3"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Mon Oct 19 10:10:40 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 19 19:19:06 2009 -0700"
      },
      "message": "tcp: fix TCP_DEFER_ACCEPT retrans calculation\n\nFix TCP_DEFER_ACCEPT conversion between seconds and\nretransmission to match the TCP SYN-ACK retransmission periods\nbecause the time is converted to such retransmissions. The old\nalgorithm selects one more retransmission in some cases. Allow\nup to 255 retransmissions.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c3d79bce48034018e840468ac5a642894a521a3",
      "tree": "96a56d10d55173c032aa1adc2b47a7571e4055a2",
      "parents": [
        "d1b99ba41d6c5aa1ed2fc634323449dd656899e9"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Mon Oct 19 10:03:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 19 19:19:03 2009 -0700"
      },
      "message": "tcp: reduce SYN-ACK retrans for TCP_DEFER_ACCEPT\n\nChange SYN-ACK retransmitting code for the TCP_DEFER_ACCEPT\nusers to not retransmit SYN-ACKs during the deferring period if\nACK from client was received. The goal is to reduce traffic\nduring the deferring period. When the period is finished\nwe continue with sending SYN-ACKs (at least one) but this time\nany traffic from client will change the request to established\nsocket allowing application to terminate it properly.\nAlso, do not drop acked request if sending of SYN-ACK fails.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1b99ba41d6c5aa1ed2fc634323449dd656899e9",
      "tree": "06c2106cda7c565c08da8d510612d2c805fc3c33",
      "parents": [
        "a1a2ad9151c26d92e5c733a33d52108f5d3a5b57"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Mon Oct 19 10:01:56 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 19 19:19:01 2009 -0700"
      },
      "message": "tcp: accept socket after TCP_DEFER_ACCEPT period\n\nWilly Tarreau and many other folks in recent years\nwere concerned what happens when the TCP_DEFER_ACCEPT period\nexpires for clients which sent ACK packet. They prefer clients\nthat actively resend ACK on our SYN-ACK retransmissions to be\nconverted from open requests to sockets and queued to the\nlistener for accepting after the deferring period is finished.\nThen application server can decide to wait longer for data\nor to properly terminate the connection with FIN if read()\nreturns EAGAIN which is an indication for accepting after\nthe deferring period. This change still can have side effects\nfor applications that expect always to see data on the accepted\nsocket. Others can be prepared to work in both modes (with or\nwithout TCP_DEFER_ACCEPT period) and their data processing can\nignore the read\u003dEAGAIN notification and to allocate resources for\nclients which proved to have no data to send during the deferring\nperiod. OTOH, servers that use TCP_DEFER_ACCEPT\u003d1 as flag (not\nas a timeout) to wait for data will notice clients that didn\u0027t\nsend data for 3 seconds but that still resend ACKs.\nThanks to Willy Tarreau for the initial idea and to\nEric Dumazet for the review and testing the change.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1a2ad9151c26d92e5c733a33d52108f5d3a5b57",
      "tree": "f794c456544391a6797ead469ce3beab5cee2912",
      "parents": [
        "77238f2b942b38ab4e7f3aced44084493e4a8675"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 19 19:12:36 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 19 19:12:36 2009 -0700"
      },
      "message": "Revert \"tcp: fix tcp_defer_accept to consider the timeout\"\n\nThis reverts commit 6d01a026b7d3009a418326bdcf313503a314f1ea.\n\nJulian Anastasov, Willy Tarreau and Eric Dumazet have come up\nwith a more correct way to deal with this.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77238f2b942b38ab4e7f3aced44084493e4a8675",
      "tree": "5cddd194862ca982d3f701167f897566a037c275",
      "parents": [
        "50c54a57dfbd392e17f1473717b8e125afcb01a3"
      ],
      "author": {
        "name": "Tomoki Sekiyama",
        "email": "tomoki.sekiyama.qu@hitachi.com",
        "time": "Sun Oct 18 23:17:37 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 18 23:17:37 2009 -0700"
      },
      "message": "AF_UNIX: Fix deadlock on connecting to shutdown socket\n\nI found a deadlock bug in UNIX domain socket, which makes able to DoS\nattack against the local machine by non-root users.\n\nHow to reproduce:\n1. Make a listening AF_UNIX/SOCK_STREAM socket with an abstruct\n    namespace(*), and shutdown(2) it.\n 2. Repeat connect(2)ing to the listening socket from the other sockets\n    until the connection backlog is full-filled.\n 3. connect(2) takes the CPU forever. If every core is taken, the\n    system hangs.\n\nPoC code: (Run as many times as cores on SMP machines.)\n\nint main(void)\n{\n\tint ret;\n\tint csd;\n\tint lsd;\n\tstruct sockaddr_un sun;\n\n\t/* make an abstruct name address (*) */\n\tmemset(\u0026sun, 0, sizeof(sun));\n\tsun.sun_family \u003d PF_UNIX;\n\tsprintf(\u0026sun.sun_path[1], \"%d\", getpid());\n\n\t/* create the listening socket and shutdown */\n\tlsd \u003d socket(AF_UNIX, SOCK_STREAM, 0);\n\tbind(lsd, (struct sockaddr *)\u0026sun, sizeof(sun));\n\tlisten(lsd, 1);\n\tshutdown(lsd, SHUT_RDWR);\n\n\t/* connect loop */\n\talarm(15); /* forcely exit the loop after 15 sec */\n\tfor (;;) {\n\t\tcsd \u003d socket(AF_UNIX, SOCK_STREAM, 0);\n\t\tret \u003d connect(csd, (struct sockaddr *)\u0026sun, sizeof(sun));\n\t\tif (-1 \u003d\u003d ret) {\n\t\t\tperror(\"connect()\");\n\t\t\tbreak;\n\t\t}\n\t\tputs(\"Connection OK\");\n\t}\n\treturn 0;\n}\n\n(*) Make sun_path[0] \u003d 0 to use the abstruct namespace.\n    If a file-based socket is used, the system doesn\u0027t deadlock because\n    of context switches in the file system layer.\n\nWhy this happens:\n Error checks between unix_socket_connect() and unix_wait_for_peer() are\n inconsistent. The former calls the latter to wait until the backlog is\n processed. Despite the latter returns without doing anything when the\n socket is shutdown, the former doesn\u0027t check the shutdown state and\n just retries calling the latter forever.\n\nPatch:\n The patch below adds shutdown check into unix_socket_connect(), so\n connect(2) to the shutdown socket will return -ECONREFUSED.\n\nSigned-off-by: Tomoki Sekiyama \u003ctomoki.sekiyama.qu@hitachi.com\u003e\nSigned-off-by: Masanori Yoshida \u003cmasanori.yoshida.tv@hitachi.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3da31485f074a6f598b67045b08e2e15d908310",
      "tree": "64f9ad3d3752e80de2b22b47cbea8f8512dc5d59",
      "parents": [
        "bd0704111e625ebe75418531550cf471215c3267",
        "8f7e524ce33ca81b663711404709396165da3cbd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 15:03:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 15:03:17 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (53 commits)\n  vmxnet: fix 2 build problems\n  net: add support for STMicroelectronics Ethernet controllers.\n  net: ks8851_mll uses mii interfaces\n  net/fec_mpc52xx: Fix kernel panic on FEC error\n  net: Fix OF platform drivers coldplug/hotplug when compiled as modules\n  TI DaVinci EMAC: Clear statistics register properly.\n  r8169: partial support and phy init for the 8168d\n  irda/sa1100_ir: check return value of startup hook\n  udp: Fix udp_poll() and ioctl()\n  WAN: fix Cisco HDLC handshaking.\n  tcp: fix tcp_defer_accept to consider the timeout\n  3c574_cs: spin_lock the set_multicast_list function\n  net: Teach pegasus driver to ignore bluetoother adapters with clashing Vendor:Product IDs\n  netxen: fix pci bar mapping\n  ethoc: fix warning from 32bit build\n  libertas: fix build\n  net: VMware virtual Ethernet NIC driver: vmxnet3\n  net: Fix IXP 2000 network driver building.\n  libertas: fix build\n  mac80211: document ieee80211_rx() context requirement\n  ...\n"
    },
    {
      "commit": "417c5233dbe35ffd6fa9e53754773f73690e1ce3",
      "tree": "1cfcbeddd1f91d5811de67dcb86f060d194ad6f5",
      "parents": [
        "91cd1756cbbe9ba8772e6a5908f20cee56019c0d",
        "c49de94a56f02768fa881cd7cbf58907910ceb8e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 13 11:41:34 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 13 11:41:34 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "85584672012ee0c3b7b8e033a1ecf7c11878e45f",
      "tree": "f35b38f084453e2d7260d4a7a8d13f2a01641664",
      "parents": [
        "9652041da18a1a1d9a0b7ebd9eef16bd712be38a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 09 04:43:40 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 13 03:16:54 2009 -0700"
      },
      "message": "udp: Fix udp_poll() and ioctl()\n\nudp_poll() can in some circumstances drop frames with incorrect checksums.\n\nProblem is we now have to lock the socket while dropping frames, or risk\nsk_forward corruption.\n\nThis bug is present since commit 95766fff6b9a78d1\n([UDP]: Add memory accounting.)\n\nWhile we are at it, we can correct ioctl(SIOCINQ) to also drop bad frames.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d01a026b7d3009a418326bdcf313503a314f1ea",
      "tree": "c16b0e20f4fcf60d33e7ca141e5f8d67ee846891",
      "parents": [
        "e3eef534c50ad39654e247f88dc01e6a3f76b6b4"
      ],
      "author": {
        "name": "Willy Tarreau",
        "email": "w@1wt.eu",
        "time": "Tue Oct 13 00:27:40 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 13 01:35:28 2009 -0700"
      },
      "message": "tcp: fix tcp_defer_accept to consider the timeout\n\nI was trying to use TCP_DEFER_ACCEPT and noticed that if the\nclient does not talk, the connection is never accepted and\nremains in SYN_RECV state until the retransmits expire, where\nit finally is deleted. This is bad when some firewall such as\nnetfilter sits between the client and the server because the\nfirewall sees the connection in ESTABLISHED state while the\nserver will finally silently drop it without sending an RST.\n\nThis behaviour contradicts the man page which says it should\nwait only for some time :\n\n       TCP_DEFER_ACCEPT (since Linux 2.4)\n          Allows a listener to be awakened only when data arrives\n          on the socket.  Takes an integer value  (seconds), this\n          can  bound  the  maximum  number  of attempts TCP will\n          make to complete the connection. This option should not\n          be used in code intended to be portable.\n\nAlso, looking at ipv4/tcp.c, a retransmit counter is correctly\ncomputed :\n\n        case TCP_DEFER_ACCEPT:\n                icsk-\u003eicsk_accept_queue.rskq_defer_accept \u003d 0;\n                if (val \u003e 0) {\n                        /* Translate value in seconds to number of\n                         * retransmits */\n                        while (icsk-\u003eicsk_accept_queue.rskq_defer_accept \u003c 32 \u0026\u0026\n                               val \u003e ((TCP_TIMEOUT_INIT / HZ) \u003c\u003c\n                                       icsk-\u003eicsk_accept_queue.rskq_defer_accept))\n                                icsk-\u003eicsk_accept_queue.rskq_defer_accept++;\n                        icsk-\u003eicsk_accept_queue.rskq_defer_accept++;\n                }\n                break;\n\n\u003d\u003d\u003e rskq_defer_accept is used as a counter of retransmits.\n\nBut in tcp_minisocks.c, this counter is only checked. And in\nfact, I have found no location which updates it. So I think\nthat what was intended was to decrease it in tcp_minisocks\nwhenever it is checked, which the trivial patch below does.\n\nSigned-off-by: Willy Tarreau \u003cw@1wt.eu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d20ef63d32461332958661df73e21c0ca42601b0",
      "tree": "b63f50f6086cacd9597490459f9febe289ba8c0d",
      "parents": [
        "edbfdcceb41c0cbfc1dd2cd28af2272190be47ad"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Oct 11 15:10:40 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 12 15:55:53 2009 -0400"
      },
      "message": "mac80211: document ieee80211_rx() context requirement\n\nieee80211_rx() must be called with softirqs disabled\nsince the networking stack requires this for netif_rx()\nand some code in mac80211 can assume that it can not\nbe processing its own tasklet and this call at the same\ntime.\n\nIt may be possible to remove this requirement after a\ncareful audit of mac80211 and doing any needed locking\nimprovements in it along with disabling softirqs around\nnetif_rx(). An alternative might be to push all packet\nprocessing to process context in mac80211, instead of\nto the tasklet, and add other synchronisation.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "51f98f1313d2fc4b1d3a3e1f4db7cf4925b29df6",
      "tree": "d39f829ab22aff38791a0c13e05eab985598ef6e",
      "parents": [
        "5e4708bcb5d5360730e31b14e5e36429fc7d48b2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Oct 11 11:47:57 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 12 15:55:52 2009 -0400"
      },
      "message": "mac80211: fix ibss race\n\nWhen a scan completes, we call ieee80211_sta_find_ibss(),\nwhich is also called from other places. When the scan was\ndone in software, there\u0027s no problem as both run from the\nsingle-threaded mac80211 workqueue and are thus serialised\nagainst each other, but with hardware scan the completion\ncan be in a different context and race against callers of\nthis function from the workqueue (e.g. due to beacon RX).\nSo instead of calling ieee80211_sta_find_ibss() directly,\njust arm the timer and have it fire, scheduling the work,\nwhich will invoke ieee80211_sta_find_ibss() (if that is\nappropriate in the current state).\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5e4708bcb5d5360730e31b14e5e36429fc7d48b2",
      "tree": "5517fe42dc87d59ffb678fd405218e9ef7bb78a6",
      "parents": [
        "d7c76f4c50887a7d7279373c1138ac56a1d6db3b"
      ],
      "author": {
        "name": "Felix Fietkau",
        "email": "nbd@openwrt.org",
        "time": "Sun Oct 11 05:21:10 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 12 15:55:52 2009 -0400"
      },
      "message": "mac80211: fix logic error ibss merge bssid check\n\nSigned-off-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "53f7e35f8b7fc2f5620a863ac613bcf3080cb6ba",
      "tree": "63e2e7a0b1106fc1eeb3417d1310cd2fb5d01c5c",
      "parents": [
        "d1f6803a58e827fda7b810dcb7cbdb490d32ab9e"
      ],
      "author": {
        "name": "jamal",
        "email": "hadi@cyberus.ca",
        "time": "Sun Oct 11 04:21:38 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 11 23:03:47 2009 -0700"
      },
      "message": "pkt_sched: pedit use proper struct\n\nThis probably deserves to go into -stable.\n\nPedit will reject a policy that is large because it\nuses the wrong structure in the policy validation.\nThis fixes it.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d43c36dc6b357fa1806800f18aa30123c747a6d1",
      "tree": "339ce510073ecbe9b3592008f7dece7b277035ef",
      "parents": [
        "69585dd69e663a40729492c7b52eb82477a2027a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 07 17:09:06 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:20:58 2009 -0700"
      },
      "message": "headers: remove sched.h from interrupt.h\n\nAfter m68k\u0027s task_thread_info() doesn\u0027t refer to current,\nit\u0027s possible to remove sched.h from interrupt.h and not break m68k!\nMany thanks to Heiko Carstens for allowing this.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "67972e0c238fa802580b5919f11e1de3da5179da",
      "tree": "27022c957154a9d36fc8aa0f020bed523e7849b3",
      "parents": [
        "ad61df918c44316940404891d5082c63e79c256a",
        "8a8e05e5d8f6155788761961fc9845328863c16d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 08 15:55:21 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 08 15:55:21 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "8a8e05e5d8f6155788761961fc9845328863c16d",
      "tree": "fc842a395135d7840b440d656cf31f0a7b1548f3",
      "parents": [
        "7e937c633f718e0916a294db7282c922c1bf3ce3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 08 21:02:02 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Oct 08 16:27:00 2009 -0400"
      },
      "message": "cfg80211: fix netns error unwinding bug\n\nThe error unwinding code in set_netns has a bug\nthat will make it run into a BUG_ON if passed a\nbad wiphy index, fix by not trying to unlock a\nwiphy that doesn\u0027t exist.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5587481e92105734e8e45a24fd8603228ec02449",
      "tree": "2de22ddd94e21f681825de002887f3cc89118edd",
      "parents": [
        "df87f344efac96cb9f9367e82509208216f1e0fa",
        "a4d63a943735efa30270ce70716d43323fd40f02"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 11:59:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 11:59:30 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (40 commits)\n  ethoc: limit the number of buffers to 128\n  ethoc: use system memory as buffer\n  ethoc: align received packet to make IP header at word boundary\n  ethoc: fix buffer address mapping\n  ethoc: fix typo to compute number of tx descriptors\n  au1000_eth: Duplicate test of RX_OVERLEN bit in update_rx_stats()\n  netxen: Fix Unlikely(x) \u003e y\n  pasemi_mac: ethtool get settings fix\n  add maintainer for network drop monitor kernel service\n  tg3: Fix phylib locking strategy\n  rndis_host: support ETHTOOL_GPERMADDR\n  ipv4: arp_notify address list bug\n  gigaset: add kerneldoc comments\n  gigaset: correct debugging output selection\n  gigaset: improve error recovery\n  gigaset: fix device ERROR response handling\n  gigaset: announce if built with debugging\n  gigaset: handle isoc frame errors more gracefully\n  gigaset: linearize skb\n  gigaset: fix reject/hangup handling\n  ...\n"
    },
    {
      "commit": "ad61df918c44316940404891d5082c63e79c256a",
      "tree": "a2d2287677479c1f198dc39fe67506712fe558f8",
      "parents": [
        "879e9304134bb6214fb52377ac1e01e1910f4916"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu Oct 08 01:21:46 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 08 01:21:46 2009 -0700"
      },
      "message": "netlink: fix typo in initialization\n\nCommit 9ef1d4c7c7aca1cd436612b6ca785b726ffb8ed8 (\"[NETLINK]: Missing\ninitializations in dumped data\") introduced a typo in\ninitialization. This patch fixes this.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0819663d164e090de315c5e619f4e23c27aaff88",
      "tree": "c138ec7cab02eb3f9a7a5cc2cae416817e030926",
      "parents": [
        "9e7ba2465fd453429aa5849c2aadb526cda19034"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Oct 06 15:52:35 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 07 16:33:51 2009 -0400"
      },
      "message": "mac80211: use kfree_skb() to free struct sk_buff pointers\n\nkfree_skb() should be used to free struct sk_buff pointers.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fbc44bf7177dfd61381da55405550b693943a432",
      "tree": "9869e534f828dd3377cffd2917dfdb6cc72023d3",
      "parents": [
        "727c988593271599c9e5943699426afcce1a62d6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 01 22:06:29 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Oct 07 16:33:49 2009 -0400"
      },
      "message": "mac80211: fix vlan and optimise RX\n\nWhen receiving data frames, we can send them only to\nthe interface they belong to based on transmitting\nstation (this doesn\u0027t work for probe requests). Also,\ndon\u0027t try to handle other frames for AP_VLAN at all\nsince those interface should only receive data.\n\nAdditionally, the transmit side must check that the\nstation we\u0027re sending a frame to is actually on the\ninterface we\u0027re transmitting on, and not transmit\npackets to functions that live on other interfaces,\nso validate that as well.\n\nAnother bug fix is needed in sta_info.c where in the\nVLAN case when adding/removing stations we overwrite\nthe sdata variable we still need.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a21090cff296eb82b6de09304d64de466bdcaefc",
      "tree": "9fb1079548ed85e802c3cc46aa525ae51619e88c",
      "parents": [
        "1cec9727fbfd7baff2034796154be1a0297bcedd"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Oct 07 03:18:17 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 03:18:17 2009 -0700"
      },
      "message": "ipv4: arp_notify address list bug\n\nThis fixes a bug with arp_notify.\n\nIf arp_notify is enabled, kernel will crash if address is changed\nand no IP address is assigned.\n  http://bugzilla.kernel.org/show_bug.cgi?id\u003d14330\n\nReported-by: Hannes Frederic Sowa \u003channes@stressinduktion.org\u003e\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a160ee69c6a4622ed30c377a978554015e9931cb",
      "tree": "2f02de86e53fd318bee786a41bf397025addd222",
      "parents": [
        "5c6ae5b880b3d19cff6d14f0dcff3362e6f7ffdf"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Oct 05 02:22:23 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 05 02:22:23 2009 -0700"
      },
      "message": "wext: let get_wireless_stats() sleep\n\nA number of drivers (recently including cfg80211-based ones)\nassume that all wireless handlers, including statistics, can\nsleep and they often also implicitly assume that the rtnl is\nheld around their invocation. This is almost always true now\nexcept when reading from sysfs:\n\n  BUG: sleeping function called from invalid context at kernel/mutex.c:280\n  in_atomic(): 1, irqs_disabled(): 0, pid: 10450, name: head\n  2 locks held by head/10450:\n   #0:  (\u0026buffer-\u003emutex){+.+.+.}, at: [\u003cc10ceb99\u003e] sysfs_read_file+0x24/0xf4\n   #1:  (dev_base_lock){++.?..}, at: [\u003cc12844ee\u003e] wireless_show+0x1a/0x4c\n  Pid: 10450, comm: head Not tainted 2.6.32-rc3 #1\n  Call Trace:\n   [\u003cc102301c\u003e] __might_sleep+0xf0/0xf7\n   [\u003cc1324355\u003e] mutex_lock_nested+0x1a/0x33\n   [\u003cf8cea53b\u003e] wdev_lock+0xd/0xf [cfg80211]\n   [\u003cf8cea58f\u003e] cfg80211_wireless_stats+0x45/0x12d [cfg80211]\n   [\u003cc13118d6\u003e] get_wireless_stats+0x16/0x1c\n   [\u003cc12844fe\u003e] wireless_show+0x2a/0x4c\n\nFix this by using the rtnl instead of dev_base_lock.\n\nReported-by: Miles Lane \u003cmiles.lane@gmail.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9240d7154e766ce6f3b615e81ed28f7562f509a5",
      "tree": "d8bc456e4b38cde9e4c5a5128f37dac5f66c6f0d",
      "parents": [
        "896a7cf8d846a9e86fb823be16f4f14ffeb7f074"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Oct 03 01:39:18 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 04 21:08:58 2009 -0700"
      },
      "message": "pktgen: restore nanosec delays\n\nCommit fd29cf72 (pktgen: convert to use ktime_t)\ninadvertantly converted \"delay\" parameter from nanosec to microsec.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "896a7cf8d846a9e86fb823be16f4f14ffeb7f074",
      "tree": "2260fac9cccf51938d710ab0fc74dc0fa0503a4f",
      "parents": [
        "a825e00c98a2ee37eb2a0ad93b352e79d2bc1593"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 02 20:24:59 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 04 21:08:54 2009 -0700"
      },
      "message": "pktgen: Fix multiqueue handling\n\nIt is not currently possible to instruct pktgen to use one selected tx queue.\n\nWhen Robert added multiqueue support in commit 45b270f8, he added\nan interval (queue_map_min, queue_map_max), and his code doesnt take\ninto account the case of min \u003d max, to select one tx queue exactly.\n\nI suspect a high performance setup on a eight txqueue device wants\nto use exactly eight cpus, and assign one tx queue to each sender.\n\nThis patchs makes pktgen select the right tx queue, not the first one.\n\nAlso updates Documentation to reflect Robert changes.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a99bbaf5ee6bad1aca0c88ea65ec6e5373e86184",
      "tree": "2b0314d68b9e0a76e8f4fb60865a1d56e138833a",
      "parents": [
        "5e5027bd26ed4df735d29e66cd5c1c9b5959a587"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Oct 04 16:11:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 04 15:05:10 2009 -0700"
      },
      "message": "headers: remove sched.h from poll.h\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "90d5ffc729e92bffc0f84e2447e2e6dc280240a5",
      "tree": "ee8e912a1e92ea612843af7492199e977f29ee89",
      "parents": [
        "0efe5e32c8729ef44b00d9a7203e4c99a6378b27",
        "6053bbf7bbdbb2c94547f830ad07636c17d7024e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 02 13:37:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 02 13:37:18 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (46 commits)\n  cnic: Fix NETDEV_UP event processing.\n  uvesafb/connector: Disallow unpliviged users to send netlink packets\n  pohmelfs/connector: Disallow unpliviged users to configure pohmelfs\n  dst/connector: Disallow unpliviged users to configure dst\n  dm/connector: Only process connector packages from privileged processes\n  connector: Removed the destruct_data callback since it is always kfree_skb()\n  connector/dm: Fixed a compilation warning\n  connector: Provide the sender\u0027s credentials to the callback\n  connector: Keep the skb in cn_callback_data\n  e1000e/igb/ixgbe: Don\u0027t report an error if devices don\u0027t support AER\n  net: Fix wrong sizeof\n  net: splice() from tcp to pipe should take into account O_NONBLOCK\n  net: Use sk_mark for routing lookup in more places\n  sky2: irqname based on pci address\n  skge: use unique IRQ name\n  IPv4 TCP fails to send window scale option when window scale is zero\n  net/ipv4/tcp.c: fix min() type mismatch warning\n  Kconfig: STRIP: Remove stale bits of STRIP help text\n  NET: mkiss: Fix typo\n  tg3: Remove prev_vlan_tag from struct tx_ring_info\n  ...\n"
    },
    {
      "commit": "42324c62704365d6a3e89138dea55909d2f26afe",
      "tree": "6a56f042aebb4e0dbc8da7e904d79989e42b3666",
      "parents": [
        "914a9ab386a288d0f22252fc268ecbc048cdcbd5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 01 15:26:00 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 02 09:46:05 2009 -0700"
      },
      "message": "net: splice() from tcp to pipe should take into account O_NONBLOCK\n\ntcp_splice_read() doesnt take into account socket\u0027s O_NONBLOCK flag\n\nBefore this patch :\n\nsplice(socket,0,pipe,0,128*1024,SPLICE_F_MOVE);\ncauses a random endless block (if pipe is full) and\nsplice(socket,0,pipe,0,128*1024,SPLICE_F_MOVE | SPLICE_F_NONBLOCK);\nwill return 0 immediately if the TCP buffer is empty.\n\nUser application has no way to instruct splice() that socket should be in blocking mode\nbut pipe in nonblock more.\n\nMany projects cannot use splice(tcp -\u003e pipe) because of this flaw.\n\nhttp://git.samba.org/?p\u003dsamba.git;a\u003dhistory;f\u003dsource3/lib/recvfile.c;h\u003dea0159642137390a0f7e57a123684e6e63e47581;hb\u003dHEAD\nhttp://lkml.indiana.edu/hypermail/linux/kernel/0807.2/0687.html\n\nLinus introduced  SPLICE_F_NONBLOCK in commit 29e350944fdc2dfca102500790d8ad6d6ff4f69d\n(splice: add SPLICE_F_NONBLOCK flag )\n\n  It doesn\u0027t make the splice itself necessarily nonblocking (because the\n  actual file descriptors that are spliced from/to may block unless they\n  have the O_NONBLOCK flag set), but it makes the splice pipe operations\n  nonblocking.\n\nLinus intention was clear : let SPLICE_F_NONBLOCK control the splice pipe mode only\n\nThis patch instruct tcp_splice_read() to use the underlying file O_NONBLOCK\nflag, as other socket operations do.\n\nUsers will then call :\n\nsplice(socket,0,pipe,0,128*1024,SPLICE_F_MOVE | SPLICE_F_NONBLOCK );\n\nto block on data coming from socket (if file is in blocking mode),\nand not block on pipe output (to avoid deadlock)\n\nFirst version of this patch was submitted by Octavian Purdila\n\nReported-by: Volker Lendecke \u003cvl@samba.org\u003e\nReported-by: Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "914a9ab386a288d0f22252fc268ecbc048cdcbd5",
      "tree": "5bc164381e7ff1b55990288b67ae014b5ed668ea",
      "parents": [
        "66466797c7e2406579724e42eb9cfe05d53a882b"
      ],
      "author": {
        "name": "Atis Elsts",
        "email": "atis@mikrotik.com",
        "time": "Thu Oct 01 15:16:49 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 01 15:16:49 2009 -0700"
      },
      "message": "net: Use sk_mark for routing lookup in more places\n\nThis patch against v2.6.31 adds support for route lookup using sk_mark in some \nmore places. The benefits from this patch are the following.\nFirst, SO_MARK option now has effect on UDP sockets too.\nSecond, ip_queue_xmit() and inet_sk_rebuild_header() could fail to do routing \nlookup correctly if TCP sockets with SO_MARK were used.\n\nSigned-off-by: Atis Elsts \u003catis@mikrotik.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "89e95a613c8a045ce0c5b992ba19f10613f6ab2f",
      "tree": "c2e00d58e520ac114362631d672ea2aa198b9d43",
      "parents": [
        "4fdb78d3093a347456e108b77d56d493d29071b2"
      ],
      "author": {
        "name": "Ori Finkelman",
        "email": "ori@comsleep.com",
        "time": "Thu Oct 01 06:41:59 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 01 15:14:51 2009 -0700"
      },
      "message": "IPv4 TCP fails to send window scale option when window scale is zero\n\nAcknowledge TCP window scale support by inserting the proper option in SYN/ACK\nand SYN headers even if our window scale is zero.\n\nThis fixes the following observed behavior:\n\n1. Client sends a SYN with TCP window scaling option and non zero window scale\nvalue to a Linux box.\n2. Linux box notes large receive window from client.\n3. Linux decides on a zero value of window scale for its part.\n4. Due to compare against requested window scale size option, Linux does not to\n send windows scale TCP option header on SYN/ACK at all.\n\nWith the following result:\n\nClient box thinks TCP window scaling is not supported, since SYN/ACK had no\nTCP window scale option, while Linux thinks that TCP window scaling is\nsupported (and scale might be non zero), since SYN had  TCP window scale\noption and we have a mismatched idea between the client and server\nregarding window sizes.\n\nProbably it also fixes up the following bug (not observed in practice):\n\n1. Linux box opens TCP connection to some server.\n2. Linux decides on zero value of window scale.\n3. Due to compare against computed window scale size option, Linux does\nnot to set windows scale TCP  option header on SYN.\n\nWith the expected result that the server OS does not use window scale option\ndue to not receiving such an option in the SYN headers, leading to suboptimal\nperformance.\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@codefidence.com\u003e\nSigned-off-by: Ori Finkelman \u003cori@comsleep.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4fdb78d3093a347456e108b77d56d493d29071b2",
      "tree": "2ad6dc10dc3603d40caaa26fbdb6684f30987a4e",
      "parents": [
        "28ad3957b913855e8d41a27f7b90bed944809625"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Oct 01 15:02:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 01 15:02:20 2009 -0700"
      },
      "message": "net/ipv4/tcp.c: fix min() type mismatch warning\n\nnet/ipv4/tcp.c: In function \u0027do_tcp_setsockopt\u0027:\nnet/ipv4/tcp.c:2050: warning: comparison of distinct pointer types lacks a cast\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a98917acc73181668f2188ec617fea9ce3ac3944",
      "tree": "f82216c759f286fe9e411856bbdcf6113c8f1030",
      "parents": [
        "417bc4b855f04dd4ad27a7cabe3e7996a7b78ddb",
        "e16c1bb67a0010b5bad26ddc3e691655fd7456e3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 01 12:43:07 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 01 12:43:07 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "417bc4b855f04dd4ad27a7cabe3e7996a7b78ddb",
      "tree": "75752bd8823f98b27957d02ea95ae582ff1e6a84",
      "parents": [
        "a00d2102ce01df5f0a8892814ecd26d130d47e7d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 01 09:29:45 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 01 09:29:45 2009 -0700"
      },
      "message": "pktgen: Fix delay handling\n\nAfter last pktgen changes, delay handling is wrong.\n\npktgen actually sends packets at full line speed.\n\nFix is to update pkt_dev-\u003enext_tx even if spin() returns early,\nso that next spin() calls have a chance to see a positive delay.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "817b33d38f81c8736d39283c35c886ae4668f1af",
      "tree": "64f60a88baf8b48c350d680f8b69fa6c759c3a82",
      "parents": [
        "84d88d5d4efc37dfb8a93a4a58d8a227ee86ffa4",
        "8c185ab6185bf5e67766edb000ce428269364c86"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 30 17:36:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 30 17:36:45 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  ax25: Fix possible oops in ax25_make_new\n  net: restore tx timestamping for accelerated vlans\n  Phonet: fix mutex imbalance\n  sit: fix off-by-one in ipip6_tunnel_get_prl\n  net: Fix sock_wfree() race\n  net: Make setsockopt() optlen be unsigned.\n"
    },
    {
      "commit": "8c185ab6185bf5e67766edb000ce428269364c86",
      "tree": "f866c6daea8affedbe04bba6948bd688e9500498",
      "parents": [
        "81bbb3d4048cf577b5babcb0834230de391a35c5"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Sun Sep 27 10:57:02 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:44:12 2009 -0700"
      },
      "message": "ax25: Fix possible oops in ax25_make_new\n\nIn ax25_make_new, if kmemdup of digipeat returns an error, there would\nbe an oops in sk_free while calling sk_destruct, because sk_protinfo\nis NULL at the moment; move sk-\u003esk_destruct initialization after this.\n\nBTW of reported-by: Bernard Pidoux F6BVP \u003cf6bvp@free.fr\u003e\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "81bbb3d4048cf577b5babcb0834230de391a35c5",
      "tree": "cd22532d5acdff525c39881186fa96afd834c249",
      "parents": [
        "013820a360b63a0a18fa13afb858b9f1af7e64fe"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 30 16:42:42 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:42:42 2009 -0700"
      },
      "message": "net: restore tx timestamping for accelerated vlans\n\nSince commit 9b22ea560957de1484e6b3e8538f7eef202e3596\n( net: fix packet socket delivery in rx irq handler )\n\nWe lost rx timestamping of packets received on accelerated vlans.\n\nEffect is that tcpdump on real dev can show strange timings, since it gets rx timestamps\ntoo late (ie at skb dequeueing time, not at skb queueing time)\n\n14:47:26.986871 IP 192.168.20.110 \u003e 192.168.20.141: icmp 64: echo request seq 1\n14:47:26.986786 IP 192.168.20.141 \u003e 192.168.20.110: icmp 64: echo reply seq 1\n\n14:47:27.986888 IP 192.168.20.110 \u003e 192.168.20.141: icmp 64: echo request seq 2\n14:47:27.986781 IP 192.168.20.141 \u003e 192.168.20.110: icmp 64: echo reply seq 2\n\n14:47:28.986896 IP 192.168.20.110 \u003e 192.168.20.141: icmp 64: echo request seq 3\n14:47:28.986780 IP 192.168.20.141 \u003e 192.168.20.110: icmp 64: echo reply seq 3\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "013820a360b63a0a18fa13afb858b9f1af7e64fe",
      "tree": "b7e0703832b661246b70943f12c90f6c5407f282",
      "parents": [
        "298bf12ddb25841804f26234a43b89da1b1c0e21"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Wed Sep 30 16:41:34 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:41:34 2009 -0700"
      },
      "message": "Phonet: fix mutex imbalance\n\nFrom: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\n\nport_mutex was unlocked twice.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "298bf12ddb25841804f26234a43b89da1b1c0e21",
      "tree": "9a381edac05354fcc7750feb6b30335cd2938726",
      "parents": [
        "d99927f4d93f36553699573b279e0ff98ad7dea6"
      ],
      "author": {
        "name": "Sascha Hlusiak",
        "email": "contact@saschahlusiak.de",
        "time": "Tue Sep 29 11:27:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:39:27 2009 -0700"
      },
      "message": "sit: fix off-by-one in ipip6_tunnel_get_prl\n\nWhen requesting all prl entries (kprl.addr \u003d\u003d INADDR_ANY) and there are\nmore prl entries than there is space passed from userspace, the existing\ncode would always copy cmax+1 entries, which is more than can be handled.\n\nThis patch makes the kernel copy only exactly cmax entries.\n\nSigned-off-by: Sascha Hlusiak \u003ccontact@saschahlusiak.de\u003e\nAcked-By: Fred L. Templin \u003cFred.L.Templin@boeing.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d99927f4d93f36553699573b279e0ff98ad7dea6",
      "tree": "28481ae5aebac58c5fe29e0f08eddff4e80289f6",
      "parents": [
        "b7058842c940ad2c08dd829b21e5c92ebe3b8758"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 24 10:49:24 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:20:38 2009 -0700"
      },
      "message": "net: Fix sock_wfree() race\n\nCommit 2b85a34e911bf483c27cfdd124aeb1605145dc80\n(net: No more expensive sock_hold()/sock_put() on each tx)\nopens a window in sock_wfree() where another cpu\nmight free the socket we are working on.\n\nA fix is to call sk-\u003esk_write_space(sk) while still\nholding a reference on sk.\n\nReported-by: Jike Song \u003calbcamus@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": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a4c8d75f4ff512c42065a7125d02dffe27966ce",
      "tree": "05b47722f0515f134f64d3cda6113ba8ca60ad32",
      "parents": [
        "e15daf6cdf59fd76c0c5d396ccd1426567305750",
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 30 08:07:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 30 08:07:12 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (33 commits)\n  sony-laptop: re-read the rfkill state when resuming from suspend\n  sony-laptop: check for rfkill hard block at load time\n  wext: add back wireless/ dir in sysfs for cfg80211 interfaces\n  wext: Add bound checks for copy_from_user\n  mac80211: improve/fix mlme messages\n  cfg80211: always get BSS\n  iwlwifi: fix 3945 ucode info retrieval after failure\n  iwlwifi: fix memory leak in command queue handling\n  iwlwifi: fix debugfs buffer handling\n  cfg80211: don\u0027t set privacy w/o key\n  cfg80211: wext: don\u0027t display BSSID unless associated\n  net: Add explicit bound checks in net/socket.c\n  bridge: Fix double-free in br_add_if.\n  isdn: fix netjet/isdnhdlc build errors\n  atm: dereference of he_dev-\u003erbps_virt in he_init_group()\n  ax25: Add missing dev_put in ax25_setsockopt\n  Revert \"sit: stateless autoconf for isatap\"\n  net: fix double skb free in dcbnl\n  net: fix nlmsg len size for skb when error bit is set.\n  net: fix vlan_get_size to include vlan_flags size\n  ...\n"
    },
    {
      "commit": "1f08e84ff642294e42d138442a388989ffb20865",
      "tree": "b976fa8bba1e54d9361452c4f4da18e6bd9a227a",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "Igor Perminov",
        "email": "igor.perminov@inbox.ru",
        "time": "Tue Sep 22 00:25:44 2009 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Sep 29 17:25:15 2009 -0400"
      },
      "message": "mac80211: Fix [re]association power saving issue on AP side\n\nConsider the following step-by step:\n1. A STA authenticates and associates with the AP and exchanges\ntraffic.\n2. The STA reports to the AP that it is going to PS state.\n3. Some time later the STA device goes to the stand-by mode (not only\nits wi-fi card, but the device itself) and drops the association state\nwithout sending a disassociation frame.\n4. The STA device wakes up and begins authentication with an\nAuth frame as it hasn\u0027t been authenticated/associated previously.\n\nAt the step 4 the AP \"remembers\" the STA and considers it is still in\nthe PS state, so the AP buffers frames, which it has to send to the STA.\nBut the STA isn\u0027t actually in the PS state and so it neither checks\nTIM bits nor reports to the AP that it isn\u0027t power saving.\nBecause of that authentication/[re]association fails.\n\nTo fix authentication/[re]association stage of this issue, Auth, Assoc\nResp and Reassoc Resp frames are transmitted disregarding of STA\u0027s power\nsaving state.\n\nN.B. This patch doesn\u0027t fix further data frame exchange after\nauthentication/[re]association. A patch in hostapd is required to fix\nthat.\n\nSigned-off-by: Igor Perminov \u003cigor.perminov@inbox.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0",
      "tree": "ee5e1e52ef663e1a4d19c7abd6477a8ed75fda41",
      "parents": [
        "47379052b5c87707bc6e20a2a4f6ac156fb8357c",
        "a0d97d6c7ceddc176b5eed171aa2a52e32cf3eda"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 28 14:50:06 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 28 14:50:06 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "8f1546cadf7ac5e9a40d54089a1c7302264ec49b",
      "tree": "31f77528caf2b87cbafd9292d6e73e9da361cdec",
      "parents": [
        "8503bd8c7dc6f82ec2de9d05e0a476e6ca5adc8b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Sep 28 15:26:43 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 28 16:55:07 2009 -0400"
      },
      "message": "wext: add back wireless/ dir in sysfs for cfg80211 interfaces\n\nThe move away from having drivers assign wireless handlers,\nin favour of making cfg80211 assign them, broke the sysfs\nregistration (the wireless/ dir went missing) because the\nhandlers are now assigned only after registration, which is\ntoo late.\n\nFix this by special-casing cfg80211-based devices, all\nof which are required to have an ieee80211_ptr, in the\nsysfs code, and also using get_wireless_stats() to have\nthe same values reported as in procfs.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nReported-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nTested-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8503bd8c7dc6f82ec2de9d05e0a476e6ca5adc8b",
      "tree": "42da5de2f0ee624e675d7b27f7e8c05301de0d2d",
      "parents": [
        "0ff716136ab73d2fc1edc0664e38169e7a76bb9a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Sep 26 20:51:14 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 28 16:55:06 2009 -0400"
      },
      "message": "wext: Add bound checks for copy_from_user\n\nThe wireless extensions have a copy_from_user to a local stack\narray \"essid\", but both me and gcc have failed to find where\nthe bounds for this copy are located in the code.\n\nThis patch adds some basic sanity checks for the copy length\nto make sure that we don\u0027t overflow the stack buffer.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: linux-wireless@vger.kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0ff716136ab73d2fc1edc0664e38169e7a76bb9a",
      "tree": "3d734c7cb28c4bffe03285bd6657d7f6901e8694",
      "parents": [
        "8bb894859e9495a94f94af3ee4711c89cdf24a95"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Sep 26 14:45:41 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 28 16:55:05 2009 -0400"
      },
      "message": "mac80211: improve/fix mlme messages\n\nIt\u0027s useful to know the MAC address when being\ndisassociated; fix a typo (missing colon) and\nmove some messages so we get them only when they\nare actually taking effect.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8bb894859e9495a94f94af3ee4711c89cdf24a95",
      "tree": "3b2c497467e390a3aaa28bfddbe4e72e3b94e4bf",
      "parents": [
        "b7a794048ff30d53764c1e41ccb2bff7f7bec2a8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Sep 26 14:42:53 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 28 16:55:05 2009 -0400"
      },
      "message": "cfg80211: always get BSS\n\nMultiple problems were reported due to interaction\nbetween wpa_supplicant and the wext compat code in\ncfg80211, which appear to be due to it not getting\nany bss pointer here when wpa_supplicant sets all\nparameters -- do that now. We should still get the\nbss after doing an extra scan, but that appears to\nincrease the time we need for connecting enough to\nsometimes cause timeouts.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nTested-by: Hin-Tak Leung \u003chintak.leung@gmail.com\u003e,\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4be3bd8ccc195297870b9ffca4ef18bcbc2f1822",
      "tree": "d8a1bed71b9b1dfb4f017494378c80a02eda6ea9",
      "parents": [
        "33de4f9d787e01646f715ac10c2699fb98fd479e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 24 09:00:57 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 28 16:55:04 2009 -0400"
      },
      "message": "cfg80211: don\u0027t set privacy w/o key\n\nWhen wpa_supplicant is used to connect to open networks,\nit causes the wdev-\u003ewext.keys to point to key memory, but\nthat key memory is all empty. Only use privacy when there\nis a default key to be used.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nTested-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nTested-by: Kalle Valo \u003ckalle.valo@iki.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "33de4f9d787e01646f715ac10c2699fb98fd479e",
      "tree": "8d9e9e42ac8143b7d7d26c46fd12aff091c10d74",
      "parents": [
        "d1f8297a96b0d70f17704296a6666468f2087ce6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 17 08:35:54 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 28 16:55:04 2009 -0400"
      },
      "message": "cfg80211: wext: don\u0027t display BSSID unless associated\n\nCurrently, cfg80211\u0027s SIOCGIWAP implementation returns\nthe BSSID that the user set, even if the connection has\nsince been dropped due to other changes. It only should\nreturn the current BSSID when actually connected.\n\nAlso do a small code cleanup.\n\nReported-by: Thomas H. Guenther \u003cthomas.h.guenther@intel.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nTested-by: Thomas H. Guenther \u003cthomas.h.guenther@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "47379052b5c87707bc6e20a2a4f6ac156fb8357c",
      "tree": "178c84b77edbc7cac3223cbe930bd5927a4bf86f",
      "parents": [
        "30df94f800368a016d09ee672c9fcc20751d0260"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Sep 28 12:57:44 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 28 12:57:44 2009 -0700"
      },
      "message": "net: Add explicit bound checks in net/socket.c\n\nThe sys_socketcall() function has a very clever system for the copy\nsize of its arguments. Unfortunately, gcc cannot deal with this in\nterms of proving that the copy_from_user() is then always in bounds.\nThis is the last (well 9th of this series, but last in the kernel) such\ncase around.\n\nWith this patch, we can turn on code to make having the boundary provably\nright for the whole kernel, and detect introduction of new security\naccidents of this type early on.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30df94f800368a016d09ee672c9fcc20751d0260",
      "tree": "1626c98991a1c828d6d359100f5db5bb4e20a946",
      "parents": [
        "8823ad31cd3baf73bd21913cf030b9e7afd22923"
      ],
      "author": {
        "name": "Jeff Hansen",
        "email": "x@jeffhansen.com",
        "time": "Mon Sep 28 12:54:25 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 28 12:54:25 2009 -0700"
      },
      "message": "bridge: Fix double-free in br_add_if.\n\nThere is a potential double-kfree in net/bridge/br_if.c.  If br_fdb_insert\nfails, then the kobject is put back (which calls kfree due to the kobject\nrelease), and then kfree is called again on the net_bridge_port.  This\npatch fixes the crash.\n\nThanks to Stephen Hemminger for the one-line fix.\n\nSigned-off-by: Jeff Hansen \u003cx@jeffhansen.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f72291d3d0e440f9343c7b97dc233c1a122165a",
      "tree": "f2cdcf5bfd4b44387751c6339cf996e8ef455559",
      "parents": [
        "d1f8297a96b0d70f17704296a6666468f2087ce6"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Sep 28 12:26:28 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 28 12:26:28 2009 -0700"
      },
      "message": "ax25: Add missing dev_put in ax25_setsockopt\n\nax25_setsockopt SO_BINDTODEVICE is missing a dev_put call in case of\nsuccess.  Re-order code to fix this bug.  While at it also reformat two\nlines of code to comply with the Linux coding style.\n\nInitial patch by Jarek Poplawski \u003cjarkao2@gmail.com\u003e.\n\nReported-by: Bernard Pidoux F6BVP \u003cf6bvp@free.fr\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0f37e2f77731b3473fa6bd5ee53255d9a9cdb40",
      "tree": "3c26d3ed1a453156e9c208ccb5567a8954dba064",
      "parents": [
        "6f5071020d5ec89b5d095aa488db604adb921aec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Sep 27 22:29:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 27 11:39:25 2009 -0700"
      },
      "message": "const: mark struct vm_struct_operations\n\n* mark struct vm_area_struct::vm_ops as const\n* mark vm_ops in AGP code\n\nBut leave TTM code alone, something is fishy there with global vm_ops\nbeing used.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1f8297a96b0d70f17704296a6666468f2087ce6",
      "tree": "308ecb282fcaf98439918c13178a2dc326bc8eb0",
      "parents": [
        "7eaf5077b37bb33dbd44e569ff88566d6fe286e9"
      ],
      "author": {
        "name": "Sascha Hlusiak",
        "email": "contact@saschahlusiak.de",
        "time": "Sat Sep 26 20:28:07 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 26 20:28:07 2009 -0700"
      },
      "message": "Revert \"sit: stateless autoconf for isatap\"\n\nThis reverts commit 645069299a1c7358cf7330afe293f07552f11a5d.\n\nWhile the code does not actually break anything, it does not completely follow\nRFC5214 yet. After talking back with Fred L. Templin, I agree that completing the\nISATAP specific RS/RA code, would pollute the kernel a lot with code that is better\nimplemented in userspace.\n\nThe kernel should not send RS packages for ISATAP at all.\n\nSigned-off-by: Sascha Hlusiak \u003ccontact@saschahlusiak.de\u003e\nAcked-by: Fred L. Templin \u003cFred.L.Templin@boeing.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7eaf5077b37bb33dbd44e569ff88566d6fe286e9",
      "tree": "71029b598e5236463cf2a979926d9a98783e2558",
      "parents": [
        "5dba93aedfc6906b27791c4a1136b177beae25b7"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Fri Sep 25 13:12:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 26 20:16:15 2009 -0700"
      },
      "message": "net: fix double skb free in dcbnl\n\nnetlink_unicast() calls kfree_skb even in the error case.\n\ndcbnl calls netlink_unicast() which when it fails free\u0027s the\nskb and returns an error value.  dcbnl is free\u0027ing the skb\nagain when this error occurs.  This patch removes the double\nfree.\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": "5dba93aedfc6906b27791c4a1136b177beae25b7",
      "tree": "2d2493187f430245110bd640c8a5c990aaf865d7",
      "parents": [
        "fc482cc54e56bde012585905eb0f3565bec18ff5"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Fri Sep 25 13:11:44 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 26 20:16:11 2009 -0700"
      },
      "message": "net: fix nlmsg len size for skb when error bit is set.\n\nCurrently, the nlmsg-\u003elen field is not set correctly in  netlink_ack()\nfor ack messages that include the nlmsg of the error frame.  This\ncorrects the length field passed to __nlmsg_put to use the correct\npayload size.\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": "fc482cc54e56bde012585905eb0f3565bec18ff5",
      "tree": "e8e9c493268c34ba2b729d9a21dcd2b74b99f9fa",
      "parents": [
        "a71b4f5e2b42a773947625ce0a6367837f8d9359"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Fri Sep 25 13:11:24 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 26 20:16:07 2009 -0700"
      },
      "message": "net: fix vlan_get_size to include vlan_flags size\n\nFix vlan_get_size to include vlan-\u003eflags.  Currently, the\nsize of the vlan flags is not included in the nlmsg size.\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": "c0181d420cc1a506ca4418ce90e2ad89831eee2c",
      "tree": "2c28009e8312427a2d934352c8c1c3363941d8af",
      "parents": [
        "a91eba5b9db4c09f53c8f23327915c7c75d3235f"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Fri Sep 25 03:10:38 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 25 13:43:48 2009 -0700"
      },
      "message": "ax25: Fix ax25_cb refcounting in ax25_ctl_ioctl\n\nUse ax25_cb_put after ax25_find_cb in ax25_ctl_ioctl.\n\nReported-by: Bernard Pidoux F6BVP \u003cf6bvp@free.fr\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nReviewed-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8273570f802a7658827dcb077b0b517ba75a289",
      "tree": "06fcee4433089cdb16504f40b1975ebbdf69e241",
      "parents": [
        "704cc92e9ffe29458ea8831ae097c631b1160c01"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 24 15:44:05 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:44:05 2009 -0700"
      },
      "message": "genetlink: fix netns vs. netlink table locking (2)\n\nSimilar to commit d136f1bd366fdb7e747ca7e0218171e7a00a98a5,\nthere\u0027s a bug when unregistering a generic netlink family,\nwhich is caught by the might_sleep() added in that commit:\n\n    BUG: sleeping function called from invalid context at net/netlink/af_netlink.c:183\n    in_atomic(): 1, irqs_disabled(): 0, pid: 1510, name: rmmod\n    2 locks held by rmmod/1510:\n     #0:  (genl_mutex){+.+.+.}, at: [\u003cffffffff8138283b\u003e] genl_unregister_family+0x2b/0x130\n     #1:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff8138270c\u003e] __genl_unregister_mc_group+0x1c/0x120\n    Pid: 1510, comm: rmmod Not tainted 2.6.31-wl #444\n    Call Trace:\n     [\u003cffffffff81044ff9\u003e] __might_sleep+0x119/0x150\n     [\u003cffffffff81380501\u003e] netlink_table_grab+0x21/0x100\n     [\u003cffffffff813813a3\u003e] netlink_clear_multicast_users+0x23/0x60\n     [\u003cffffffff81382761\u003e] __genl_unregister_mc_group+0x71/0x120\n     [\u003cffffffff81382866\u003e] genl_unregister_family+0x56/0x130\n     [\u003cffffffffa0007d85\u003e] nl80211_exit+0x15/0x20 [cfg80211]\n     [\u003cffffffffa000005a\u003e] cfg80211_exit+0x1a/0x40 [cfg80211]\n\nFix in the same way by grabbing the netlink table lock\nbefore doing rcu_read_lock().\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a43912ab1925788765208da5cd664b6f8e011d08",
      "tree": "6f522dba1fd414b7da3999fa2da062d80a550874",
      "parents": [
        "edf42a27e8e242e543716663e54aa2b592ea070a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Sep 23 10:28:33 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:39:22 2009 -0700"
      },
      "message": "tunnel: eliminate recursion field\n\nIt seems recursion field from \"struct ip_tunnel\" is not anymore needed.\nrecursion prevention is done at the upper level (in dev_queue_xmit()),\nsince we use HARD_TX_LOCK protection for tunnels.\n\nThis avoids a cache line ping pong on \"struct ip_tunnel\" : This structure\nshould be now mostly read on xmit and receive paths.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c01695dabe508ecf3a619c36f0918e8d24c0d05",
      "tree": "2e0696cc842dc1ffbb1f0863a92381d6f72d70f8",
      "parents": [
        "18a1166de994685d770425086b2bcc1ba567f7ed"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Thu Sep 24 02:19:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:39:14 2009 -0700"
      },
      "message": "net: fix htmldocs sunrpc, clnt.c\n\nDOCPROC Documentation/DocBook/networking.xml\n  Warning(net/sunrpc/clnt.c:647): No description found for parameter \u0027req\u0027\n  Warning(net/sunrpc/clnt.c:647): No description found for parameter \u0027tk_ops\u0027\n  Warning(net/sunrpc/clnt.c:647): Excess function parameter \u0027ops\u0027 description in \u0027rpc_run_bc_task\u0027\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: Andy Adamson \u003candros@netapp.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18a1166de994685d770425086b2bcc1ba567f7ed",
      "tree": "748916e0e5640506b438b7bcafb863153a4c0816",
      "parents": [
        "582b0b611345fc8d9ab8a0605d2f14c468902719"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Wed Sep 23 03:17:11 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:38:57 2009 -0700"
      },
      "message": "Phonet: error on broadcast sending (unimplemented)\n\nIf we ever implement this, then we can stop returning an error.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "582b0b611345fc8d9ab8a0605d2f14c468902719",
      "tree": "3e051d3777171b7f708f5fd89c910d7a62eedfad",
      "parents": [
        "ef87979c273a2348430648ad1d5c2a5e5df50b6e"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Wed Sep 23 03:17:10 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:38:54 2009 -0700"
      },
      "message": "Phonet: fix race for port number in concurrent bind()\n\nAllocating a port number to a socket and hashing that socket shall be\nan atomic operation with regards to other port allocation. Otherwise,\nwe could allocate a port that is already being allocated to another\nsocket.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef87979c273a2348430648ad1d5c2a5e5df50b6e",
      "tree": "944be9878e1a54d68f612374d4896d7e61820c0b",
      "parents": [
        "6b80d6a6b4e27fd355641823c5f4ac3f96d072e5"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 22 19:41:43 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:38:50 2009 -0700"
      },
      "message": "pktgen: better scheduler friendliness\n\nPrevious update did not resched in inner loop causing watchdogs.\nRewrite inner loop to:\n  * account for delays better with less clock calls\n  * more accurate timing of delay:\n    - only delay if packet was successfully sent\n    - if delay is 100ns and it takes 10ns to build packet then\n      account for that\n  * use wait_event_interruptible_timeout rather than open coding it.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6b80d6a6b4e27fd355641823c5f4ac3f96d072e5",
      "tree": "e2b8701061efd7cd1cc9734e78f3e14b0126d69b",
      "parents": [
        "0915921bde4eb5d943b17c175febac58a254d7b6"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 22 19:41:42 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:38:46 2009 -0700"
      },
      "message": "pktgen: T_TERMINATE flag is unused\n\nGet rid of unused flag bit.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0915921bde4eb5d943b17c175febac58a254d7b6",
      "tree": "cd6a6845d0a340f4aa06a3b5f28118ae8d7e66bb",
      "parents": [
        "8b3f6af86378d0a10ca2f1ded1da124aef13b62c"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Tue Sep 22 15:41:10 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:38:44 2009 -0700"
      },
      "message": "ipv4: check optlen for IP_MULTICAST_IF option\n\nDue to man page of setsockopt, if optlen is not valid, kernel should return\n-EINVAL. But a simple testcase as following, errno is 0, which means setsockopt\nis successful.\n\taddr.s_addr \u003d inet_addr(\"192.1.2.3\");\n\tsetsockopt(s, IPPROTO_IP, IP_MULTICAST_IF, \u0026addr, 1);\n\tprintf(\"errno is %d\\n\", errno);\n\nXiaotian Feng(dfeng@redhat.com) caught the bug. We fix it firstly checking\nthe availability of optlen and then dealing with the logic like other options.\n\nReported-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b3f6af86378d0a10ca2f1ded1da124aef13b62c",
      "tree": "de6ca90295730343c495be8d98be8efa322140ef",
      "parents": [
        "139d6065c83071d5f66cd013a274a43699f8e2c1",
        "94e0fb086fc5663c38bbc0fe86d698be8314f82f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:13:11 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:13:11 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/staging/Kconfig\n\tdrivers/staging/Makefile\n\tdrivers/staging/cpc-usb/TODO\n\tdrivers/staging/cpc-usb/cpc-usb_drv.c\n\tdrivers/staging/cpc-usb/cpc.h\n\tdrivers/staging/cpc-usb/cpc_int.h\n\tdrivers/staging/cpc-usb/cpcusb.h\n"
    },
    {
      "commit": "8d65af789f3e2cf4cfbdbf71a0f7a61ebcd41d38",
      "tree": "121df3bfffc7853ac6d2c514ad514d4a748a0933",
      "parents": [
        "c0d0787b6d47d9f4d5e8bd321921104e854a9135"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 23 15:57:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:04 2009 -0700"
      },
      "message": "sysctl: remove \"struct file *\" argument of -\u003eproc_handler\n\nIt\u0027s unused.\n\nIt isn\u0027t needed -- read or write flag is already passed and sysctl\nshouldn\u0027t care about the rest.\n\nIt _was_ used in two places at arch/frv for some reason.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2bcd57ab61e7cabed626226a3771617981c11ce1",
      "tree": "687c0c35fb2a632cb8c56b2729f9c3873c9461bd",
      "parents": [
        "95e0d86badc410d525ea7218fd32df7bfbf9c837"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Sep 24 04:22:25 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 18:13:10 2009 -0700"
      },
      "message": "headers: utsname.h redux\n\n* remove asm/atomic.h inclusion from linux/utsname.h --\n   not needed after kref conversion\n * remove linux/utsname.h inclusion from files which do not need it\n\nNOTE: it looks like fs/binfmt_elf.c do not need utsname.h, however\ndue to some personality stuff it _is_ needed -- cowardly leave ELF-related\nheaders and files alone.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "139d6065c83071d5f66cd013a274a43699f8e2c1",
      "tree": "b5f0e79e24449ff3284bc5f2f8d3aed041fda108",
      "parents": [
        "efb064dec6e35618ddc04f3ba49f70e528fbe069",
        "b37fa870c7ccb500c7bf6aabc72cefa757da9791"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 16:23:46 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 16:23:46 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-rx.c\n"
    },
    {
      "commit": "4111d4fde6aa04a2e42c43d0e74593e6144b0f0f",
      "tree": "e4818a8832493a76427c072ef5c61f20360f92b1",
      "parents": [
        "97363c6a4f93a20380b4a9e11f35e27fed68a517"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Sep 23 14:36:38 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 23 14:36:38 2009 -0400"
      },
      "message": "sunrpc/rpc_pipe: fix kernel-doc notation\n\nFix kernel-doc notation (\u0026 warnings) in sunrpc/rpc_pipe.c.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "61d0a8e6a8049cea246ee7ec19b042d4ff1f6ef6",
      "tree": "ee84a7e5260be07af494a70076bb70202ac0428d",
      "parents": [
        "8a6e5deb8a8caa810fef2c525f5dbea2cfe04a47"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 23 14:36:37 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 23 14:36:37 2009 -0400"
      },
      "message": "NFS/RPC: fix problems with reestablish_timeout and related code.\n\n\n[[resending with correct cc:  - \"vfs.kernel.org\" just isn\u0027t right!]]\n\nxprt-\u003ereestablish_timeout is used to cause TCP connection attempts to\nback off if the connection fails so as not to hammer the network,\nbut to still allow immediate connections when there is no reason to\nbelieve there is a problem.\n\nIt is not used for the first connection (when transport-\u003esock is NULL)\nbut only on reconnects.\n\nIt is currently set:\n\n a/ to 0 when xs_tcp_state_change finds a state of TCP_FIN_WAIT1\n    on the assumption that the client has closed the connection\n    so the reconnect should be immediate when needed.\n b/ to at least XS_TCP_INIT_REEST_TO when xs_tcp_state_change\n    detects TCP_CLOSING or TCP_CLOSE_WAIT on the assumption that the\n    server closed the connection so a small delay at least is\n    required.\n c/ as above when xs_tcp_state_change detects TCP_SYN_SENT, so that\n    it is never 0 while a connection has been attempted, else\n    the doubling will produce 0 and there will be no backoff.\n d/ to double is value (up to a limit) when delaying a connection,\n    thus providing exponential backoff and\n e/ to XS_TCP_INIT_REEST_TO in xs_setup_tcp as simple initialisation.\n\nSo you can see it is highly dependant on xs_tcp_state_change being\ncalled as expected.  However experimental evidence shows that\nxs_tcp_state_change does not see all state changes.\n(\"rpcdebug -m rpc trans\" can help show what actually happens).\n\nResults show:\n TCP_ESTABLISHED is reported when a connection is made.  TCP_SYN_SENT\n is never reported, so rule \u0027c\u0027 above is never effective.\n\n When the server closes the connection, TCP_CLOSE_WAIT and\n TCP_LAST_ACK *might* be reported, and TCP_CLOSE is always\n reported.  This rule \u0027b\u0027 above will sometimes be effective, but\n not reliably.\n\n When the client closes the connection, it used to result in\n TCP_FIN_WAIT1, TCP_FIN_WAIT2, TCP_CLOSE.  However since commit\n f75e674 (SUNRPC: Fix the problem of EADDRNOTAVAIL syslog floods on\n reconnect) we don\u0027t see *any* events on client-close.  I think this\n is because xs_restore_old_callbacks is called to disconnect\n xs_tcp_state_change before the socket is closed.\n In any case, rule \u0027a\u0027 no longer applies.\n\nSo all that is left are rule d, which successfully doubles the\ntimeout which is never rest, and rule e which initialises the timeout.\n\nEven if the rules worked as expected, there would be a problem because\na successful connection does not reset the timeout, so a sequence\nof events where the server closes the connection (e.g. during failover\ntesting) will cause longer and longer timeouts with no good reason.\n\nThis patch:\n\n - sets reestablish_timeout to 0 in xs_close thus effecting rule \u0027a\u0027\n - sets it to 0 in xs_tcp_data_ready to ensure that a successful\n   connection resets the timeout\n - sets it to at least XS_TCP_INIT_REEST_TO after it is doubled,\n   thus effecting rule c\n\nI have not reimplemented rule b and the new version of rule c\nseems sufficient.\n\nI suspect other code in xs_tcp_data_ready needs to be revised as well.\nFor example I don\u0027t think connect_cookie is being incremented as often\nas it should be.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1f0918d03ff4b5c94540c71ce889672abdbc2f4a",
      "tree": "ecee710444fb3405da55933501e339e10e4ac880",
      "parents": [
        "4266c97a3ef4604561a22212eb0eab8a3c338971",
        "ca60a42c9be41c07ebcc2ec8c43dd1be53f147bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:23:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:23:45 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  lguest: don\u0027t force VIRTIO_F_NOTIFY_ON_EMPTY\n  lguest: cleanup for map_switcher()\n  lguest: use PGDIR_SHIFT for PAE code to allow different PAGE_OFFSET\n  lguest: use set_pte/set_pmd uniformly for real page table entries\n  lguest: move panic notifier registration to its expected place.\n  virtio_blk: add support for cache flush\n  virtio: add virtio IDs file\n  virtio: get rid of redundant VIRTIO_ID_9P definition\n  virtio: make add_buf return capacity remaining\n  virtio_pci: minor MSI-X cleanups\n"
    }
  ],
  "next": "94f85853324e02c3a32bc3101f090dc9a3f512b4"
}
