)]}'
{
  "log": [
    {
      "commit": "abef3bd71029b80ec1bdd6c6244b5b0b99f56633",
      "tree": "5645e6f4eb637fa8e290a1eab1f40436deb15338",
      "parents": [
        "6219844e72ecc7a7c9efed8b4e41a6c6064a4967",
        "a630844d898ae8a0b4a3db84af061150682e0d3c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 21 14:32:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 21 14:32:55 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking updates from David Miller:\n \"More bug fixes, nothing gets past these guys\"\n\n 1) More kernel info leaks found by Mathias Krause, this time in the\n    IPSEC configuration layers.\n\n 2) When IPSEC policies change, we do not properly make sure that cached\n    routes (which could now be stale) throughout the system will be\n    revalidated.  Fix this by generalizing the generation count\n    invalidation scheme used by ipv4.  From Nicolas Dichtel.\n\n 3) When repairing TCP sockets, we need to allow to restore not just the\n    send window scale, but the receive one too.  Extend the existing\n    interface to achieve this in a backwards compatible way.  From\n    Andrey Vagin.\n\n 4) A fix for FCOE scatter gather feature validation erroneously caused\n    scatter gather to be disabled for things like AOE too.  From Ed L\n    Cashin.\n\n 5) Several cases of mishandling of error pointers, from Mathias Krause,\n    Wei Yongjun, and Devendra Naga.\n\n 6) Fix gianfar build, from Richard Cochran.\n\n 7) CAP_NET_* failures should return -EPERM not -EACCES, from Zhao\n    Hongjiang.\n\n 8) Hardware reset fix in janz-ican3 CAN driver, from Ira W Snyder.\n\n 9) Fix oops during rmmod in ti_hecc CAN driver, from Marc Kleine-Budde.\n\n10) The removal of the conditional compilation of the clk support code\n    in the stmmac driver broke things.  This is because the interfaces\n    used are the ones that don\u0027t also perform the enable/disable of the\n    clk.  Fix from Stefan Roese.\n\n11) The QFQ packet scheduler can record out of range virtual start\n    times, resulting later in misbehavior and even crashes.  Fix from\n    Paolo Valente.\n\n12) If MSG_WAITALL is used with IOAT DMA under TCP, we can wedge the\n    receiver when the advertised receive window goes to zero.  Detect\n    this case and force the processing of the IOAT DMA queue when it\n    happens to avoid getting stuck.  Fix from Michal Kubecek.\n\n13) batman-adv assumes that test_bit() returns only 0 or 1, but this is\n    not true for x86 (which returns -1 or 0, via the \u0027sbb\u0027 instruction).\n    Fix from Linus Lussing.\n\n14) Fix small packet corruption in e1000, from Tushar Dave.\n\n15) make_blackhole() in the IPSEC policy code can do one read unlock too\n    many, fix from Li RongQing.\n\n16) The new tcp_try_coalesce() code introduced a bug in TCP URG\n    handling, fix from Eric Dumazet.\n\n17) Fix memory leak in __netif_receive_skb() when doing zerocopy and\n    when hit an OOM condition.  From Michael S Tsirkin.\n\n18) netxen blindly deferences pdev-\u003ebus-\u003eself, which is not guarenteed\n    to be non-NULL.  Fix from Nikolay Aleksandrov.\n\n19) Fix a performance regression caused by mistakes in ipv6 checksum\n    validation in the bnx2x driver, fix from Michal Schmidt.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (45 commits)\n  net/stmmac: Use clk_prepare_enable and clk_disable_unprepare\n  net: change return values from -EACCES to -EPERM\n  net/irda: sh_sir: fix return value check in sh_sir_set_baudrate()\n  stmmac: fix return value check in stmmac_open_ext_timer()\n  gianfar: fix phc index build failure\n  ipv6: fix return value check in fib6_add()\n  bnx2x: remove false warning regarding interrupt number\n  can: ti_hecc: fix oops during rmmod\n  can: janz-ican3: fix support for older hardware revisions\n  net: do not disable sg for packets requiring no checksum\n  aoe: assert AoE packets marked as requiring no checksum\n  at91ether: return PTR_ERR if call to clk_get fails\n  xfrm_user: don\u0027t copy esn replay window twice for new states\n  xfrm_user: ensure user supplied esn replay window is valid\n  xfrm_user: fix info leak in copy_to_user_tmpl()\n  xfrm_user: fix info leak in copy_to_user_policy()\n  xfrm_user: fix info leak in copy_to_user_state()\n  xfrm_user: fix info leak in copy_to_user_auth()\n  net: qmi_wwan: adding Huawei E367, ZTE MF683 and Pantech P4200\n  tcp: restore rcv_wscale in a repair mode (v2)\n  ...\n"
    },
    {
      "commit": "6f3118b571b8a4c06c7985dc3172c3526cb86253",
      "tree": "4b42d48f7346850618756ee4c26a179c5f7c7c3b",
      "parents": [
        "ee8372dd1989287c5eedb69d44bac43f69e496f1"
      ],
      "author": {
        "name": "Nicolas Dichtel",
        "email": "nicolas.dichtel@6wind.com",
        "time": "Mon Sep 10 22:09:46 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 18 15:57:03 2012 -0400"
      },
      "message": "ipv6: use net-\u003ert_genid to check dst validity\n\nIPv6 dst should take care of rt_genid too. When a xfrm policy is inserted or\ndeleted, all dst should be invalidated.\nTo force the validation, dst entries should be created with -\u003eobsolete set to\nDST_OBSOLETE_FORCE_CHK. This was already the case for all functions calling\nip6_dst_alloc(), except for ip6_rt_copy().\n\nAs a consequence, we can remove the specific code in inet6_connection_sock.\n\nSigned-off-by: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b42664f898c976247f7f609b8bb9c94d7475ca10",
      "tree": "b98e4d5d57b21d0a9dc8882bdc29e7cc7c6beccf",
      "parents": [
        "2885da72966fcb89f48d554339d347fb02b5ea78"
      ],
      "author": {
        "name": "Nicolas Dichtel",
        "email": "nicolas.dichtel@6wind.com",
        "time": "Mon Sep 10 22:09:44 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 18 15:57:03 2012 -0400"
      },
      "message": "netns: move net-\u003eipv4.rt_genid to net-\u003ert_genid\n\nThis commit prepares the use of rt_genid by both IPv4 and IPv6.\nInitialization is left in IPv4 part.\n\nSigned-off-by: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bafa6d9d89072c1a18853afe9ee5de05c491c13a",
      "tree": "d20837ee56043d318a8d9ea4f10085f0c46f81a9",
      "parents": [
        "a1f6d8f771d80ab0beea787aa4f1d02d2eacf22c"
      ],
      "author": {
        "name": "Nicolas Dichtel",
        "email": "nicolas.dichtel@6wind.com",
        "time": "Fri Sep 07 00:45:29 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 18 15:44:34 2012 -0400"
      },
      "message": "ipv4/route: arg delay is useless in rt_cache_flush()\n\nSince route cache deletion (89aef8921bfbac22f), delay is no\nmore used. Remove it.\n\nSigned-off-by: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "35c448a8a3471b95ebc0ebcf91eb1183401b4274",
      "tree": "be99b30b7ad761c1bf77e8b6132a98b1959b3c5c",
      "parents": [
        "8ba00bb68a067c221cc3ea3a0293e8fcbdcb7ba1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Sep 17 14:09:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 17 15:00:38 2012 -0700"
      },
      "message": "include/net/sock.h: squelch compiler warning in sk_rmem_schedule()\n\nThis warning:\n\n  In file included from linux/include/linux/tcp.h:227:0,\n                   from linux/include/linux/ipv6.h:221,\n                   from linux/include/net/ipv6.h:16,\n                   from linux/include/linux/sunrpc/clnt.h:26,\n                   from linux/net/sunrpc/stats.c:22:\n  linux/include/net/sock.h: In function `sk_rmem_schedule\u0027:\n  linux/nfs-2.6/include/net/sock.h:1339:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]\n\nis seen with gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) using the\n-Wextra option.\n\nCommit c76562b6709f (\"netvm: prevent a stream-specific deadlock\")\naccidentally replaced the \"size\" parameter of sk_rmem_schedule() with an\nunsigned int.  This changes the semantics of the comparison in the\nreturn statement.\n\nIn sk_wmem_schedule we have syntactically the same comparison, but\n\"size\" is a signed integer.  In addition, __sk_mem_schedule() takes a\nsigned integer for its \"size\" parameter, so there is an implicit type\nconversion in sk_rmem_schedule() anyway.\n\nRevert the \"size\" parameter back to a signed integer so that the\nsemantics of the expressions in both sk_[rw]mem_schedule() are exactly\nthe same.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Joonsoo Kim \u003cjs1304@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "777bf135b77071672662c67f0abffcf433450d68",
      "tree": "80cfe20e5ff5a3f1297c2ef86427c9bba93a8bce",
      "parents": [
        "b8dfc6a0a7235aed452c0e376b6feff182a86992",
        "f10723841e624c0726c70356b31d91befed01dd6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Sep 07 13:33:27 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 07 14:38:50 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem\n\nJohn W. Linville says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nPlease pull these fixes intended for 3.6.  There are more commits\nhere than I would like -- I got a bit behind while I was stalking\nSteven Rostedt in San Diego last week...  I\u0027ll slow it down after this!\n\nThere are a couple of pulls here.  One is from Johannes:\n\n\"Please pull (according to the below information) to get a few fixes.\n\n * a fix to properly disconnect in the driver when authentication or\n   association fails\n * a fix to prevent invalid information about mesh paths being reported\n   to userspace\n * a memory leak fix in an nl80211 error path\"\n\nThe other comes via Gustavo:\n\n\"A few updates for the 3.6 kernel. There are two btusb patches to add\nmore supported devices through the new USB_VENDOR_AND_INTEFACE_INFO()\nmacro and another one that add a new device id for a Sony Vaio laptop,\none fix for a user-after-free and, finally, two patches from Vinicius\nto fix a issue in SMP pairing.\"\n\nAlong with those...\n\nArend van Spriel provides a fix for a use-after-free bug in brcmfmac.\n\nDaniel Drake avoids a hang by not trying to touch the libertas hardware\nduing suspend if it is already powered-down.\n\nFelix Fietkau provides a batch of ath9k fixes that adress some\npotential problems with power settings, as well as a fix to avoid a\npotential interrupt storm.\n\nGertjan van Wingerde provides a register-width fix for rt2x00, and\na rt2x00 fix to prevent incorrectly detecting the rfkill status.\nHe also provides a device ID patch.\n\nHante Meuleman gives us three brcmfmac fixes, one that properly\ninitializes a command structure, one that fixes a race condition that\ncould lose usb requests, and one that removes some log spam.\n\nMarc Kleine-Budde offers an rt2x00 fix for a voltage setting on some\nspecific devices.\n\nMohammed Shafi Shajakhan sent an ath9k fix to avoid a crash related to\nusing timers that aren\u0027t allocated when 2 wire bluetooth coexistence\nhardware is in use.\n\nSergei Poselenov changes rt2800usb to do some validity checking for\nreceived packets, avoiding crashes on an ARM Soc.\n\nStone Piao gives us an mwifiex fix for an incorrectly set skb length\nvalue for a command buffer.\n\nAll of these are localized to their specific drivers, and relatively\nsmall.  The power-related patches from Felix are bigger than I would\nlike, but I merged them in consideration of their isolation to ath9k\nand the sensitive nature of power settings in wireless devices.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b59df46a449ec9975146d71318c4777ad086744",
      "tree": "8ba7e6186ef90c4bffe553504c33f40054704f94",
      "parents": [
        "37159ef2c1ae1e696b24b260b241209a19f92c60"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Sep 04 00:03:29 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 04 14:09:45 2012 -0400"
      },
      "message": "xfrm: Workaround incompatibility of ESN and async crypto\n\nESN for esp is defined in RFC 4303. This RFC assumes that the\nsequence number counters are always up to date. However,\nthis is not true if an async crypto algorithm is employed.\n\nIf the sequence number counters are not up to date on sequence\nnumber check, we may incorrectly update the upper 32 bit of\nthe sequence number. This leads to a DOS.\n\nWe workaround this by comparing the upper sequence number,\n(used for authentication) with the upper sequence number\ncomputed after the async processing. We drop the packet\nif these numbers are different.\n\nTo do this, we introduce a recheck function that does this\ncheck in the ESN case.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0dcd5052c8543ef999bcd252cee50b7ae8111e89",
      "tree": "1b10a35334ec660f8fe021ce9cdeb08bb65fc839",
      "parents": [
        "14a15d618743ebc4936fe03073bf0c75024d3a07",
        "5b423f6a40a0327f9d40bc8b97ce9be266f74368"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 31 13:06:37 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 31 13:06:37 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://1984.lsi.us.es/nf\n"
    },
    {
      "commit": "5b423f6a40a0327f9d40bc8b97ce9be266f74368",
      "tree": "f71b7726f6501993bc7be9d4d7e6e69d7cd095b2",
      "parents": [
        "3f509c689a07a4aa989b426893d8491a7ffcc410"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Aug 29 16:25:49 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Fri Aug 31 15:50:28 2012 +0200"
      },
      "message": "netfilter: nf_conntrack: fix racy timer handling with reliable events\n\nExisting code assumes that del_timer returns true for alive conntrack\nentries. However, this is not true if reliable events are enabled.\nIn that case, del_timer may return true for entries that were\njust inserted in the dying list. Note that packets / ctnetlink may\nhold references to conntrack entries that were just inserted to such\nlist.\n\nThis patch fixes the issue by adding an independent timer for\nevent delivery. This increases the size of the ecache extension.\nStill we can revisit this later and use variable size extensions\nto allocate this area on demand.\n\nTested-by: Oliver Smith \u003colipro@8.c.9.b.0.7.4.0.1.0.0.2.ip6.arpa\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "cc110922da7e902b62d18641a370fec01a9fa794",
      "tree": "3629d8b4b5197d50604ff0177eb77de96f0a9f99",
      "parents": [
        "1fa6535faf055cd71311ab887e94fc234f04ee18"
      ],
      "author": {
        "name": "Vinicius Costa Gomes",
        "email": "vinicius.gomes@openbossa.org",
        "time": "Thu Aug 23 21:32:43 2012 -0300"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Mon Aug 27 08:07:18 2012 -0700"
      },
      "message": "Bluetooth: Change signature of smp_conn_security()\n\nTo make it clear that it may be called from contexts that may not have\nany knowledge of L2CAP, we change the connection parameter, to receive\na hci_conn.\n\nThis also makes it clear that it is checking the security of the link.\n\nSigned-off-by: Vinicius Costa Gomes \u003cvinicius.gomes@openbossa.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "e0e3cea46d31d23dc40df0a49a7a2c04fe8edfea",
      "tree": "d3a95cc25dd504fecc807dbb8a9e9c3501c90edf",
      "parents": [
        "a9915a1b52df52ad87f3b33422da95cf25372f09"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Aug 21 06:21:17 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 21 14:53:01 2012 -0700"
      },
      "message": "af_netlink: force credentials passing [CVE-2012-3520]\n\nPablo Neira Ayuso discovered that avahi and\npotentially NetworkManager accept spoofed Netlink messages because of a\nkernel bug.  The kernel passes all-zero SCM_CREDENTIALS ancillary data\nto the receiver if the sender did not provide such data, instead of not\nincluding any such data at all or including the correct data from the\npeer (as it is the case with AF_UNIX).\n\nThis bug was introduced in commit 16e572626961\n(af_unix: dont send SCM_CREDENTIALS by default)\n\nThis patch forces passing credentials for netlink, as\nbefore the regression.\n\nAnother fix would be to not add SCM_CREDENTIALS in\nnetlink messages if not provided by the sender, but it\nmight break some programs.\n\nWith help from Florian Weimer \u0026 Petr Matousek\n\nThis issue is designated as CVE-2012-3520\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Petr Matousek \u003cpmatouse@redhat.com\u003e\nCc: Florian Weimer \u003cfweimer@redhat.com\u003e\nCc: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d7b0fc1ef1f17aff57c0dc9a59453d8fca255c3",
      "tree": "9007cdc51b1c61fa7b001140c2034a1dcfa5aae2",
      "parents": [
        "ae4d8cf299dbea4ce387a01da6f723c4050b31a7"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 20 02:56:56 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 20 02:56:56 2012 -0700"
      },
      "message": "net: ipv6: fix oops in inet_putpeer()\n\nCommit 97bab73f (inet: Hide route peer accesses behind helpers.) introduced\na bug in xfrm6_policy_destroy(). The xfrm_dst\u0027s _rt6i_peer member is not\ninitialized, causing a false positive result from inetpeer_ptr_is_peer(),\nwhich in turn causes a NULL pointer dereference in inet_putpeer().\n\nPid: 314, comm: kworker/0:1 Not tainted 3.6.0-rc1+ #17 To Be Filled By O.E.M. To Be Filled By O.E.M./P4S800D-X\nEIP: 0060:[\u003cc03abf93\u003e] EFLAGS: 00010246 CPU: 0\nEIP is at inet_putpeer+0xe/0x16\nEAX: 00000000 EBX: f3481700 ECX: 00000000 EDX: 000dd641\nESI: f3481700 EDI: c05e949c EBP: f551def4 ESP: f551def4\n DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068\nCR0: 8005003b CR2: 00000070 CR3: 3243d000 CR4: 00000750\nDR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000\nDR6: ffff0ff0 DR7: 00000400\n f551df04 c0423de1 00000000 f3481700 f551df18 c038d5f7 f254b9f8 f551df28\n f34f85d8 f551df20 c03ef48d f551df3c c0396870 f30697e8 f24e1738 c05e98f4\n f5509540 c05cd2b4 f551df7c c0142d2b c043feb5 f5509540 00000000 c05cd2e8\n [\u003cc0423de1\u003e] xfrm6_dst_destroy+0x42/0xdb\n [\u003cc038d5f7\u003e] dst_destroy+0x1d/0xa4\n [\u003cc03ef48d\u003e] xfrm_bundle_flo_delete+0x2b/0x36\n [\u003cc0396870\u003e] flow_cache_gc_task+0x85/0x9f\n [\u003cc0142d2b\u003e] process_one_work+0x122/0x441\n [\u003cc043feb5\u003e] ? apic_timer_interrupt+0x31/0x38\n [\u003cc03967eb\u003e] ? flow_cache_new_hashrnd+0x2b/0x2b\n [\u003cc0143e2d\u003e] worker_thread+0x113/0x3cc\n\nFix by adding a init_dst() callback to struct xfrm_policy_afinfo to\nproperly initialize the dst\u0027s peer pointer.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6024935f5ff5f1646bce8404416318e5fd4a0c4a",
      "tree": "415b5d3ed804bd9b6ff77e9ec3869c2fbe32d19f",
      "parents": [
        "4855d6f3116e891b66198838b683dce3dcf6e874"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Mon Aug 13 02:49:59 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 14 16:51:18 2012 -0700"
      },
      "message": "llc2: Fix silent failure of llc_station_init()\n\nllc_station_init() creates and processes an event skb with no effect\nother than to change the state from DOWN to UP.  Allocation failure is\nreported, but then ignored by its caller, llc2_init().  Remove this\npossibility by simply initialising the state as UP.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2359a47671fc4fb0fe5e9945f76c2cb10792c0f8",
      "tree": "2ff0ca201a2797f26414dcfe5df90ededb94375b",
      "parents": [
        "55461ddbcb0b36d1575e01fb4f130c609ca1cfee"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Sun Jul 29 20:52:21 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 10 16:52:54 2012 -0700"
      },
      "message": "codel: refine one condition to avoid a nul rec_inv_sqrt\n\nOne condition before codel_Newton_step() was not good if\nwe never left the dropping state for a flow. As a result\nrec_inv_sqrt was 0, instead of the ~0 initial value.\n\ncodel control law was then set to a very aggressive mode, dropping\nmany packets before reaching \u0027target\u0027 and recovering from this problem.\n\nTo keep codel_vars_init() as efficient as possible, refine\nthe condition to make sure rec_inv_sqrt initial value is correct\n\nMany thanks to Anton Mich for discovering the issue and suggesting\na fix.\n\nReported-by: Anton Mich \u003clp2s1h@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5ec8eeac46a99004c26791f70b15d001e970acf",
      "tree": "8609d6c3e5e9504e6f084828b9b0f8a9084652e3",
      "parents": [
        "63d02d157ec4124990258d66517b6c11fd6df0cf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri Aug 10 02:22:47 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 10 14:08:57 2012 -0700"
      },
      "message": "ipv4: fix ip_send_skb()\n\nip_send_skb() can send orphaned skb, so we must pass the net pointer to\navoid possible NULL dereference in error path.\n\nBug added by commit 3a7c384ffd57 (ipv4: tcp: unicast_sock should not\nland outside of TCP stack)\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63d02d157ec4124990258d66517b6c11fd6df0cf",
      "tree": "c25becd60d6a3ca9f3f2ec93eaed36c2f76162b0",
      "parents": [
        "3a7c384ffd57ef5fbd95f48edaa2ca4eb3d9f2ee"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Aug 09 14:11:00 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 09 20:56:09 2012 -0700"
      },
      "message": "net: tcp: ipv6_mapped needs sk_rx_dst_set method\n\ncommit 5d299f3d3c8a2fb (net: ipv6: fix TCP early demux) added a\nregression for ipv6_mapped case.\n\n[   67.422369] SELinux: initialized (dev autofs, type autofs), uses\ngenfs_contexts\n[   67.449678] SELinux: initialized (dev autofs, type autofs), uses\ngenfs_contexts\n[   92.631060] BUG: unable to handle kernel NULL pointer dereference at\n(null)\n[   92.631435] IP: [\u003c          (null)\u003e]           (null)\n[   92.631645] PGD 0\n[   92.631846] Oops: 0010 [#1] SMP\n[   92.632095] Modules linked in: autofs4 sunrpc ipv6 dm_mirror\ndm_region_hash dm_log dm_multipath dm_mod video sbs sbshc battery ac lp\nparport sg snd_hda_intel snd_hda_codec snd_seq_oss snd_seq_midi_event\nsnd_seq snd_seq_device pcspkr snd_pcm_oss snd_mixer_oss snd_pcm\nsnd_timer serio_raw button floppy snd i2c_i801 i2c_core soundcore\nsnd_page_alloc shpchp ide_cd_mod cdrom microcode ehci_hcd ohci_hcd\nuhci_hcd\n[   92.634294] CPU 0\n[   92.634294] Pid: 4469, comm: sendmail Not tainted 3.6.0-rc1 #3\n[   92.634294] RIP: 0010:[\u003c0000000000000000\u003e]  [\u003c          (null)\u003e]\n(null)\n[   92.634294] RSP: 0018:ffff880245fc7cb0  EFLAGS: 00010282\n[   92.634294] RAX: ffffffffa01985f0 RBX: ffff88024827ad00 RCX:\n0000000000000000\n[   92.634294] RDX: 0000000000000218 RSI: ffff880254735380 RDI:\nffff88024827ad00\n[   92.634294] RBP: ffff880245fc7cc8 R08: 0000000000000001 R09:\n0000000000000000\n[   92.634294] R10: 0000000000000000 R11: ffff880245fc7bf8 R12:\nffff880254735380\n[   92.634294] R13: ffff880254735380 R14: 0000000000000000 R15:\n7fffffffffff0218\n[   92.634294] FS:  00007f4516ccd6f0(0000) GS:ffff880256600000(0000)\nknlGS:0000000000000000\n[   92.634294] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[   92.634294] CR2: 0000000000000000 CR3: 0000000245ed1000 CR4:\n00000000000007f0\n[   92.634294] DR0: 0000000000000000 DR1: 0000000000000000 DR2:\n0000000000000000\n[   92.634294] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:\n0000000000000400\n[   92.634294] Process sendmail (pid: 4469, threadinfo ffff880245fc6000,\ntask ffff880254b8cac0)\n[   92.634294] Stack:\n[   92.634294]  ffffffff813837a7 ffff88024827ad00 ffff880254b6b0e8\nffff880245fc7d68\n[   92.634294]  ffffffff81385083 00000000001d2680 ffff8802547353a8\nffff880245fc7d18\n[   92.634294]  ffffffff8105903a ffff88024827ad60 0000000000000002\n00000000000000ff\n[   92.634294] Call Trace:\n[   92.634294]  [\u003cffffffff813837a7\u003e] ? tcp_finish_connect+0x2c/0xfa\n[   92.634294]  [\u003cffffffff81385083\u003e] tcp_rcv_state_process+0x2b6/0x9c6\n[   92.634294]  [\u003cffffffff8105903a\u003e] ? sched_clock_cpu+0xc3/0xd1\n[   92.634294]  [\u003cffffffff81059073\u003e] ? local_clock+0x2b/0x3c\n[   92.634294]  [\u003cffffffff8138caf3\u003e] tcp_v4_do_rcv+0x63a/0x670\n[   92.634294]  [\u003cffffffff8133278e\u003e] release_sock+0x128/0x1bd\n[   92.634294]  [\u003cffffffff8139f060\u003e] __inet_stream_connect+0x1b1/0x352\n[   92.634294]  [\u003cffffffff813325f5\u003e] ? lock_sock_nested+0x74/0x7f\n[   92.634294]  [\u003cffffffff8104b333\u003e] ? wake_up_bit+0x25/0x25\n[   92.634294]  [\u003cffffffff813325f5\u003e] ? lock_sock_nested+0x74/0x7f\n[   92.634294]  [\u003cffffffff8139f223\u003e] ? inet_stream_connect+0x22/0x4b\n[   92.634294]  [\u003cffffffff8139f234\u003e] inet_stream_connect+0x33/0x4b\n[   92.634294]  [\u003cffffffff8132e8cf\u003e] sys_connect+0x78/0x9e\n[   92.634294]  [\u003cffffffff813fd407\u003e] ? sysret_check+0x1b/0x56\n[   92.634294]  [\u003cffffffff81088503\u003e] ? __audit_syscall_entry+0x195/0x1c8\n[   92.634294]  [\u003cffffffff811cc26e\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n[   92.634294]  [\u003cffffffff813fd3e2\u003e] system_call_fastpath+0x16/0x1b\n[   92.634294] Code:  Bad RIP value.\n[   92.634294] RIP  [\u003c          (null)\u003e]           (null)\n[   92.634294]  RSP \u003cffff880245fc7cb0\u003e\n[   92.634294] CR2: 0000000000000000\n[   92.648982] ---[ end trace 24e2bed94314c8d9 ]---\n[   92.649146] Kernel panic - not syncing: Fatal exception in interrupt\n\nFix this using inet_sk_rx_dst_set(), and export this function in case\nIPv6 is modular.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a37e6e344910a43b9ebc2bbf29a029f5ea942598",
      "tree": "028fe1af3e85510fa7c341bfe3dadd099189156b",
      "parents": [
        "0c03eca3d995e73d691edea8c787e25929ec156d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Aug 07 10:55:45 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 08 16:00:28 2012 -0700"
      },
      "message": "net: force dst_default_metrics to const section\n\nWhile investigating on network performance problems, I found this little\ngem :\n\n$ nm -v vmlinux | grep -1 dst_default_metrics\nffffffff82736540 b busy.46605\nffffffff82736560 B dst_default_metrics\nffffffff82736598 b dst_busy_list\n\nApparently, declaring a const array without initializer put it in\n(writeable) bss section, in middle of possibly often dirtied cache\nlines.\n\nSince we really want dst_default_metrics be const to avoid any possible\nfalse sharing and catch any buggy writes, I force a null initializer.\n\nffffffff818a4c20 R dst_default_metrics\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5d299f3d3c8a2fbc732b1bf03af36333ccec3130",
      "tree": "119701591725281d99ecad6f459166da3e6034a2",
      "parents": [
        "b5497eeb37d7d4a5a61b91f64efedc90d1ad6fa3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Mon Aug 06 05:09:33 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 06 13:33:21 2012 -0700"
      },
      "message": "net: ipv6: fix TCP early demux\n\nIPv6 needs a cookie in dst_check() call.\n\nWe need to add rx_dst_cookie and provide a family independent\nsk_rx_dst_set(sk, skb) method to properly support IPv6 TCP early demux.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a26904eb63150bba2120fc2864e9307d1500691",
      "tree": "b071dc0b08138a1f3d54972cc864b556c6995694",
      "parents": [
        "e33cdac014d50dd9753e1399ae8b0b5cd98d7aa0",
        "899852af60c212bfe9a2fb71d4d9082d2622df5c"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 02 13:49:38 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Aug 02 13:49:38 2012 -0400"
      },
      "message": "Merge branch \u0027for-john\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211\n"
    },
    {
      "commit": "03f6b0843ad6512f27bc2e48f04c21065311e03e",
      "tree": "607cffb37a59419093cc3bfe6b08bc83365e822d",
      "parents": [
        "dd4c9260e7f23f2e951cbfb2726e468c6d30306c"
      ],
      "author": {
        "name": "Seth Forshee",
        "email": "seth.forshee@canonical.com",
        "time": "Wed Aug 01 15:58:42 2012 -0500"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Aug 02 15:30:49 2012 +0200"
      },
      "message": "cfg80211: add channel flag to prohibit OFDM operation\n\nCurrently the only way for wireless drivers to tell whether or not OFDM\nis allowed on the current channel is to check the regulatory\ninformation. However, this requires hodling cfg80211_mutex, which is not\nvisible to the drivers.\n\nOther regulatory restrictions are provided as flags in the channel\ndefinition, so let\u0027s do similarly with OFDM. This patch adds a new flag,\nIEEE80211_CHAN_NO_OFDM, to tell drivers that OFDM on a channel is not\nallowed. This flag is set on any channels for which regulatory indicates\nthat OFDM is prohibited.\n\nSigned-off-by: Seth Forshee \u003cseth.forshee@canonical.com\u003e\nTested-by: Arend van Spriel \u003carend@broadcom.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "e3c0d04750751389d5116267f8cf4687444d9a50",
      "tree": "dfa831b0d4fc388da81ccc0f8f3ce4f62c3916f4",
      "parents": [
        "1485348d2424e1131ea42efc033cbd9366462b01"
      ],
      "author": {
        "name": "Fan Du",
        "email": "fdu@windriver.com",
        "time": "Mon Jul 30 21:43:54 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 02 00:19:17 2012 -0700"
      },
      "message": "Fix unexpected SA hard expiration after changing date\n\nAfter SA is setup, one timer is armed to detect soft/hard expiration,\nhowever the timer handler uses xtime to do the math. This makes hard\nexpiration occurs first before soft expiration after setting new date\nwith big interval. As a result new child SA is deleted before rekeying\nthe new one.\n\nSigned-off-by: Fan Du \u003cfdu@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1485348d2424e1131ea42efc033cbd9366462b01",
      "tree": "706d69b398cbd109fd3a9806fa485150d043cc52",
      "parents": [
        "7e6d06f0de3f74ca929441add094518ae332257c"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Jul 30 16:11:42 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 02 00:19:17 2012 -0700"
      },
      "message": "tcp: Apply device TSO segment limit earlier\n\nCache the device gso_max_segs in sock::sk_gso_max_segs and use it to\nlimit the size of TSO skbs.  This avoids the need to fall back to\nsoftware GSO for local TCP senders.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac694dbdbc403c00e2c14d10bc7b8412cc378259",
      "tree": "e37328cfbeaf43716dd5914cad9179e57e84df76",
      "parents": [
        "a40a1d3d0a2fd613fdec6d89d3c053268ced76ed",
        "437ea90cc3afdca5229b41c6b1d38c4842756cb9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:25:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:25:39 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge Andrew\u0027s second set of patches:\n - MM\n - a few random fixes\n - a couple of RTC leftovers\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (120 commits)\n  rtc/rtc-88pm80x: remove unneed devm_kfree\n  rtc/rtc-88pm80x: assign ret only when rtc_register_driver fails\n  mm: hugetlbfs: close race during teardown of hugetlbfs shared page tables\n  tmpfs: distribute interleave better across nodes\n  mm: remove redundant initialization\n  mm: warn if pg_data_t isn\u0027t initialized with zero\n  mips: zero out pg_data_t when it\u0027s allocated\n  memcg: gix memory accounting scalability in shrink_page_list\n  mm/sparse: remove index_init_lock\n  mm/sparse: more checks on mem_section number\n  mm/sparse: optimize sparse_index_alloc\n  memcg: add mem_cgroup_from_css() helper\n  memcg: further prevent OOM with too many dirty pages\n  memcg: prevent OOM with too many dirty pages\n  mm: mmu_notifier: fix freed page still mapped in secondary MMU\n  mm: memcg: only check anon swapin page charges for swap cache\n  mm: memcg: only check swap cache pages for repeated charging\n  mm: memcg: split swapin charge function into private and public part\n  mm: memcg: remove needless !mm fixup to init_mm when charging\n  mm: memcg: remove unneeded shmem charge type\n  ...\n"
    },
    {
      "commit": "c76562b6709fee5eff8a6a779be41c0bce661fd7",
      "tree": "18e4a3c71b6d859cc58b7d1156bd1d7bfd1d6a5c",
      "parents": [
        "68243e76ee343d63c6cf76978588a885951e2818"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:44:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:47 2012 -0700"
      },
      "message": "netvm: prevent a stream-specific deadlock\n\nThis patch series is based on top of \"Swap-over-NBD without deadlocking\nv15\" as it depends on the same reservation of PF_MEMALLOC reserves logic.\n\nWhen a user or administrator requires swap for their application, they\ncreate a swap partition and file, format it with mkswap and activate it\nwith swapon.  In diskless systems this is not an option so if swap if\nrequired then swapping over the network is considered.  The two likely\nscenarios are when blade servers are used as part of a cluster where the\nform factor or maintenance costs do not allow the use of disks and thin\nclients.\n\nThe Linux Terminal Server Project recommends the use of the Network Block\nDevice (NBD) for swap but this is not always an option.  There is no\nguarantee that the network attached storage (NAS) device is running Linux\nor supports NBD.  However, it is likely that it supports NFS so there are\nusers that want support for swapping over NFS despite any performance\nconcern.  Some distributions currently carry patches that support swapping\nover NFS but it would be preferable to support it in the mainline kernel.\n\nPatch 1 avoids a stream-specific deadlock that potentially affects TCP.\n\nPatch 2 is a small modification to SELinux to avoid using PFMEMALLOC\n\treserves.\n\nPatch 3 adds three helpers for filesystems to handle swap cache pages.\n\tFor example, page_file_mapping() returns page-\u003emapping for\n\tfile-backed pages and the address_space of the underlying\n\tswap file for swap cache pages.\n\nPatch 4 adds two address_space_operations to allow a filesystem\n\tto pin all metadata relevant to a swapfile in memory. Upon\n\tsuccessful activation, the swapfile is marked SWP_FILE and\n\tthe address space operation -\u003edirect_IO is used for writing\n\tand -\u003ereadpage for reading in swap pages.\n\nPatch 5 notes that patch 3 is bolting\n\tfilesystem-specific-swapfile-support onto the side and that\n\tthe default handlers have different information to what\n\tis available to the filesystem. This patch refactors the\n\tcode so that there are generic handlers for each of the new\n\taddress_space operations.\n\nPatch 6 adds an API to allow a vector of kernel addresses to be\n\ttranslated to struct pages and pinned for IO.\n\nPatch 7 adds support for using highmem pages for swap by kmapping\n\tthe pages before calling the direct_IO handler.\n\nPatch 8 updates NFS to use the helpers from patch 3 where necessary.\n\nPatch 9 avoids setting PF_private on PG_swapcache pages within NFS.\n\nPatch 10 implements the new swapfile-related address_space operations\n\tfor NFS and teaches the direct IO handler how to manage\n\tkernel addresses.\n\nPatch 11 prevents page allocator recursions in NFS by using GFP_NOIO\n\twhere appropriate.\n\nPatch 12 fixes a NULL pointer dereference that occurs when using\n\tswap-over-NFS.\n\nWith the patches applied, it is possible to mount a swapfile that is on an\nNFS filesystem.  Swap performance is not great with a swap stress test\ntaking roughly twice as long to complete than if the swap device was\nbacked by NBD.\n\nThis patch: netvm: prevent a stream-specific deadlock\n\nIt could happen that all !SOCK_MEMALLOC sockets have buffered so much data\nthat we\u0027re over the global rmem limit.  This will prevent SOCK_MEMALLOC\nbuffers from receiving data, which will prevent userspace from running,\nwhich is needed to reduce the buffered data.\n\nFix this by exempting the SOCK_MEMALLOC sockets from the rmem limit.  Once\nthis change it applied, it is important that sockets that set\nSOCK_MEMALLOC do not clear the flag until the socket is being torn down.\nIf this happens, a warning is generated and the tokens reclaimed to avoid\naccounting errors until the bug is fixed.\n\n[davem@davemloft.net: Warning about clearing SOCK_MEMALLOC]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4b9e3558508980fc0cd161a545ffb55a1f13ee9",
      "tree": "abb2ab54f4b201b1cbdaf181ec16912c3dd889eb",
      "parents": [
        "0614002bb5f7411e61ffa0dfe5be1f2c84df3da3"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:44:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:46 2012 -0700"
      },
      "message": "netvm: set PF_MEMALLOC as appropriate during SKB processing\n\nIn order to make sure pfmemalloc packets receive all memory needed to\nproceed, ensure processing of pfmemalloc SKBs happens under PF_MEMALLOC.\nThis is limited to a subset of protocols that are expected to be used for\nwriting to swap.  Taps are not allowed to use PF_MEMALLOC as these are\nexpected to communicate with userspace processes which could be paged out.\n\n[a.p.zijlstra@chello.nl: Ideas taken from various patches]\n[jslaby@suse.cz: Lock imbalance fix]\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c93bdd0e03e848555d144eb44a1f275b871a8dd5",
      "tree": "8aff3bc2b9ff9f32e51040a7652bfb31257db626",
      "parents": [
        "7cb0240492caea2f6467f827313478f41877e6ef"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:44:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:46 2012 -0700"
      },
      "message": "netvm: allow skb allocation to use PFMEMALLOC reserves\n\nChange the skb allocation API to indicate RX usage and use this to fall\nback to the PFMEMALLOC reserve when needed.  SKBs allocated from the\nreserve are tagged in skb-\u003epfmemalloc.  If an SKB is allocated from the\nreserve and the socket is later found to be unrelated to page reclaim, the\npacket is dropped so that the memory remains available for page reclaim.\nNetwork protocols are expected to recover from this packet loss.\n\n[a.p.zijlstra@chello.nl: Ideas taken from various patches]\n[davem@davemloft.net: Use static branches, coding style corrections]\n[sebastian@breakpoint.cc: Avoid unnecessary cast, fix !CONFIG_NET build]\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7cb0240492caea2f6467f827313478f41877e6ef",
      "tree": "4836f7c2c07ed199e3122ea70bedf34f048ecd81",
      "parents": [
        "99a1dec70d5acbd8c6b3928cdebb4a2d1da676c8"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:44:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:46 2012 -0700"
      },
      "message": "netvm: allow the use of __GFP_MEMALLOC by specific sockets\n\nAllow specific sockets to be tagged SOCK_MEMALLOC and use __GFP_MEMALLOC\nfor their allocations.  These sockets will be able to go below watermarks\nand allocate from the emergency reserve.  Such sockets are to be used to\nservice the VM (iow.  to swap over).  They must be handled kernel side,\nexposing such a socket to user-space is a bug.\n\nThere is a risk that the reserves be depleted so for now, the\nadministrator is responsible for increasing min_free_kbytes as necessary\nto prevent deadlock for their workloads.\n\n[a.p.zijlstra@chello.nl: Original patches]\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99a1dec70d5acbd8c6b3928cdebb4a2d1da676c8",
      "tree": "ac61a8b479065fa3ed3fdddf17e91366dcddcea5",
      "parents": [
        "183f6371aac2a5496a8ef2b0b0a68562652c3cdb"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:44:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:46 2012 -0700"
      },
      "message": "net: introduce sk_gfp_atomic() to allow addition of GFP flags depending on the individual socket\n\nIntroduce sk_gfp_atomic(), this function allows to inject sock specific\nflags to each sock related allocation.  It is only used on allocation\npaths that may be required for writing pages back to network storage.\n\n[davem@davemloft.net: Use sk_gfp_atomic only when necessary]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c255a458055e459f65eb7b7f51dc5dbdd0caf1d8",
      "tree": "b143b1914eeb6f27f53e30f9f0275d0f1ca5480b",
      "parents": [
        "80934513b230bfcf70265f2ef0fdae89fb391633"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Jul 31 16:43:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:43 2012 -0700"
      },
      "message": "memcg: rename config variables\n\nSanity:\n\nCONFIG_CGROUP_MEM_RES_CTLR -\u003e CONFIG_MEMCG\nCONFIG_CGROUP_MEM_RES_CTLR_SWAP -\u003e CONFIG_MEMCG_SWAP\nCONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED -\u003e CONFIG_MEMCG_SWAP_ENABLED\nCONFIG_CGROUP_MEM_RES_CTLR_KMEM -\u003e CONFIG_MEMCG_KMEM\n\n[mhocko@suse.cz: fix missed bits]\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "caacf05e5ad1abf0a2864863da4e33024bc68ec6",
      "tree": "9a82e97a072e288f604bd3dbbe07e1796581fad0",
      "parents": [
        "c5038a8327b980a5b279fa193163c468011de009"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 31 15:06:50 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 31 15:06:50 2012 -0700"
      },
      "message": "ipv4: Properly purge netdev references on uncached routes.\n\nWhen a device is unregistered, we have to purge all of the\nreferences to it that may exist in the entire system.\n\nIf a route is uncached, we currently have no way of accomplishing\nthis.\n\nSo create a global list that is scanned when a network device goes\ndown.  This mirrors the logic in net/core/dst.c\u0027s dst_ifdown().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5038a8327b980a5b279fa193163c468011de009",
      "tree": "6d24fd005340e73360f9c1aa20dd3a1d21fd1625",
      "parents": [
        "d26b3a7c4b3b26319f18bb645de93eba8f4bdcd5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 31 15:02:02 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 31 15:02:02 2012 -0700"
      },
      "message": "ipv4: Cache routes in nexthop exception entries.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d26b3a7c4b3b26319f18bb645de93eba8f4bdcd5",
      "tree": "ca86c03450fafdc89dac98ce403b1906fcaa025d",
      "parents": [
        "54764bb647b2e847c512acf8d443df965da35000"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Jul 31 05:45:30 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 31 14:41:39 2012 -0700"
      },
      "message": "ipv4: percpu nh_rth_output cache\n\nInput path is mostly run under RCU and doesnt touch dst refcnt\n\nBut output path on forwarding or UDP workloads hits\nbadly dst refcount, and we have lot of false sharing, for example\nin ipv4_mtu() when reading rt-\u003ert_pmtu\n\nUsing a percpu cache for nh_rth_output gives a nice performance\nincrease at a small cost.\n\n24 udpflood test on my 24 cpu machine (dummy0 output device)\n(each process sends 1.000.000 udp frames, 24 processes are started)\n\nbefore : 5.24 s\nafter : 2.06 s\nFor reference, time on linux-3.5 : 6.60 s\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nTested-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "54764bb647b2e847c512acf8d443df965da35000",
      "tree": "3918f6f42679d0ebdcef230f28285f99d178be62",
      "parents": [
        "5a0d513b622ee41e117fc37e26e27e8ef42e8dae"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jul 31 01:08:23 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 31 14:41:38 2012 -0700"
      },
      "message": "ipv4: Restore old dst_free() behavior.\n\ncommit 404e0a8b6a55 (net: ipv4: fix RCU races on dst refcounts) tried\nto solve a race but added a problem at device/fib dismantle time :\n\nWe really want to call dst_free() as soon as possible, even if sockets\nstill have dst in their cache.\ndst_release() calls in free_fib_info_rcu() are not welcomed.\n\nRoot of the problem was that now we also cache output routes (in\nnh_rth_output), we must use call_rcu() instead of call_rcu_bh() in\nrt_free(), because output route lookups are done in process context.\n\nBased on feedback and initial patch from David Miller (adding another\ncall_rcu_bh() call in fib, but it appears it was not the right fix)\n\nI left the inet_sk_rx_dst_set() helper and added __rcu attributes\nto nh_rth_output and nh_rth_input to better document what is going on in\nthis code.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c7462a2351b4cc502f326aad7fedd04909928be",
      "tree": "0f60f604b836d310d7a587b701232870d00f3446",
      "parents": [
        "404e0a8b6a55d5e1cd138c6deb1bca9abdf75d8c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Mon Jul 30 07:14:29 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 30 14:53:22 2012 -0700"
      },
      "message": "ipv4: remove rt_cache_rebuild_count\n\nAfter IP route cache removal, rt_cache_rebuild_count is no longer\nused.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "404e0a8b6a55d5e1cd138c6deb1bca9abdf75d8c",
      "tree": "38e9748d38c415cc97b973fecb9279cd43f76393",
      "parents": [
        "cca32e4bf999a34ac08d959f351f2b30bcd02460"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Sun Jul 29 23:20:37 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 30 14:53:22 2012 -0700"
      },
      "message": "net: ipv4: fix RCU races on dst refcounts\n\ncommit c6cffba4ffa2 (ipv4: Fix input route performance regression.)\nadded various fatal races with dst refcounts.\n\ncrashes happen on tcp workloads if routes are added/deleted at the same\ntime.\n\nThe dst_free() calls from free_fib_info_rcu() are clearly racy.\n\nWe need instead regular dst refcounting (dst_release()) and make\nsure dst_release() is aware of RCU grace periods :\n\nAdd DST_RCU_FREE flag so that dst_release() respects an RCU grace period\nbefore dst destruction for cached dst\n\nIntroduce a new inet_sk_rx_dst_set() helper, using atomic_inc_not_zero()\nto make sure we dont increase a zero refcount (On a dst currently\nwaiting an rcu grace period before destruction)\n\nrt_cache_route() must take a reference on the new cached route, and\nrelease it if was not able to install it.\n\nWith this patch, my machines survive various benchmarks.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c7109986db3c945f50ceed884a30e0fd8af3b89b",
      "tree": "c0852e90a7d06bdc95a54d6adad19d2a9e3d7d5e",
      "parents": [
        "c6cffba4ffa26a8ffacd0bb9f3144e34f20da7de"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Jul 26 12:18:11 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 26 15:50:39 2012 -0700"
      },
      "message": "ipv6: Early TCP socket demux\n\nThis is the IPv6 missing bits for infrastructure added in commit\n41063e9dd1195 (ipv4: Early TCP socket demux.)\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c6cffba4ffa26a8ffacd0bb9f3144e34f20da7de",
      "tree": "b67532a74343d42bcf8784b8e32d7cf6d69313db",
      "parents": [
        "4487e64de63b8e42efe5a5543871c42c5a5859d9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 26 11:14:38 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 26 15:50:39 2012 -0700"
      },
      "message": "ipv4: Fix input route performance regression.\n\nWith the routing cache removal we lost the \"noref\" code paths on\ninput, and this can kill some routing workloads.\n\nReinstate the noref path when we hit a cached route in the FIB\nnexthops.\n\nWith help from Eric Dumazet.\n\nReported-by: Alexander Duyck \u003calexander.duyck@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c4cfadef6a1665d9cd02a543782d03d3e6740c6",
      "tree": "3df72faaacd494d5ac8c9668df4f529b1b5e4457",
      "parents": [
        "e017507f37d5cb8b541df165a824958bc333bec3",
        "320f5ea0cedc08ef65d67e056bcb9d181386ef2c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 10:01:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 10:01:50 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking changes from David S Miller:\n\n 1) Remove the ipv4 routing cache.  Now lookups go directly into the FIB\n    trie and use prebuilt routes cached there.\n\n    No more garbage collection, no more rDOS attacks on the routing\n    cache.  Instead we now get predictable and consistent performance,\n    no matter what the pattern of traffic we service.\n\n    This has been almost 2 years in the making.  Special thanks to\n    Julian Anastasov, Eric Dumazet, Steffen Klassert, and others who\n    have helped along the way.\n\n    I\u0027m sure that with a change of this magnitude there will be some\n    kind of fallout, but such things ought the be simple to fix at this\n    point.  Luckily I\u0027m not European so I\u0027ll be around all of August to\n    fix things :-)\n\n    The major stages of this work here are each fronted by a forced\n    merge commit whose commit message contains a top-level description\n    of the motivations and implementation issues.\n\n 2) Pre-demux of established ipv4 TCP sockets, saves a route demux on\n    input.\n\n 3) TCP SYN/ACK performance tweaks from Eric Dumazet.\n\n 4) Add namespace support for netfilter L4 conntrack helpers, from Gao\n    Feng.\n\n 5) Add config mechanism for Energy Efficient Ethernet to ethtool, from\n    Yuval Mintz.\n\n 6) Remove quadratic behavior from /proc/net/unix, from Eric Dumazet.\n\n 7) Support for connection tracker helpers in userspace, from Pablo\n    Neira Ayuso.\n\n 8) Allow userspace driven TX load balancing functions in TEAM driver,\n    from Jiri Pirko.\n\n 9) Kill off NLMSG_PUT and RTA_PUT macros, more gross stuff with\n    embedded gotos.\n\n10) TCP Small Queues, essentially minimize the amount of TCP data queued\n    up in the packet scheduler layer.  Whereas the existing BQL (Byte\n    Queue Limits) limits the pkt_sched --\u003e netdevice queuing levels,\n    this controls the TCP --\u003e pkt_sched queueing levels.\n\n    From Eric Dumazet.\n\n11) Reduce the number of get_page/put_page ops done on SKB fragments,\n    from Alexander Duyck.\n\n12) Implement protection against blind resets in TCP (RFC 5961), from\n    Eric Dumazet.\n\n13) Support the client side of TCP Fast Open, basically the ability to\n    send data in the SYN exchange, from Yuchung Cheng.\n\n    Basically, the sender queues up data with a sendmsg() call using\n    MSG_FASTOPEN, then they do the connect() which emits the queued up\n    fastopen data.\n\n14) Avoid all the problems we get into in TCP when timers or PMTU events\n    hit a locked socket.  The TCP Small Queues changes added a\n    tcp_release_cb() that allows us to queue work up to the\n    release_sock() caller, and that\u0027s what we use here too.  From Eric\n    Dumazet.\n\n15) Zero copy on TX support for TUN driver, from Michael S. Tsirkin.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1870 commits)\n  genetlink: define lockdep_genl_is_held() when CONFIG_LOCKDEP\n  r8169: revert \"add byte queue limit support\".\n  ipv4: Change rt-\u003ert_iif encoding.\n  net: Make skb-\u003eskb_iif always track skb-\u003edev\n  ipv4: Prepare for change of rt-\u003ert_iif encoding.\n  ipv4: Remove all RTCF_DIRECTSRC handliing.\n  ipv4: Really ignore ICMP address requests/replies.\n  decnet: Don\u0027t set RTCF_DIRECTSRC.\n  net/ipv4/ip_vti.c: Fix __rcu warnings detected by sparse.\n  ipv4: Remove redundant assignment\n  rds: set correct msg_namelen\n  openvswitch: potential NULL deref in sample()\n  tcp: dont drop MTU reduction indications\n  bnx2x: Add new 57840 device IDs\n  tcp: avoid oops in tcp_metrics and reset tcpm_stamp\n  niu: Change niu_rbr_fill() to use unlikely() to check niu_rbr_add_page() return value\n  niu: Fix to check for dma mapping errors.\n  net: Fix references to out-of-scope variables in put_cmsg_compat()\n  net: ethernet: davinci_emac: add pm_runtime support\n  net: ethernet: davinci_emac: Remove unnecessary #include\n  ...\n"
    },
    {
      "commit": "13378cad02afc2adc6c0e07fca03903c7ada0b37",
      "tree": "e12625227f409a7b658c4f39a2dc926cf60bb27e",
      "parents": [
        "b68581778cd0051a3fb9a2b614dee7eccb5127ff"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 23 13:57:45 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 23 16:36:27 2012 -0700"
      },
      "message": "ipv4: Change rt-\u003ert_iif encoding.\n\nOn input packet processing, rt-\u003ert_iif will be zero if we should\nuse skb-\u003edev-\u003eifindex.\n\nSince we access rt-\u003ert_iif consistently via inet_iif(), that is\nthe only spot whose interpretation have to adjust.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92101b3b2e3178087127709a556b091dae314e9e",
      "tree": "06359f8823da3ed7617c5ea78e4a56bc5e958fea",
      "parents": [
        "fe3edf45792a7d2f0edff4e2fcdd9a84c1a388a0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 23 16:29:00 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 23 16:36:26 2012 -0700"
      },
      "message": "ipv4: Prepare for change of rt-\u003ert_iif encoding.\n\nUse inet_iif() consistently, and for TCP record the input interface of\ncached RX dst in inet sock.\n\nrt-\u003ert_iif is going to be encoded differently, so that we can\nlegitimately cache input routes in the FIB info more aggressively.\n\nWhen the input interface is \"use SKB device index\" the rt-\u003ert_iif will\nbe set to zero.\n\nThis forces us to move the TCP RX dst cache installation into the ipv4\nspecific code, and as well it should since doing the route caching for\nipv6 is pointless at the moment since it is not inspected in the ipv6\ninput paths yet.\n\nAlso, remove the unlikely on dst-\u003eobsolete, all ipv4 dsts have\nobsolete set to a non-zero value to force invocation of the check\ncallback.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a66d2c8f7ec1284206ca7c14569e2a607583f1e3",
      "tree": "08cf68bcef3559b370843cab8191e5cc0f740bde",
      "parents": [
        "a6be1fcbc57f95bb47ef3c8e4ee3d83731b8f21e",
        "8cae6f7158ec1fa44c8a04a43db7d8020ec60437"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 23 12:27:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 23 12:27:27 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull the big VFS changes from Al Viro:\n \"This one is *big* and changes quite a few things around VFS.  What\u0027s in there:\n\n   - the first of two really major architecture changes - death to open\n     intents.\n\n     The former is finally there; it was very long in making, but with\n     Miklos getting through really hard and messy final push in\n     fs/namei.c, we finally have it.  Unlike his variant, this one\n     doesn\u0027t introduce struct opendata; what we have instead is\n     -\u003eatomic_open() taking preallocated struct file * and passing\n     everything via its fields.\n\n     Instead of returning struct file *, it returns -E...  on error, 0\n     on success and 1 in \"deal with it yourself\" case (e.g.  symlink\n     found on server, etc.).\n\n     See comments before fs/namei.c:atomic_open().  That made a lot of\n     goodies finally possible and quite a few are in that pile:\n     -\u003elookup(), -\u003ed_revalidate() and -\u003ecreate() do not get struct\n     nameidata * anymore; -\u003elookup() and -\u003ed_revalidate() get lookup\n     flags instead, -\u003ecreate() gets \"do we want it exclusive\" flag.\n\n     With the introduction of new helper (kern_path_locked()) we are rid\n     of all struct nameidata instances outside of fs/namei.c; it\u0027s still\n     visible in namei.h, but not for long.  Come the next cycle,\n     declaration will move either to fs/internal.h or to fs/namei.c\n     itself.  [me, miklos, hch]\n\n   - The second major change: behaviour of final fput().  Now we have\n     __fput() done without any locks held by caller *and* not from deep\n     in call stack.\n\n     That obviously lifts a lot of constraints on the locking in there.\n     Moreover, it\u0027s legal now to call fput() from atomic contexts (which\n     has immediately simplified life for aio.c).  We also don\u0027t need\n     anti-recursion logics in __scm_destroy() anymore.\n\n     There is a price, though - the damn thing has become partially\n     asynchronous.  For fput() from normal process we are guaranteed\n     that pending __fput() will be done before the caller returns to\n     userland, exits or gets stopped for ptrace.\n\n     For kernel threads and atomic contexts it\u0027s done via\n     schedule_work(), so theoretically we might need a way to make sure\n     it\u0027s finished; so far only one such place had been found, but there\n     might be more.\n\n     There\u0027s flush_delayed_fput() (do all pending __fput()) and there\u0027s\n     __fput_sync() (fput() analog doing __fput() immediately).  I hope\n     we won\u0027t need them often; see warnings in fs/file_table.c for\n     details.  [me, based on task_work series from Oleg merged last\n     cycle]\n\n   - sync series from Jan\n\n   - large part of \"death to sync_supers()\" work from Artem; the only\n     bits missing here are exofs and ext4 ones.  As far as I understand,\n     those are going via the exofs and ext4 trees resp.; once they are\n     in, we can put -\u003ewrite_super() to the rest, along with the thread\n     calling it.\n\n   - preparatory bits from unionmount series (from dhowells).\n\n   - assorted cleanups and fixes all over the place, as usual.\n\n  This is not the last pile for this cycle; there\u0027s at least jlayton\u0027s\n  ESTALE work and fsfreeze series (the latter - in dire need of fixes,\n  so I\u0027m not sure it\u0027ll make the cut this cycle).  I\u0027ll probably throw\n  symlink/hardlink restrictions stuff from Kees into the next pile, too.\n  Plus there\u0027s a lot of misc patches I hadn\u0027t thrown into that one -\n  it\u0027s large enough as it is...\"\n\n* \u0027for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (127 commits)\n  ext4: switch EXT4_IOC_RESIZE_FS to mnt_want_write_file()\n  btrfs: switch btrfs_ioctl_balance() to mnt_want_write_file()\n  switch dentry_open() to struct path, make it grab references itself\n  spufs: shift dget/mntget towards dentry_open()\n  zoran: don\u0027t bother with struct file * in zoran_map\n  ecryptfs: don\u0027t reinvent the wheels, please - use struct completion\n  don\u0027t expose I_NEW inodes via dentry-\u003ed_inode\n  tidy up namei.c a bit\n  unobfuscate follow_up() a bit\n  ext3: pass custom EOF to generic_file_llseek_size()\n  ext4: use core vfs llseek code for dir seeks\n  vfs: allow custom EOF in generic_file_llseek code\n  vfs: Avoid unnecessary WB_SYNC_NONE writeback during sys_sync and reorder sync passes\n  vfs: Remove unnecessary flushing of block devices\n  vfs: Make sys_sync writeout also block device inodes\n  vfs: Create function for iterating over block devices\n  vfs: Reorder operations during sys_sync\n  quota: Move quota syncing to -\u003esync_fs method\n  quota: Split dquot_quota_sync() to writeback and cache flushing part\n  vfs: Move noop_backing_dev_info check from sync into writeback\n  ...\n"
    },
    {
      "commit": "563d34d05786263893ba4a1042eb9b9374127cf5",
      "tree": "e9ce502c1f32bea966c81d5597d0a29eb4b9d244",
      "parents": [
        "c3def943c7117d42caaed3478731ea7c3c87190e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Mon Jul 23 09:48:52 2012 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 23 00:58:46 2012 -0700"
      },
      "message": "tcp: dont drop MTU reduction indications\n\nICMP messages generated in output path if frame length is bigger than\nmtu are actually lost because socket is owned by user (doing the xmit)\n\nOne example is the ipgre_tunnel_xmit() calling\nicmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, htonl(mtu));\n\nWe had a similar case fixed in commit a34a101e1e6 (ipv6: disable GSO on\nsockets hitting dst_allfrag).\n\nProblem of such fix is that it relied on retransmit timers, so short tcp\nsessions paid a too big latency increase price.\n\nThis patch uses the tcp_release_cb() infrastructure so that MTU\nreduction messages (ICMP messages) are not lost, and no extra delay\nis added in TCP transmits.\n\nReported-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nDiagnosed-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Nandita Dukkipati \u003cnanditad@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Tore Anderson \u003ctore@fud.no\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e9965c15ba88319500284e590733f4a4629a288",
      "tree": "ab76263b9f43fb75048a50141d199f445f5fdd2d",
      "parents": [
        "3ba97381343b271296487bf073eb670d5465a8b8",
        "2860583fe840d972573363dfa190b2149a604534"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 22 17:04:15 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 22 17:04:15 2012 -0700"
      },
      "message": "Merge branch \u0027kill_rtcache\u0027\n\nThe ipv4 routing cache is non-deterministic, performance wise, and is\nsubject to reasonably easy to launch denial of service attacks.\n\nThe routing cache works great for well behaved traffic, and the world\nwas a much friendlier place when the tradeoffs that led to the routing\ncache\u0027s design were considered.\n\nWhat it boils down to is that the performance of the routing cache is\na product of the traffic patterns seen by a system rather than being a\nproduct of the contents of the routing tables.  The former of which is\ncontrollable by external entitites.\n\nEven for \"well behaved\" legitimate traffic, high volume sites can see\nhit rates in the routing cache of only ~%10.\n\nThe general flow of this patch series is that first the routing cache\nis removed.  We build a completely new rtable entry every lookup\nrequest.\n\nNext we make some simplifications due to the fact that removing the\nrouting cache causes several members of struct rtable to become no\nlonger necessary.\n\nThen we need to make some amends such that we can legally cache\npre-constructed routes in the FIB nexthops.  Firstly, we need to\ninvalidate routes which are hit with nexthop exceptions.  Secondly we\nhave to change the semantics of rt-\u003ert_gateway such that zero means\nthat the destination is on-link and non-zero otherwise.\n\nNow that the preparations are ready, we start caching precomputed\nroutes in the FIB nexthops.  Output and input routes need different\nkinds of care when determining if we can legally do such caching or\nnot.  The details are in the commit log messages for those changes.\n\nThe patch series then winds down with some more struct rtable\nsimplifications and other tidy ups that remove unnecessary overhead.\n\nOn a SPARC-T3 output route lookups are ~876 cycles.  Input route\nlookups are ~1169 cycles with rpfilter disabled, and about ~1468\ncycles with rpfilter enabled.\n\nThese measurements were taken with the kbench_mod test module in the\nnet_test_tools GIT tree:\n\ngit://git.kernel.org/pub/scm/linux/kernel/git/davem/net_test_tools.git\n\nThat GIT tree also includes a udpflood tester tool and stresses\nroute lookups on packet output.\n\nFor example, on the same SPARC-T3 system we can run:\n\n\ttime ./udpflood -l 10000000 10.2.2.11\n\nwith routing cache:\nreal    1m21.955s       user    0m6.530s        sys     1m15.390s\n\nwithout routing cache:\nreal    1m31.678s       user    0m6.520s        sys     1m25.140s\n\nPerformance undoubtedly can easily be improved further.\n\nFor example fib_table_lookup() performs a lot of excessive\ncomputations with all the masking and shifting, some of it\nconditionalized to deal with edge cases.\n\nAlso, Eric\u0027s no-ref optimization for input route lookups can be\nre-instated for the FIB nexthop caching code path.  I would be really\npleased if someone would work on that.\n\nIn fact anyone suitable motivated can just fire up perf on the loading\nof the test net_test_tools benchmark kernel module.  I spend much of\nmy time going:\n\nbash# perf record insmod ./kbench_mod.ko dst\u003d172.30.42.22 src\u003d74.128.0.1 iif\u003d2\nbash# perf report\n\nThanks to helpful feedback from Joe Perches, Eric Dumazet, Ben\nHutchings, and others.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6120d3dbb1220792ebea88cd475e1ec8f8620a93",
      "tree": "0ca01ed01651ddb1f54f6fe43c2288acb8d361c3",
      "parents": [
        "3ffa3c0e3f6e62f67fc2346ca60161dfb030083d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 24 10:03:05 2012 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 22 23:58:00 2012 +0400"
      },
      "message": "get rid of -\u003escm_work_list\n\nrecursion in __scm_destroy() will be cut by delaying final fput()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "406a3c638ce8b17d9704052c07955490f732c2b8",
      "tree": "db759dfccc6c09196773d0cc1ec260a7a4e9db07",
      "parents": [
        "0690899b4d4501b3505be069b9a687e68ccbe15b"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Fri Jul 20 10:39:25 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 22 12:44:01 2012 -0700"
      },
      "message": "net: netprio_cgroup: rework update socket logic\n\nInstead of updating the sk_cgrp_prioidx struct field on every send\nthis only updates the field when a task is moved via cgroup\ninfrastructure.\n\nThis allows sockets that may be used by a kernel worker thread\nto be managed. For example in the iscsi case today a user can\nput iscsid in a netprio cgroup and control traffic will be sent\nwith the correct sk_cgrp_prioidx value set but as soon as data\nis sent the kernel worker thread isssues a send and sk_cgrp_prioidx\nis updated with the kernel worker threads value which is the\ndefault case.\n\nIt seems more correct to only update the field when the user\nexplicitly sets it via control group infrastructure. This allows\nthe users to manage sockets that may be used with other threads.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5aa93bcf66f4af094d6f11096e81d5501a0b4ba5",
      "tree": "7bcf045fcae31a7e367e7eb1e0568b3702a25018",
      "parents": [
        "e3906486f616da7cc086a3ba06c0df4e5a48b4ab"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Sat Jul 21 07:56:07 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 22 12:13:46 2012 -0700"
      },
      "message": "sctp: Implement quick failover draft from tsvwg\n\nI\u0027ve seen several attempts recently made to do quick failover of sctp transports\nby reducing various retransmit timers and counters.  While its possible to\nimplement a faster failover on multihomed sctp associations, its not\nparticularly robust, in that it can lead to unneeded retransmits, as well as\nfalse connection failures due to intermittent latency on a network.\n\nInstead, lets implement the new ietf quick failover draft found here:\nhttp://tools.ietf.org/html/draft-nishida-tsvwg-sctp-failover-05\n\nThis will let the sctp stack identify transports that have had a small number of\nerrors, and avoid using them quickly until their reliability can be\nre-established.  I\u0027ve tested this out on two virt guests connected via multiple\nisolated virt networks and believe its in compliance with the above draft and\nworks well.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: Vlad Yasevich \u003cvyasevich@gmail.com\u003e\nCC: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCC: linux-sctp@vger.kernel.org\nCC: joe@perches.com\nAcked-by: Vlad Yasevich \u003cvyasevich@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bb4087cbec0ef74fd416789d6aad67957063057",
      "tree": "b5a9a178fb8af1e83e806a91950904273d9e9927",
      "parents": [
        "fa0afcd10951afad2022dda09777d2bf70cdab3d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 16:00:53 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 16:06:10 2012 -0700"
      },
      "message": "ipv4: Fix neigh lookup keying over loopback/point-to-point devices.\n\nWe were using a special key \"0\" for all loopback and point-to-point\ndevice neigh lookups under ipv4, but we wouldn\u0027t use that special\nkey for the neigh creation.\n\nSo basically we\u0027d make a new neigh at each and every lookup :-)\n\nThis special case to use only one neigh for these device types\nis of dubious value, so just remove it entirely.\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2860583fe840d972573363dfa190b2149a604534",
      "tree": "473a69bdcc3e45dd35bc0452a588cfbbac54c6e6",
      "parents": [
        "9917e1e8762745191eba5a3bf2040278cbddbee1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 17 14:55:59 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 13:40:07 2012 -0700"
      },
      "message": "ipv4: Kill rt-\u003efi\n\nIt\u0027s not really needed.\n\nWe only grabbed a reference to the fib_info for the sake of fib_info\nlocal metrics.\n\nHowever, fib_info objects are freed using RCU, as are therefore their\nprivate metrics (if any).\n\nWe would have triggered a route cache flush if we eliminated a\nreference to a fib_info object in the routing tables.\n\nTherefore, any existing cached routes will first check and see that\nthey have been invalidated before an errant reference to these\nmetric values would occur.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9917e1e8762745191eba5a3bf2040278cbddbee1",
      "tree": "9c538b6598b005e91b08b37e91dcb6638c26c4a0",
      "parents": [
        "4fd551d7bed93af60af61c5a324b8f5dff37953a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 17 14:44:26 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 13:40:02 2012 -0700"
      },
      "message": "ipv4: Turn rt-\u003ert_route_iif into rt-\u003ert_is_input.\n\nThat is this value\u0027s only use, as a boolean to indicate whether\na route is an input route or not.\n\nSo implement it that way, using a u16 gap present in the struct\nalready.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4fd551d7bed93af60af61c5a324b8f5dff37953a",
      "tree": "2cc151b3dc88793340c50421799627b06b766a43",
      "parents": [
        "93ac53410a82a4f1bf2baf9d65d95cc29f2774ca"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 17 14:39:44 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 13:38:34 2012 -0700"
      },
      "message": "ipv4: Kill rt-\u003ert_oif\n\nNever actually used.\n\nIt was being set on output routes to the original OIF specified in the\nflow key used for the lookup.\n\nAdjust the only user, ipmr_rt_fib_lookup(), for greater correctness of\nthe flowi4_oif and flowi4_iif values, thanks to feedback from Julian\nAnastasov.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba3f7f04ef2b19aace38f855aedd17fe43035d50",
      "tree": "223992e7b2a180042ca9d024c315346ca08454ec",
      "parents": [
        "d2d68ba9fe8b38eb03124b3176a013bb8aa2b5e5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 17 14:02:46 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 13:36:54 2012 -0700"
      },
      "message": "ipv4: Kill FLOWI_FLAG_RT_NOCACHE and associated code.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d2d68ba9fe8b38eb03124b3176a013bb8aa2b5e5",
      "tree": "c523a0448a1feca0ebfa57983ff9ff58a898b768",
      "parents": [
        "f2bb4bedf35d5167a073dcdddf16543f351ef3ae"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 17 12:58:50 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 13:36:40 2012 -0700"
      },
      "message": "ipv4: Cache input routes in fib_info nexthops.\n\nCaching input routes is slightly simpler than output routes, since we\ndon\u0027t need to be concerned with nexthop exceptions.  (locally\ndestined, and routed packets, never trigger PMTU events or redirects\nthat will be processed by us).\n\nHowever, we have to elide caching for the DIRECTSRC and non-zero itag\ncases.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2bb4bedf35d5167a073dcdddf16543f351ef3ae",
      "tree": "d68e90f5541302bfda64f044c5713e4f22aca599",
      "parents": [
        "ceb3320610d6f15ff20dd4c042b36473d77de76f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 17 12:20:47 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 13:36:16 2012 -0700"
      },
      "message": "ipv4: Cache output routes in fib_info nexthops.\n\nIf we have an output route that lacks nexthop exceptions, we can cache\nit in the FIB info nexthop.\n\nSuch routes will have DST_HOST cleared because such routes refer to a\nfamily of destinations, rather than just one.\n\nThe sequence of the handling of exceptions during route lookup is\nadjusted to make the logic work properly.\n\nBefore we allocate the route, we lookup the exception.\n\nThen we know if we will cache this route or not, and therefore whether\nDST_HOST should be set on the allocated route.\n\nThen we use DST_HOST to key off whether we should store the resulting\nroute, during rt_set_nexthop(), in the FIB nexthop cache.\n\nWith help from Eric Dumazet.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ceb3320610d6f15ff20dd4c042b36473d77de76f",
      "tree": "4a0d367032aaaa085d02fa7038cfb6e5ea65d0cd",
      "parents": [
        "f5b0a8743601a4477419171f5046bd07d1c080a0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 17 11:31:28 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 13:31:22 2012 -0700"
      },
      "message": "ipv4: Kill routes during PMTU/redirect updates.\n\nMark them obsolete so there will be a re-lookup to fetch the\nFIB nexthop exception info.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5b0a8743601a4477419171f5046bd07d1c080a0",
      "tree": "92e17ec293c3d0e35a0deda5d3bbf43710fb96ff",
      "parents": [
        "f8126f1d5136be1ca1a3536d43ad7a710b5620f8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 19 12:31:33 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 13:31:21 2012 -0700"
      },
      "message": "net: Document dst-\u003eobsolete better.\n\nAdd a big comment explaining how the field works, and use defines\ninstead of magic constants for the values assigned to it.\n\nSuggested by Joe Perches.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8126f1d5136be1ca1a3536d43ad7a710b5620f8",
      "tree": "8a92815052257c4ca29461f5b9ddaaeac288a7ed",
      "parents": [
        "f1ce3062c53809d862d8a04e7a0566c3cc4e0bda"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 13 05:03:45 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 13:31:20 2012 -0700"
      },
      "message": "ipv4: Adjust semantics of rt-\u003ert_gateway.\n\nIn order to allow prefixed routes, we have to adjust how rt_gateway\nis set and interpreted.\n\nThe new interpretation is:\n\n1) rt_gateway \u003d\u003d 0, destination is on-link, nexthop is iph-\u003edaddr\n\n2) rt_gateway !\u003d 0, destination requires a nexthop gateway\n\nAbstract the fetching of the proper nexthop value using a new\ninline helper, rt_nexthop(), as suggested by Joe Perches.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nTested-by: Vijay Subramanian \u003csubramanian.vijay@gmail.com\u003e\n"
    },
    {
      "commit": "f1ce3062c53809d862d8a04e7a0566c3cc4e0bda",
      "tree": "52c81a28b18a69cf0743e1225077745dcb0c1198",
      "parents": [
        "b48698895de86e07b685f8e4b8db0f1cd5a97e9a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 12 10:10:17 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 13:31:19 2012 -0700"
      },
      "message": "ipv4: Remove \u0027rt_dst\u0027 from \u0027struct rtable\u0027\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b48698895de86e07b685f8e4b8db0f1cd5a97e9a",
      "tree": "5a4a9aa7363077b24289b99fd76da2ed30aae67c",
      "parents": [
        "d6c0a4f609847d6e65658913f9ccbcb1c137cff3"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 01 02:03:01 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 13:31:18 2012 -0700"
      },
      "message": "ipv4: Remove \u0027rt_mark\u0027 from \u0027struct rtable\u0027\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d6c0a4f609847d6e65658913f9ccbcb1c137cff3",
      "tree": "94a4f12618d5ced2a0d83eb75d4564e92a59d7df",
      "parents": [
        "1a00fee4ffb22312a0ac40045ecd6f222b55eb3d"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 01 02:02:59 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 13:31:00 2012 -0700"
      },
      "message": "ipv4: Kill \u0027rt_src\u0027 from \u0027struct rtable\u0027\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a00fee4ffb22312a0ac40045ecd6f222b55eb3d",
      "tree": "f1154e606c695a85ee810bb9332ebcd5049f359f",
      "parents": [
        "38a424e4657462fe9f8b76f01a0e879abde99ab4"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 01 02:02:56 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 13:30:59 2012 -0700"
      },
      "message": "ipv4: Remove rt_key_{src,dst,tos} from struct rtable.\n\nThey are always used in contexts where they can be reconstituted,\nor where the finally resolved rt-\u003ert_{src,dst} is semantically\nequivalent.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "38a424e4657462fe9f8b76f01a0e879abde99ab4",
      "tree": "3e5df29e768eb1fff1f9ebbc5cf7538d798a5535",
      "parents": [
        "89aef8921bfbac22f00e04f8450f6e447db13e42"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 01 02:02:53 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 13:30:59 2012 -0700"
      },
      "message": "ipv4: Kill ip_route_input_noref().\n\nThe \"noref\" argument to ip_route_input_common() is now always ignored\nbecause we do not cache routes, and in that case we must always grab\na reference to the resulting \u0027dst\u0027.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89aef8921bfbac22f00e04f8450f6e447db13e42",
      "tree": "4ff3885262d0f05af367c119528780b5d8d172ff",
      "parents": [
        "fa0afcd10951afad2022dda09777d2bf70cdab3d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 17 11:00:09 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 13:30:27 2012 -0700"
      },
      "message": "ipv4: Delete routing cache.\n\nThe ipv4 routing cache is non-deterministic, performance wise, and is\nsubject to reasonably easy to launch denial of service attacks.\n\nThe routing cache works great for well behaved traffic, and the world\nwas a much friendlier place when the tradeoffs that led to the routing\ncache\u0027s design were considered.\n\nWhat it boils down to is that the performance of the routing cache is\na product of the traffic patterns seen by a system rather than being a\nproduct of the contents of the routing tables.  The former of which is\ncontrollable by external entitites.\n\nEven for \"well behaved\" legitimate traffic, high volume sites can see\nhit rates in the routing cache of only ~%10.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df4ab5b3c295050da09153fa9760042e4de3ffff",
      "tree": "64b8f47eafefe107e2f9f9618e49fd365a6b6fdd",
      "parents": [
        "76ff5cc91935c51fcf1a6a99ffa28b97a6e7a884"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jiri@resnulli.us",
        "time": "Fri Jul 20 02:28:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 11:07:00 2012 -0700"
      },
      "message": "net: rename bond_queue_mapping to slave_dev_queue_mapping\n\nAs this is going to be used not only by bonding.\n\nSigned-off-by: Jiri Pirko \u003cjiri@resnulli.us\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d40156aa5ecbd51fed932ed4813df82b56e5ff4d",
      "tree": "34b9d6b16ab469bde1998a20c9b26b9388578bd9",
      "parents": [
        "ee6ae1a1d58c70fc864bc777a36be56b0880ebff"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jiri@resnulli.us",
        "time": "Fri Jul 20 02:28:47 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 11:06:59 2012 -0700"
      },
      "message": "rtnl: allow to specify different num for rx and tx queue count\n\nAlso cut out unused function parameters and possible err in return\nvalue.\n\nSigned-off-by: Jiri Pirko \u003cjiri@resnulli.us\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f458dfb409272082c9bfa412f77ff2fc21c626f",
      "tree": "7475cd12eb01023b9852cbc957080b9aa7cfdc64",
      "parents": [
        "9dc274151a548ffd215caecec5a8872db8799447"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri Jul 20 05:45:50 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 10:59:41 2012 -0700"
      },
      "message": "tcp: improve latencies of timer triggered events\n\nModern TCP stack highly depends on tcp_write_timer() having a small\nlatency, but current implementation doesn\u0027t exactly meet the\nexpectations.\n\nWhen a timer fires but finds the socket is owned by the user, it rearms\nitself for an additional delay hoping next run will be more\nsuccessful.\n\ntcp_write_timer() for example uses a 50ms delay for next try, and it\ndefeats many attempts to get predictable TCP behavior in term of\nlatencies.\n\nUse the recently introduced tcp_release_cb(), so that the user owning\nthe socket will call various handlers right before socket release.\n\nThis will permit us to post a followup patch to address the\ntcp_tso_should_defer() syndrome (some deferred packets have to wait\nRTO timer to be transmitted, while cwnd should allow us to send them\nsooner)\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Yuchung Cheng \u003cycheng@google.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Nandita Dukkipati \u003cnanditad@google.com\u003e\nCc: H.K. Jerry Chu \u003chkchu@google.com\u003e\nCc: John Heffner \u003cjohnwheffner@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5815d5e7aae3cc9c5e85af83094d4d6498c3f4fc",
      "tree": "68c36b030d6479cdee319db32cdb2ee4d81ee938",
      "parents": [
        "67b95bd78f0de85793bf30835913f6ef784a39b6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Jul 19 23:02:34 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 10:59:41 2012 -0700"
      },
      "message": "tcp: use hash_32() in tcp_metrics\n\nFix a missing roundup_pow_of_two(), since tcpmhash_entries is not\nguaranteed to be a power of two.\n\nUses hash_32() instead of custom hash.\n\ntcpmhash_entries should be an unsigned int.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "90b90f60c4f8e3a8525dfeb4aec46a9c7a29c857",
      "tree": "9b1d8ca6084012a02b302520bc26e5be65ba7b2a",
      "parents": [
        "769162e38b91e1d300752e666260fa6c7b203fbc",
        "36eb22e97a2b621fb707eead58ef915ab0f46e9e"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 20 12:30:48 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jul 20 12:30:48 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem\n"
    },
    {
      "commit": "abaa72d7fd9a20a67b62e6afa0e746e27851dc33",
      "tree": "ebe4134fcc93a6e205e6004b3e652d7a62281651",
      "parents": [
        "67da22d23fa6f3324e03bcd0580b914b2e4afbf3",
        "3e4b9459fb0e149c6b74c9e89399a8fc39a92b44"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 19 11:17:30 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 19 11:17:30 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c\n"
    },
    {
      "commit": "67da22d23fa6f3324e03bcd0580b914b2e4afbf3",
      "tree": "e794826d1dd7e30cf0885cbe93f22bc050c62359",
      "parents": [
        "aab4874355679c70f93993cf3b3fd74643b9ac33"
      ],
      "author": {
        "name": "Yuchung Cheng",
        "email": "ycheng@google.com",
        "time": "Thu Jul 19 06:43:11 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 19 11:02:03 2012 -0700"
      },
      "message": "net-tcp: Fast Open client - cookie-less mode\n\nIn trusted networks, e.g., intranet, data-center, the client does not\nneed to use Fast Open cookie to mitigate DoS attacks. In cookie-less\nmode, sendmsg() with MSG_FASTOPEN flag will send SYN-data regardless\nof cookie availability.\n\nSigned-off-by: Yuchung Cheng \u003cycheng@google.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aab4874355679c70f93993cf3b3fd74643b9ac33",
      "tree": "677d3faf161e39f9de18b5956e24cd746e73d996",
      "parents": [
        "cf60af03ca4e71134206809ea892e49b92a88896"
      ],
      "author": {
        "name": "Yuchung Cheng",
        "email": "ycheng@google.com",
        "time": "Thu Jul 19 06:43:10 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 19 11:02:03 2012 -0700"
      },
      "message": "net-tcp: Fast Open client - detecting SYN-data drops\n\nOn paths with firewalls dropping SYN with data or experimental TCP options,\nFast Open connections will have experience SYN timeout and bad performance.\nThe solution is to track such incidents in the cookie cache and disables\nFast Open temporarily.\n\nSince only the original SYN includes data and/or Fast Open option, the\nSYN-ACK has some tell-tale sign (tcp_rcv_fastopen_synack()) to detect\nsuch drops. If a path has recurring Fast Open SYN drops, Fast Open is\ndisabled for 2^(recurring_losses) minutes starting from four minutes up to\nroughly one and half day. sendmsg with MSG_FASTOPEN flag will succeed but\nit behaves as connect() then write().\n\nSigned-off-by: Yuchung Cheng \u003cycheng@google.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf60af03ca4e71134206809ea892e49b92a88896",
      "tree": "478ee362f10d0737fbc4e6642e2966abe0cd1397",
      "parents": [
        "8e4178c1c7b52f7c99f5fd22ef7af6b2bff409e3"
      ],
      "author": {
        "name": "Yuchung Cheng",
        "email": "ycheng@google.com",
        "time": "Thu Jul 19 06:43:09 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 19 11:02:03 2012 -0700"
      },
      "message": "net-tcp: Fast Open client - sendmsg(MSG_FASTOPEN)\n\nsendmsg() (or sendto()) with MSG_FASTOPEN is a combo of connect(2)\nand write(2). The application should replace connect() with it to\nsend data in the opening SYN packet.\n\nFor blocking socket, sendmsg() blocks until all the data are buffered\nlocally and the handshake is completed like connect() call. It\nreturns similar errno like connect() if the TCP handshake fails.\n\nFor non-blocking socket, it returns the number of bytes queued (and\ntransmitted in the SYN-data packet) if cookie is available. If cookie\nis not available, it transmits a data-less SYN packet with Fast Open\ncookie request option and returns -EINPROGRESS like connect().\n\nUsing MSG_FASTOPEN on connecting or connected socket will result in\nsimlar errno like repeating connect() calls. Therefore the application\nshould only use this flag on new sockets.\n\nThe buffer size of sendmsg() is independent of the MSS of the connection.\n\nSigned-off-by: Yuchung Cheng \u003cycheng@google.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "783237e8daf13481ee234997cbbbb823872ac388",
      "tree": "cf6e9adf54eedbc155d4fc43bcf6ec87aaac820e",
      "parents": [
        "1fe4c481ba637660793217769695c146a037bd54"
      ],
      "author": {
        "name": "Yuchung Cheng",
        "email": "ycheng@google.com",
        "time": "Thu Jul 19 06:43:07 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 19 11:02:03 2012 -0700"
      },
      "message": "net-tcp: Fast Open client - sending SYN-data\n\nThis patch implements sending SYN-data in tcp_connect(). The data is\nfrom tcp_sendmsg() with flag MSG_FASTOPEN (implemented in a later patch).\n\nThe length of the cookie in tcp_fastopen_req, init\u0027d to 0, controls the\ntype of the SYN. If the cookie is not cached (len\u003d\u003d0), the host sends\ndata-less SYN with Fast Open cookie request option to solicit a cookie\nfrom the remote. If cookie is not available (len \u003e 0), the host sends\na SYN-data with Fast Open cookie option. If cookie length is negative,\n  the SYN will not include any Fast Open option (for fall back operations).\n\nTo deal with middleboxes that may drop SYN with data or experimental TCP\noption, the SYN-data is only sent once. SYN retransmits do not include\ndata or Fast Open options. The connection will fall back to regular TCP\nhandshake.\n\nSigned-off-by: Yuchung Cheng \u003cycheng@google.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1fe4c481ba637660793217769695c146a037bd54",
      "tree": "d90f9708cd6a291988b198ade7daf0d9f58c34cf",
      "parents": [
        "2100c8d2d9db23c0a09901a782bb4e3b21bee298"
      ],
      "author": {
        "name": "Yuchung Cheng",
        "email": "ycheng@google.com",
        "time": "Thu Jul 19 06:43:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 19 10:55:36 2012 -0700"
      },
      "message": "net-tcp: Fast Open client - cookie cache\n\nWith help from Eric Dumazet, add Fast Open metrics in tcp metrics cache.\nThe basic ones are MSS and the cookies. Later patch will cache more to\nhandle unfriendly middleboxes.\n\nSigned-off-by: Yuchung Cheng \u003cycheng@google.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2100c8d2d9db23c0a09901a782bb4e3b21bee298",
      "tree": "fd5842c540bf77c3fa546797c1c8e94f054cc86c",
      "parents": [
        "4cce66cdd14aa5006a011505865d932adb49f600"
      ],
      "author": {
        "name": "Yuchung Cheng",
        "email": "ycheng@google.com",
        "time": "Thu Jul 19 06:43:05 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 19 10:55:36 2012 -0700"
      },
      "message": "net-tcp: Fast Open base\n\nThis patch impelements the common code for both the client and server.\n\n1. TCP Fast Open option processing. Since Fast Open does not have an\n   option number assigned by IANA yet, it shares the experiment option\n   code 254 by implementing draft-ietf-tcpm-experimental-options\n   with a 16 bits magic number 0xF989. This enables global experiments\n   without clashing the scarce(2) experimental options available for TCP.\n\n   When the draft status becomes standard (maybe), the client should\n   switch to the new option number assigned while the server supports\n   both numbers for transistion.\n\n2. The new sysctl tcp_fastopen\n\n3. A place holder init function\n\nSigned-off-by: Yuchung Cheng \u003cycheng@google.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8f1641b5829629d3af8e52750ba3b542f8f56c8",
      "tree": "0a9c1fd66d52b6c8cf8952be5a2cc0249ffa1539",
      "parents": [
        "be9f4a44e7d41cee50ddb5f038fc2391cbbb4046"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 19 10:43:03 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 19 10:43:03 2012 -0700"
      },
      "message": "net: Fix warnings in dst_ops.h\n\ninclude/net/dst_ops.h:28:20: warning: ‘struct sock’ declared inside parameter list\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be9f4a44e7d41cee50ddb5f038fc2391cbbb4046",
      "tree": "184e45a62fa0b4d15961427c0e8d5a496f0617a5",
      "parents": [
        "aee06da6726d4981c51928c2d6d1e2cabeec7a10"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Jul 19 07:34:03 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 19 10:35:30 2012 -0700"
      },
      "message": "ipv4: tcp: remove per net tcp_sock\n\ntcp_v4_send_reset() and tcp_v4_send_ack() use a single socket\nper network namespace.\n\nThis leads to bad behavior on multiqueue NICS, because many cpus\ncontend for the socket lock and once socket lock is acquired, extra\nfalse sharing on various socket fields slow down the operations.\n\nTo better resist to attacks, we use a percpu socket. Each cpu can\nrun without contention, using appropriate memory (local node)\n\nAdditional features :\n\n1) We also mirror the queue_mapping of the incoming skb, so that\nanswers use the same queue if possible.\n\n2) Setting SOCK_USE_WRITE_QUEUE socket flag speedup sock_wfree()\n\n3) We now limit the number of in-flight RST/ACK [1] packets\nper cpu, instead of per namespace, and we honor the sysctl_wmem_default\nlimit dynamically. (Prior to this patch, sysctl_wmem_default value was\ncopied at boot time, so any further change would not affect tcp_sock\nlimit)\n\n[1] These packets are only generated when no socket was matched for\nthe incoming packet.\n\nReported-by: Bill Sommerfeld \u003cwsommerfeld@google.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aee06da6726d4981c51928c2d6d1e2cabeec7a10",
      "tree": "d7b0281232aac81edfd5da0ca96c6b99ac9c7dae",
      "parents": [
        "7fed84f622ec2696087301199c2952b85e0cc3b4"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Wed Jul 18 10:15:35 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 19 10:30:14 2012 -0700"
      },
      "message": "ipv4: use seqlock for nh_exceptions\n\nUse global seqlock for the nh_exceptions. Call\nfnhe_oldest with the right hash chain. Correct the diff\nvalue for dst_set_expires.\n\nv2: after suggestions from Eric Dumazet:\n* get rid of spin lock fnhe_lock, rearrange update_or_create_fnhe\n* continue daddr search in rt_bind_exception\n\nv3:\n* remove the daddr check before seqlock in rt_bind_exception\n* restart lookup in rt_bind_exception on detected seqlock change,\nas suggested by David Miller\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0cd06647b7c24f6633e32a505930a9aa70138c22",
      "tree": "8f2ca456dfd2c8deddf8dfb5d50a0db5b7dda916",
      "parents": [
        "e8c7b335faca2cbce715da3b0e1663d75d422f5b",
        "e0482103c22957b413db4c4ba35eca3b1e99751d"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 18 14:53:10 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jul 18 14:53:10 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next\n"
    },
    {
      "commit": "ddbe503203855939946430e39bae58de11b70b69",
      "tree": "1605a8d3b14a92819eb8ed47ae5a84c1b66e12f8",
      "parents": [
        "dc9059512c09d09b99de6cd3a8bc842507934cbb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed Jul 18 08:11:12 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 11:28:46 2012 -0700"
      },
      "message": "ipv6: add ipv6_addr_hash() helper\n\nIntroduce ipv6_addr_hash() helper doing a XOR on all bits\nof an IPv6 address, with an optimized x86_64 version.\n\nUse it in flow dissector, as suggested by Andrew McGregor,\nto reduce hash collision probabilities in fq_codel (and other\nusers of flow dissector)\n\nUse it in ip6_tunnel.c and use more bit shuffling, as suggested\nby David Laight, as existing hash was ignoring most of them.\n\nUse it in sunrpc and use more bit shuffling, using hash_32().\n\nUse it in net/ipv6/addrconf.c, using hash_32() as well.\n\nAs a cleanup, use it in net/ipv4/tcp_metrics.c\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReported-by: Andrew McGregor \u003candrewmcgr@gmail.com\u003e\nCc: Dave Taht \u003cdave.taht@gmail.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: David Laight \u003cDavid.Laight@ACULAB.COM\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb8637cd4a0d651cf4fcc1559231facee829a0ac",
      "tree": "b9e8259314c4967b9b89930fdb00186ab401444e",
      "parents": [
        "fcc24db5e8a75ed3ce2238f4ad1b3bef8634f7e1"
      ],
      "author": {
        "name": "Saurabh",
        "email": "saurabh.mohan@vyatta.com",
        "time": "Tue Jul 17 09:44:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 09:36:12 2012 -0700"
      },
      "message": "net/ipv4: VTI support rx-path hook in xfrm4_mode_tunnel.\n\nIncorporated David and Steffen\u0027s comments.\nAdd hook for rx-path xfmr4_mode_tunnel for VTI tunnel module.\n\nSigned-off-by: Saurabh Mohan \u003csaurabh.mohan@vyatta.com\u003e\nReviewed-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3818c92afabecfe6b8e5d2e3734c8753522987c",
      "tree": "c23f13c54bd995910d023445ab9207e5d9cfdecb",
      "parents": [
        "5abf7f7e0f6bdbfcac737f636497d7016d9507eb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Jul 17 21:38:04 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 08:59:58 2012 -0700"
      },
      "message": "ipv6: fix inet6_csk_xmit()\n\nWe should provide to inet6_csk_route_socket a struct flowi6 pointer,\nso that net6_csk_xmit() works correctly instead of sending garbage.\n\nAlso add some consts\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReported-by: Yuchung Cheng \u003cycheng@google.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "707be0ae13f7a4533d11f0d88687223c4bd8f85f",
      "tree": "cf2c9fa680828ea4a9882ee2561e9b12d643adbe",
      "parents": [
        "040a78314fe3cbb1472ac220cb3400116f6967bc",
        "88bc40e8c3d3bca7d26c756bb0b823d4abad3355"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 17 15:07:31 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 17 15:07:31 2012 -0400"
      },
      "message": "Merge branch \u0027for-john\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next\n"
    },
    {
      "commit": "a6ff1a2f1e91578860b37df9fd861ef7af207de4",
      "tree": "1692579976add2fa59ab3fe008e4b0d36ec7ee30",
      "parents": [
        "bd2d0837abc0206ecdd3f6b9fc8c25b55b63c96b",
        "4895c771c7f006b4b90f9d6b1d2210939ba57b38"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 17 10:48:26 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 17 10:48:26 2012 -0700"
      },
      "message": "Merge branch \u0027nexthop_exceptions\u0027\n\nThese patches implement the final mechanism necessary to really allow\nus to go without the route cache in ipv4.\n\nWe need a place to have long-term storage of PMTU/redirect information\nwhich is independent of the routes themselves, yet does not get us\nback into a situation where we have to write to metrics or anything\nlike that.\n\nFor this we use an \"next-hop exception\" table in the FIB nexthops.\n\nThe one thing I desperately want to avoid is having to create clone\nroutes in the FIB trie for this purpose, because that is very\nexpensive.   However, I\u0027m willing to entertain such an idea later\nif this current scheme proves to have downsides that the FIB trie\nvariant would not have.\n\nIn order to accomodate this any such scheme, we need to be able to\nproduce a full flow key at PMTU/redirect time.  That required an\nadjustment of the interface call-sites used to propagate these events.\n\nFor a PMTU/redirect with a fully specified socket, we pass that socket\nand use it to produce the flow key.\n\nOtherwise we use a passed in SKB to formulate the key.  There are two\ncases that need to be distinguished, ICMP message processing (in which\ncase the IP header is at skb-\u003edata) and output packet processing\n(mostly tunnels, and in all such cases the IP header is at ip_hdr(skb)).\n\nWe also have to make the code able to handle the case where the dst\nitself passed into the dst_ops-\u003e{update_pmtu,redirect} method is\ninvalidated.  This matters for calls from sockets that have cached\nthat route.  We provide a inet{,6} helper function for this purpose,\nand edit SCTP specially since it caches routes at the transport rather\nthan socket level.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4895c771c7f006b4b90f9d6b1d2210939ba57b38",
      "tree": "66b132799e33a215b88bf3945965fefa7a0cde24",
      "parents": [
        "6700c2709c08d74ae2c3c29b84a30da012dbc7f1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 17 04:19:00 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 17 08:48:50 2012 -0700"
      },
      "message": "ipv4: Add FIB nexthop exceptions.\n\nIn a regime where we have subnetted route entries, we need a way to\nstore persistent storage about destination specific learned values\nsuch as redirects and PMTU values.\n\nThis is implemented here via nexthop exceptions.\n\nThe initial implementation is a 2048 entry hash table with relaiming\nstarting at chain length 5.  A more sophisticated scheme can be\ndevised if that proves necessary.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6700c2709c08d74ae2c3c29b84a30da012dbc7f1",
      "tree": "1d44f300ec3cf5f9845fba7a25491e33d666426f",
      "parents": [
        "02f3d4ce9e81434a365f4643020b0402f6fe3332"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 17 03:29:28 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 17 03:29:28 2012 -0700"
      },
      "message": "net: Pass optional SKB and SK arguments to dst_ops-\u003e{update_pmtu,redirect}()\n\nThis will be used so that we can compose a full flow key.\n\nEven though we have a route in this context, we need more.  In the\nfuture the routes will be without destination address, source address,\netc. keying.  One ipv4 route will cover entire subnets, etc.\n\nIn this environment we have to have a way to possess persistent storage\nfor redirects and PMTU information.  This persistent storage will exist\nin the FIB tables, and that\u0027s why we\u0027ll need to be able to rebuild a\nfull lookup flow key here.  Using that flow key will do a fib_lookup()\nand create/update the persistent entry.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "57b5ce072e7361218a8e2ea1d62960cbb71d9cff",
      "tree": "c00265b8f2123f860978d293fa122427ea2139f8",
      "parents": [
        "b594bab9021f5225a24bcb69d7f7b7272419adb2"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "mcgrof@qca.qualcomm.com",
        "time": "Thu Jul 12 11:49:18 2012 -0700"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jul 17 12:16:39 2012 +0200"
      },
      "message": "cfg80211: add cellular base station regulatory hint support\n\nCellular base stations can provide hints to cfg80211 about\nwhere they think we are. This can be done for example on\na cell phone. To enable these hints we simply allow them\nthrough as user regulatory hints but we allow userspace\nto clasify the hint as either coming directly from the\nuser or coming from a cellular base station. This option\nis only available when you enable\nCONFIG_CFG80211_CERTIFICATION_ONUS.\n\nThe base station hints themselves will not be processed\nby the core unless at least one device on the system\nsupports this feature.\n\nSigned-off-by: Luis R. Rodriguez \u003cmcgrof@qca.qualcomm.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "9e33ce453f8ac8452649802bee1f410319408f4b",
      "tree": "1d36ae89f16fe4e0bc185c84fa595fa817f4a17c",
      "parents": [
        "310e158cc3b7a6adf41e778d52be746c4dc88561"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "mlin@ss.pku.edu.cn",
        "time": "Sat Jul 07 18:26:10 2012 +0800"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Jul 17 12:00:46 2012 +0200"
      },
      "message": "ipvs: fix oops on NAT reply in br_nf context\n\nIPVS should not reset skb-\u003enf_bridge in FORWARD hook\nby calling nf_reset for NAT replies. It triggers oops in\nbr_nf_forward_finish.\n\n[  579.781508] BUG: unable to handle kernel NULL pointer dereference at 0000000000000004\n[  579.781669] IP: [\u003cffffffff817b1ca5\u003e] br_nf_forward_finish+0x58/0x112\n[  579.781792] PGD 218f9067 PUD 0\n[  579.781865] Oops: 0000 [#1] SMP\n[  579.781945] CPU 0\n[  579.781983] Modules linked in:\n[  579.782047]\n[  579.782080]\n[  579.782114] Pid: 4644, comm: qemu Tainted: G        W    3.5.0-rc5-00006-g95e69f9 #282 Hewlett-Packard  /30E8\n[  579.782300] RIP: 0010:[\u003cffffffff817b1ca5\u003e]  [\u003cffffffff817b1ca5\u003e] br_nf_forward_finish+0x58/0x112\n[  579.782455] RSP: 0018:ffff88007b003a98  EFLAGS: 00010287\n[  579.782541] RAX: 0000000000000008 RBX: ffff8800762ead00 RCX: 000000000001670a\n[  579.782653] RDX: 0000000000000000 RSI: 000000000000000a RDI: ffff8800762ead00\n[  579.782845] RBP: ffff88007b003ac8 R08: 0000000000016630 R09: ffff88007b003a90\n[  579.782957] R10: ffff88007b0038e8 R11: ffff88002da37540 R12: ffff88002da01a02\n[  579.783066] R13: ffff88002da01a80 R14: ffff88002d83c000 R15: ffff88002d82a000\n[  579.783177] FS:  0000000000000000(0000) GS:ffff88007b000000(0063) knlGS:00000000f62d1b70\n[  579.783306] CS:  0010 DS: 002b ES: 002b CR0: 000000008005003b\n[  579.783395] CR2: 0000000000000004 CR3: 00000000218fe000 CR4: 00000000000027f0\n[  579.783505] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[  579.783684] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[  579.783795] Process qemu (pid: 4644, threadinfo ffff880021b20000, task ffff880021aba760)\n[  579.783919] Stack:\n[  579.783959]  ffff88007693cedc ffff8800762ead00 ffff88002da01a02 ffff8800762ead00\n[  579.784110]  ffff88002da01a02 ffff88002da01a80 ffff88007b003b18 ffffffff817b26c7\n[  579.784260]  ffff880080000000 ffffffff81ef59f0 ffff8800762ead00 ffffffff81ef58b0\n[  579.784477] Call Trace:\n[  579.784523]  \u003cIRQ\u003e\n[  579.784562]\n[  579.784603]  [\u003cffffffff817b26c7\u003e] br_nf_forward_ip+0x275/0x2c8\n[  579.784707]  [\u003cffffffff81704b58\u003e] nf_iterate+0x47/0x7d\n[  579.784797]  [\u003cffffffff817ac32e\u003e] ? br_dev_queue_push_xmit+0xae/0xae\n[  579.784906]  [\u003cffffffff81704bfb\u003e] nf_hook_slow+0x6d/0x102\n[  579.784995]  [\u003cffffffff817ac32e\u003e] ? br_dev_queue_push_xmit+0xae/0xae\n[  579.785175]  [\u003cffffffff8187fa95\u003e] ? _raw_write_unlock_bh+0x19/0x1b\n[  579.785179]  [\u003cffffffff817ac417\u003e] __br_forward+0x97/0xa2\n[  579.785179]  [\u003cffffffff817ad366\u003e] br_handle_frame_finish+0x1a6/0x257\n[  579.785179]  [\u003cffffffff817b2386\u003e] br_nf_pre_routing_finish+0x26d/0x2cb\n[  579.785179]  [\u003cffffffff817b2cf0\u003e] br_nf_pre_routing+0x55d/0x5c1\n[  579.785179]  [\u003cffffffff81704b58\u003e] nf_iterate+0x47/0x7d\n[  579.785179]  [\u003cffffffff817ad1c0\u003e] ? br_handle_local_finish+0x44/0x44\n[  579.785179]  [\u003cffffffff81704bfb\u003e] nf_hook_slow+0x6d/0x102\n[  579.785179]  [\u003cffffffff817ad1c0\u003e] ? br_handle_local_finish+0x44/0x44\n[  579.785179]  [\u003cffffffff81551525\u003e] ? sky2_poll+0xb35/0xb54\n[  579.785179]  [\u003cffffffff817ad62a\u003e] br_handle_frame+0x213/0x229\n[  579.785179]  [\u003cffffffff817ad417\u003e] ? br_handle_frame_finish+0x257/0x257\n[  579.785179]  [\u003cffffffff816e3b47\u003e] __netif_receive_skb+0x2b4/0x3f1\n[  579.785179]  [\u003cffffffff816e69fc\u003e] process_backlog+0x99/0x1e2\n[  579.785179]  [\u003cffffffff816e6800\u003e] net_rx_action+0xdf/0x242\n[  579.785179]  [\u003cffffffff8107e8a8\u003e] __do_softirq+0xc1/0x1e0\n[  579.785179]  [\u003cffffffff8135a5ba\u003e] ? trace_hardirqs_off_thunk+0x3a/0x6c\n[  579.785179]  [\u003cffffffff8188812c\u003e] call_softirq+0x1c/0x30\n\nThe steps to reproduce as follow,\n\n1. On Host1, setup brige br0(192.168.1.106)\n2. Boot a kvm guest(192.168.1.105) on Host1 and start httpd\n3. Start IPVS service on Host1\n   ipvsadm -A -t 192.168.1.106:80 -s rr\n   ipvsadm -a -t 192.168.1.106:80 -r 192.168.1.105:80 -m\n4. Run apache benchmark on Host2(192.168.1.101)\n   ab -n 1000 http://192.168.1.106/\n\nip_vs_reply4\n  ip_vs_out\n    handle_response\n      ip_vs_notrack\n        nf_reset()\n        {\n          skb-\u003enf_bridge \u003d NULL;\n        }\n\nActually, IPVS wants in this case just to replace nfct\nwith untracked version. So replace the nf_reset(skb) call\nin ip_vs_notrack() with a nf_conntrack_put(skb-\u003enfct) call.\n\nSigned-off-by: Lin Ming \u003cmlin@ss.pku.edu.cn\u003e\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "84f10708f73254878246772cead70a2eb6a123f2",
      "tree": "39a4ca2f6cc3ab5b33320e3a62d2a8f7c4901b7a",
      "parents": [
        "00f5335079689cd65a9430b5df8974dc35c7914b"
      ],
      "author": {
        "name": "Thomas Pedersen",
        "email": "c_tpeder@qca.qualcomm.com",
        "time": "Thu Jul 12 16:17:33 2012 -0700"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Jul 17 11:57:23 2012 +0200"
      },
      "message": "cfg80211: support TX error rate CQM\n\nLet the user configure serveral TX error conection quality monitoring\nparameters: % error rate, survey interval, and # of attempted packets.\n\nOn exceeding the TX failure rate over the given interval, the driver\nwill send a CQM notify event with the actual TX failure rate and\npackets attempted.\n\nSigned-off-by: Thomas Pedersen \u003cc_tpeder@qca.qualcomm.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "282f23c6ee343126156dd41218b22ece96d747e3",
      "tree": "9a306d99ed77d760078d29699edd3007507d709b",
      "parents": [
        "a858d64b7709ca7bd2ee71d66ef3b7190cdcbb7d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Jul 17 10:13:05 2012 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 17 01:36:20 2012 -0700"
      },
      "message": "tcp: implement RFC 5961 3.2\n\nImplement the RFC 5691 mitigation against Blind\nReset attack using RST bit.\n\nIdea is to validate incoming RST sequence,\nto match RCV.NXT value, instead of previouly accepted\nwindow : (RCV.NXT \u003c\u003d SEG.SEQ \u003c RCV.NXT+RCV.WND)\n\nIf sequence is in window but not an exact match, send\na \"challenge ACK\", so that the other part can resend an\nRST with the appropriate sequence.\n\nAdd a new sysctl, tcp_challenge_ack_limit, to limit\nnumber of challenge ACK sent per second.\n\nAdd a new SNMP counter to count number of challenge acks sent.\n(netstat -s | grep TCPChallengeACK)\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Kiran Kumar Kella \u003ckkiran@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51d7cccf07238f5236c5b9269231a30dd5f8e714",
      "tree": "1155d43b810d0f163276182be610d69c50e862d9",
      "parents": [
        "cbc89c8cf279b85edc95b4ae40a9e7e1edf2dfae"
      ],
      "author": {
        "name": "Andrey Vagin",
        "email": "avagin@openvz.org",
        "time": "Mon Jul 16 04:28:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 16 22:31:34 2012 -0700"
      },
      "message": "net: make sock diag per-namespace\n\nBefore this patch sock_diag works for init_net only and dumps\ninformation about sockets from all namespaces.\n\nThis patch expands sock_diag for all name-spaces.\nIt creates a netlink kernel socket for each netns and filters\ndata during dumping.\n\nv2: filter accoding with netns in all places\n    remove an unused variable.\n\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: linux-kernel@vger.kernel.org\nCc: netdev@vger.kernel.org\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "02f3d4ce9e81434a365f4643020b0402f6fe3332",
      "tree": "8fd12d62c3d92ed090d1d7e5f92750bef951b914",
      "parents": [
        "35ad9b9cf7d8a2e6259a0d24022e910adb6f3489"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 16 03:57:14 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 16 03:57:14 2012 -0700"
      },
      "message": "sctp: Adjust PMTU updates to accomodate route invalidation.\n\nThis adjusts the call to dst_ops-\u003eupdate_pmtu() so that we can\ntransparently handle the fact that, in the future, the dst itself can\nbe invalidated by the PMTU update (when we have non-host routes cached\nin sockets).\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "35ad9b9cf7d8a2e6259a0d24022e910adb6f3489",
      "tree": "d9772467e072f3f1d142aa0ce2fc56ef69c57cb7",
      "parents": [
        "80d0a69fc57715dc9080c0567df1ed911b78abea"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 16 03:44:56 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 16 03:44:56 2012 -0700"
      },
      "message": "ipv6: Add helper inet6_csk_update_pmtu().\n\nThis is the ipv6 version of inet_csk_update_pmtu().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80d0a69fc57715dc9080c0567df1ed911b78abea",
      "tree": "feb310b5075d3a4f118fcdde7bc44970b1c3f07e",
      "parents": [
        "141e369de698f2e17bf716b83fcc647ddcb2220c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 16 03:28:06 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 16 03:28:06 2012 -0700"
      },
      "message": "ipv4: Add helper inet_csk_update_pmtu().\n\nThis abstracts away the call to dst_ops-\u003eupdate_pmtu() so that we can\ntransparently handle the fact that, in the future, the dst itself can\nbe invalidated by the PMTU update (when we have non-host routes cached\nin sockets).\n\nSo we try to rebuild the socket cached route after the method\ninvocation if necessary.\n\nThis isn\u0027t used by SCTP because it needs to cache dsts per-transport,\nand thus will need it\u0027s own local version of this helper.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c20f8e35ca8b0583323d310ec63a0f0d17cfdcf5",
      "tree": "ce775fec3821cc1cf9548b51ef10c980fe33c7e5",
      "parents": [
        "a0dfe0ab6bf194805ce9d6a2dc81efab7a4a7fda"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Tue Jul 10 05:47:07 2012 -0700"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Sun Jul 15 12:18:29 2012 -0300"
      },
      "message": "Bluetooth: Use tx window from config response for ack timing\n\nThis change addresses an L2CAP ERTM throughput problem when a remote\ndevice does not fully utilize the available transmit window.\n\nThe L2CAP ERTM transmit window size determines the maximum number of\nunacked frames that may be outstanding at any time. It is configured\nseparately for each direction of an ERTM connection. Each side sends a\nconfiguration request with a tx_win field indicating how many unacked\nframes it is capable of receiving before sending an ack. The\nconfiguration response\u0027s tx_win field shows how many frames the\ntransmitter will actually send before waiting for an ack.\n\nIt\u0027s important to trace both the actual transmit window (to check for\nvalidity of incoming frames) and the number of frames that the\ntransmitter will send before waiting (to send acks at the appropriate\ntime). Now there are separate tx_win and ack_win values. ack_win is\nupdated based on configuration responses, and is used to determine\nwhen acks are sent.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "921a678cb6825900478f1e8e9c59035f8c67aa32",
      "tree": "2b04148d7c8e86a89d763b7c85a53124c18285cb",
      "parents": [
        "85b91b0339e764f7e56ff5968fa10d85451378b4",
        "38a00840638b4932152bca48098dbfa069d942a2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 13 23:02:28 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 13 23:02:28 2012 -0700"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next\n\nJohn Linville says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nSeveral drivers see updates: mwifiex, ath9k, iwlwifi, brcmsmac,\nwlcore/wl12xx/wl18xx, and a handful of others.  The bcma bus got a\nlot of attention from Hauke Mehrtens.  The cfg80211 component gets\na flurry of patches for multi-channel support, and the mac80211\ncomponent gets the first few VHT (11ac) and 60GHz (11ad) patches.\nThis also includes the removal of the iwmc3200 drivers, since the\nhardware never became available to normal people.\n\nAdditionally, the NFC subsystem gets a series of updates.  According to\nSamuel, \"Here are the interesting bits:\n\n- A better error management for the HCI stack.\n- An LLCP \"late\" binding implementation for a better NFC SAP usage. SAPs are\n  now reserved only when there\u0027s a client for it.\n- Support for Sony RC-S360 (a.k.a. PaSoRi) pn533 based dongle. We can read and\n  write NFC tags and also establish a p2p link with this dongle now.\n- A few LLCP fixes.\"\n\nFinally, this includes another pull of the fixes from the wireless\ntree in order to resolve some merge issues.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "85b91b0339e764f7e56ff5968fa10d85451378b4",
      "tree": "539c368948900b35ee8d474829724a796b482d44",
      "parents": [
        "d01cb20711e3c2df41677ee270d6bdeff24e9902"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 13 08:21:29 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 13 08:21:29 2012 -0700"
      },
      "message": "ipv4: Don\u0027t store a rule pointer in fib_result.\n\nWe only use it to fetch the rule\u0027s tclassid, so just store the\ntclassid there instead.\n\nThis also decreases the size of fib_result by a full 8 bytes on\n64-bit.  On 32-bits it\u0027s a wash.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4290cb4bf212112e3d6f860e25f000ca8a1ca6a4",
      "tree": "b6dda8955a4e199c318860ffa01dc9b2ea417905",
      "parents": [
        "5b7ccaf3fc7446e42b83a77fd7aa7ad92850acdd"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jul 12 22:19:48 2012 +0200"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jul 13 16:16:11 2012 +0200"
      },
      "message": "cfg80211: reduce monitor interface tracking\n\nRevert commit b78e8ceac23655e1e06b30aa95ab11742d1ac7c0\n(\"cfg80211: track monitor channel\") and remove the\nset_monitor_enabled() callback.\n\nDue to the tracking happening in NETDEV_PRE_UP, it had\nintroduced bugs because the monitor interface callback\nwould be called before the device was started. It looks\nlike there\u0027s no way to fix this, and using NETDEV_PRE_UP\nis broken anyway (since there\u0027s no NETDEV_UP_FAIL), so\nremove all that code, track interfaces in NETDEV_UP and\nalso stop tracking the monitor channel in cfg80211.\n\nThis mostly reverts to before the tracking, except that\nwe keep the interface count tracking so that setting the\nmonitor channel can be rejected properly.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "5b7ccaf3fc7446e42b83a77fd7aa7ad92850acdd",
      "tree": "e87b3f28cdfe513de4f3527fabaaacca63eedc24",
      "parents": [
        "075e08477d51709ae1998a05c35aadf59ef823b9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Jul 12 19:45:08 2012 +0200"
      },
      "committer": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Jul 13 16:16:11 2012 +0200"
      },
      "message": "cfg80211/mac80211: re-add get_channel operation\n\nThis essentially reverts commit 2e165b818456 but\nintroduces the get_channel operation with a new\nwireless_dev argument so that you can retrieve\nthe channel per interface. This is necessary as\neven though we can track all interface channels\n(except monitor) we can\u0027t track the channel type\nused.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\n"
    },
    {
      "commit": "d07d152892aadd8dc3209ecef6788dfc83475676",
      "tree": "0f140aa244ddc2c52494155342298cef64fc8456",
      "parents": [
        "2f8684ce7a47c91da7e0ccba2686277c103d02b6",
        "685fb72b63faf09a767cc28332545f5830b91be8"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jul 12 15:21:05 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jul 12 15:21:05 2012 -0400"
      },
      "message": "Merge branch \u0027for-john\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next\n\nConflicts:\n\tdrivers/net/wireless/iwmc3200wifi/cfg80211.c\n\tdrivers/net/wireless/mwifiex/cfg80211.c\n"
    },
    {
      "commit": "38a00840638b4932152bca48098dbfa069d942a2",
      "tree": "dd12897854f6df8aac237d5fd46551c74be8153a",
      "parents": [
        "391e5c22f5f4e55817f8ba18a08ea717ed2d4a1f",
        "2f8684ce7a47c91da7e0ccba2686277c103d02b6"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jul 12 13:44:50 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jul 12 13:44:50 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem\n"
    }
  ],
  "next": "391e5c22f5f4e55817f8ba18a08ea717ed2d4a1f"
}
