)]}'
{
  "log": [
    {
      "commit": "e688a604807647c9450f9c12a7cb6d027150a895",
      "tree": "6b3df826b4a42affdfc9d58d74f5e17c063cc7d6",
      "parents": [
        "7838f2ce36b6ab5c13ef20b1857e3bbd567f1759"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Dec 22 04:15:53 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 22 22:34:56 2011 -0500"
      },
      "message": "net: introduce DST_NOPEER dst flag\n\nChris Boot reported crashes occurring in ipv6_select_ident().\n\n[  461.457562] RIP: 0010:[\u003cffffffff812dde61\u003e]  [\u003cffffffff812dde61\u003e]\nipv6_select_ident+0x31/0xa7\n\n[  461.578229] Call Trace:\n[  461.580742] \u003cIRQ\u003e\n[  461.582870]  [\u003cffffffff812efa7f\u003e] ? udp6_ufo_fragment+0x124/0x1a2\n[  461.589054]  [\u003cffffffff812dbfe0\u003e] ? ipv6_gso_segment+0xc0/0x155\n[  461.595140]  [\u003cffffffff812700c6\u003e] ? skb_gso_segment+0x208/0x28b\n[  461.601198]  [\u003cffffffffa03f236b\u003e] ? ipv6_confirm+0x146/0x15e\n[nf_conntrack_ipv6]\n[  461.608786]  [\u003cffffffff81291c4d\u003e] ? nf_iterate+0x41/0x77\n[  461.614227]  [\u003cffffffff81271d64\u003e] ? dev_hard_start_xmit+0x357/0x543\n[  461.620659]  [\u003cffffffff81291cf6\u003e] ? nf_hook_slow+0x73/0x111\n[  461.626440]  [\u003cffffffffa0379745\u003e] ? br_parse_ip_options+0x19a/0x19a\n[bridge]\n[  461.633581]  [\u003cffffffff812722ff\u003e] ? dev_queue_xmit+0x3af/0x459\n[  461.639577]  [\u003cffffffffa03747d2\u003e] ? br_dev_queue_push_xmit+0x72/0x76\n[bridge]\n[  461.646887]  [\u003cffffffffa03791e3\u003e] ? br_nf_post_routing+0x17d/0x18f\n[bridge]\n[  461.653997]  [\u003cffffffff81291c4d\u003e] ? nf_iterate+0x41/0x77\n[  461.659473]  [\u003cffffffffa0374760\u003e] ? br_flood+0xfa/0xfa [bridge]\n[  461.665485]  [\u003cffffffff81291cf6\u003e] ? nf_hook_slow+0x73/0x111\n[  461.671234]  [\u003cffffffffa0374760\u003e] ? br_flood+0xfa/0xfa [bridge]\n[  461.677299]  [\u003cffffffffa0379215\u003e] ?\nnf_bridge_update_protocol+0x20/0x20 [bridge]\n[  461.684891]  [\u003cffffffffa03bb0e5\u003e] ? nf_ct_zone+0xa/0x17 [nf_conntrack]\n[  461.691520]  [\u003cffffffffa0374760\u003e] ? br_flood+0xfa/0xfa [bridge]\n[  461.697572]  [\u003cffffffffa0374812\u003e] ? NF_HOOK.constprop.8+0x3c/0x56\n[bridge]\n[  461.704616]  [\u003cffffffffa0379031\u003e] ?\nnf_bridge_push_encap_header+0x1c/0x26 [bridge]\n[  461.712329]  [\u003cffffffffa037929f\u003e] ? br_nf_forward_finish+0x8a/0x95\n[bridge]\n[  461.719490]  [\u003cffffffffa037900a\u003e] ?\nnf_bridge_pull_encap_header+0x1c/0x27 [bridge]\n[  461.727223]  [\u003cffffffffa0379974\u003e] ? br_nf_forward_ip+0x1c0/0x1d4 [bridge]\n[  461.734292]  [\u003cffffffff81291c4d\u003e] ? nf_iterate+0x41/0x77\n[  461.739758]  [\u003cffffffffa03748cc\u003e] ? __br_deliver+0xa0/0xa0 [bridge]\n[  461.746203]  [\u003cffffffff81291cf6\u003e] ? nf_hook_slow+0x73/0x111\n[  461.751950]  [\u003cffffffffa03748cc\u003e] ? __br_deliver+0xa0/0xa0 [bridge]\n[  461.758378]  [\u003cffffffffa037533a\u003e] ? NF_HOOK.constprop.4+0x56/0x56\n[bridge]\n\nThis is caused by bridge netfilter special dst_entry (fake_rtable), a\nspecial shared entry, where attaching an inetpeer makes no sense.\n\nProblem is present since commit 87c48fa3b46 (ipv6: make fragment\nidentifications less predictable)\n\nIntroduce DST_NOPEER dst flag and make sure ipv6_select_ident() and\n__ip_select_ident() fallback to the \u0027no peer attached\u0027 handling.\n\nReported-by: Chris Boot \u003cbootc@bootc.net\u003e\nTested-by: Chris Boot \u003cbootc@bootc.net\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb3c36863e8001fc21a88bebfdead4da4c23e848",
      "tree": "68d479f11721abaac0713792d096b98aa04b9854",
      "parents": [
        "3f1e6d3fd37bd4f25e5b19f1c7ca21850426c33f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 13 17:35:06 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 13 17:35:06 2011 -0500"
      },
      "message": "ipv6: Check dest prefix length on original route not copied one in rt6_alloc_cow().\n\nAfter commit 8e2ec639173f325977818c45011ee176ef2b11f6 (\"ipv6: don\u0027t\nuse inetpeer to store metrics for routes.\") the test in rt6_alloc_cow()\nfor setting the ANYCAST flag is now wrong.\n\n\u0027rt\u0027 will always now have a plen of 128, because it is set explicitly\nto 128 by ip6_rt_copy.\n\nSo to restore the semantics of the test, check the destination prefix\nlength of \u0027ort\u0027.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72b36015ba43a3cca5303f5534d2c3e1899eae29",
      "tree": "f22cdff528a87b5b86bfc285c95dd40d5d55202e",
      "parents": [
        "4af04aba93f47699e7ac33e7cfd4da22550e6114"
      ],
      "author": {
        "name": "Ted Feng",
        "email": "artisdom@gmail.com",
        "time": "Thu Dec 08 00:46:21 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 12 18:50:51 2011 -0500"
      },
      "message": "ipip, sit: copy parms.name after register_netdevice\n\nSame fix as 731abb9cb2 for ipip and sit tunnel.\nCommit 1c5cae815d removed an explicit call to dev_alloc_name in\nipip_tunnel_locate and ipip6_tunnel_locate, because register_netdevice\nwill now create a valid name, however the tunnel keeps a copy of the\nname in the private parms structure. Fix this by copying the name back\nafter register_netdevice has successfully returned.\n\nThis shows up if you do a simple tunnel add, followed by a tunnel show:\n\n$ sudo ip tunnel add mode ipip remote 10.2.20.211\n$ ip tunnel\ntunl0: ip/ip  remote any  local any  ttl inherit  nopmtudisc\ntunl%d: ip/ip  remote 10.2.20.211  local any  ttl inherit\n$ sudo ip tunnel add mode sit remote 10.2.20.212\n$ ip tunnel\nsit0: ipv6/ip  remote any  local any  ttl 64  nopmtudisc 6rd-prefix 2002::/16\nsit%d: ioctl 89f8 failed: No such device\nsit%d: ipv6/ip  remote 10.2.20.212  local any  ttl inherit\n\nCc: stable@vger.kernel.org\nSigned-off-by: Ted Feng \u003cartisdom@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4af04aba93f47699e7ac33e7cfd4da22550e6114",
      "tree": "07bf02f171e03fb66d66e12011e56d459d44be25",
      "parents": [
        "e7ab5f1c323e137120561daeec75e91a1bd9ec8b"
      ],
      "author": {
        "name": "Li Wei",
        "email": "lw@cn.fujitsu.com",
        "time": "Tue Dec 06 21:23:45 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 12 18:48:18 2011 -0500"
      },
      "message": "ipv6: Fix for adding multicast route for loopback device automatically.\n\nThere is no obvious reason to add a default multicast route for loopback\ndevices, otherwise there would be a route entry whose dst.error set to\n-ENETUNREACH that would blocking all multicast packets.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n[ more detailed explanation ]\n\nThe problem is that the resulting routing table depends on the sequence\nof interface\u0027s initialization and in some situation, that would block all\nmuticast packets. Suppose there are two interfaces on my computer\n(lo and eth0), if we initailize \u0027lo\u0027 before \u0027eth0\u0027, the resuting routing\ntable(for multicast) would be\n\n# ip -6 route show | grep ff00::\nunreachable ff00::/8 dev lo metric 256 error -101\nff00::/8 dev eth0 metric 256\n\nWhen sending multicasting packets, routing subsystem will return the first\nroute entry which with a error set to -101(ENETUNREACH).\n\nI know the kernel will set the default ipv6 address for \u0027lo\u0027 when it is up\nand won\u0027t set the default multicast route for it, but there is no reason to\nstop \u0027init\u0027 program from setting address for \u0027lo\u0027, and that is exactly what\nsystemd did.\n\nI am sure there is something wrong with kernel or systemd, currently I preferred\nkernel caused this problem.\n\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: Li Wei \u003clw@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59c2cdae2791c0b2ee13d148edc6b771e7e7953f",
      "tree": "1e1a9d09a881a0283d991e91f39a36d6de045d54",
      "parents": [
        "b03b6dd58cef7d15b7c46a6729b83dd535ef08ab"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 01 14:12:55 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 01 14:12:55 2011 -0500"
      },
      "message": "Revert \"udp: remove redundant variable\"\n\nThis reverts commit 81d54ec8479a2c695760da81f05b5a9fb2dbe40a.\n\nIf we take the \"try_again\" goto, due to a checksum error,\nthe \u0027len\u0027 has already been truncated.  So we won\u0027t compute\nthe same values as the original code did.\n\nReported-by: paul bilke \u003cfsmail@conspiracy.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a38e6d5aed24bb7f0211e0819fac8c32c2b5791",
      "tree": "8b31067a05b221efa900bb333aa58c7fbaffc854",
      "parents": [
        "5cac98dd06bc43a7baab3523184f70fd359e9f35"
      ],
      "author": {
        "name": "Li Wei",
        "email": "lw@cn.fujitsu.com",
        "time": "Sun Nov 27 21:33:34 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 28 18:09:13 2011 -0500"
      },
      "message": "ipv6: Set mcast_hops to IPV6_DEFAULT_MCASTHOPS when -1 was given.\n\nWe need to set np-\u003emcast_hops to it\u0027s default value at this moment\notherwise when we use it and found it\u0027s value is -1, the logic to\nget default hop limit doesn\u0027t take multicast into account and will\nreturn wrong hop limit(IPV6_DEFAULT_HOPLIMIT) which is for unicast.\n\nSigned-off-by: Li Wei \u003clw@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "618f9bc74a039da76fa027ac2600c5b785b964c5",
      "tree": "ff69bc14b711c9c9d4c691d2a8c262401d62c8c9",
      "parents": [
        "ebb762f27fed083cb993a0816393aba4615f6544"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Nov 23 02:13:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 26 14:29:51 2011 -0500"
      },
      "message": "net: Move mtu handling down to the protocol depended handlers\n\nWe move all mtu handling from dst_mtu() down to the protocol\nlayer. So each protocol can implement the mtu handling in\na different manner.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ebb762f27fed083cb993a0816393aba4615f6544",
      "tree": "c065070f78d4a272d99183606d103519426bb344",
      "parents": [
        "6b600b26c0215bf9ed04062ecfacf0bc20e2588c"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Nov 23 02:12:51 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 26 14:29:50 2011 -0500"
      },
      "message": "net: Rename the dst_opt default_mtu method to mtu\n\nWe plan to invoke the dst_opt-\u003edefault_mtu() method unconditioally\nfrom dst_mtu(). So rename the method to dst_opt-\u003emtu() to match\nthe name with the new meaning.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6b600b26c0215bf9ed04062ecfacf0bc20e2588c",
      "tree": "a3dbd36f83c8c3d813b1422e472af6a31ace40d2",
      "parents": [
        "df07a94cf50eb73d09bf2350c3fe2598e4cbeee1"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Nov 23 02:12:13 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 26 14:29:50 2011 -0500"
      },
      "message": "route: Use the device mtu as the default for blackhole routes\n\nAs it is, we return null as the default mtu of blackhole routes.\nThis may lead to a propagation of a bogus pmtu if the default_mtu\nmethod of a blackhole route is invoked. So return dst-\u003edev-\u003emtu\nas the default mtu instead.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d0fe50c75a547088e4304e5eb5f521514dfae46",
      "tree": "e1415bc9f01700ee8e0182de1a5550b8d0bf345c",
      "parents": [
        "15ac2b08a2fd0f4aacbe8ae39788252fea6fbe63"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 23 17:29:23 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 23 17:29:23 2011 -0500"
      },
      "message": "ipv6: tcp: fix tcp_v6_conn_request()\n\nSince linux 2.6.26 (commit c6aefafb7ec6 : Add IPv6 support to TCP SYN\ncookies), we can drop a SYN packet reusing a TIME_WAIT socket.\n\n(As a matter of fact we fail to send the SYNACK answer)\n\nAs the client resends its SYN packet after a one second timeout, we\naccept it, because first packet removed the TIME_WAIT socket before\nbeing dropped.\n\nThis probably explains why nobody ever noticed or complained.\n\nReported-by: Jesse Young \u003cjlyo@jlyo.org\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46a246c4dff9f248913e791b69f2336cd8d4ec41",
      "tree": "2f8d10fc0d3afdc82a1fa3295a456507c99d549b",
      "parents": [
        "c16a98ed91597b40b22b540c6517103497ef8e74"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 23 16:07:00 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 23 16:07:00 2011 -0500"
      },
      "message": "netfilter: Remove NOTRACK/RAW dependency on NETFILTER_ADVANCED.\n\nDistributions are using this in their default scripts, so don\u0027t hide\nthem behind the advanced setting.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c16a98ed91597b40b22b540c6517103497ef8e74",
      "tree": "55e607b5facf5f29f58484b7c6662c1c8e1cb7ba",
      "parents": [
        "4d65a2465f6f2694de67777a8aedb1272f473979"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 23 15:49:31 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 23 15:49:31 2011 -0500"
      },
      "message": "ipv6: tcp: fix panic in SYN processing\n\ncommit 72a3effaf633bc ([NET]: Size listen hash tables using backlog\nhint) added a bug allowing inet6_synq_hash() to return an out of bound\narray index, because of u16 overflow.\n\nBug can happen if system admins set net.core.somaxconn \u0026\nnet.ipv4.tcp_max_syn_backlog sysctls to values greater than 65536\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d65a2465f6f2694de67777a8aedb1272f473979",
      "tree": "ca1460a1acf10aa733f1aaa6ec8b83ad42385c1d",
      "parents": [
        "02f1ce35bed3ceb56868ec534591e15ffdcef879"
      ],
      "author": {
        "name": "Li Wei",
        "email": "lw@cn.fujitsu.com",
        "time": "Wed Nov 23 03:51:54 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 23 03:51:54 2011 -0500"
      },
      "message": "ipv6: fix a bug in ndisc_send_redirect\n\nRelease skb when transmit rate limit _not_ allow\n\nSigned-off-by: Li Wei \u003clw@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "731abb9cb27aef6013ce60808a04e04a545f3f4e",
      "tree": "fc848c456d3db3bc92c085dc0dea7dbcc22f6b61",
      "parents": [
        "898bdf2cb43eb0a962c397eb4dd1aec2c7211be2"
      ],
      "author": {
        "name": "Josh Boyer",
        "email": "jwboyer@redhat.com",
        "time": "Thu Nov 10 15:10:23 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 14 00:24:06 2011 -0500"
      },
      "message": "ip6_tunnel: copy parms.name after register_netdevice\n\nCommit 1c5cae815d removed an explicit call to dev_alloc_name in ip6_tnl_create\nbecause register_netdevice will now create a valid name.  This works for the\nnet_device itself.\n\nHowever the tunnel keeps a copy of the name in the parms structure for the\nip6_tnl associated with the tunnel.  parms.name is set by copying the net_device\nname in ip6_tnl_dev_init_gen.  That function is called from ip6_tnl_dev_init in\nip6_tnl_create, but it is done before register_netdevice is called so the name\nis set to a bogus value in the parms.name structure.\n\nThis shows up if you do a simple tunnel add, followed by a tunnel show:\n\n[root@localhost ~]# ip -6 tunnel add remote fec0::100 local fec0::200\n[root@localhost ~]# ip -6 tunnel show\nip6tnl0: ipv6/ipv6 remote :: local :: encaplimit 0 hoplimit 0 tclass 0x00 flowlabel 0x00000 (flowinfo 0x00000000)\nip6tnl%d: ipv6/ipv6 remote fec0::100 local fec0::200 encaplimit 4 hoplimit 64 tclass 0x00 flowlabel 0x00000 (flowinfo 0x00000000)\n[root@localhost ~]#\n\nFix this by moving the strcpy out of ip6_tnl_dev_init_gen, and calling it after\nregister_netdevice has successfully returned.\n\nCc: stable@vger.kernel.org\nSigned-off-by: Josh Boyer \u003cjwboyer@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b90a603a1b21d63cf743cc833680cb195a729f6",
      "tree": "5ac1ffcfd7208796967f4d9387d831c1d9e54ace",
      "parents": [
        "1e49570171117e547e6324c58371db4a0dc2f1db"
      ],
      "author": {
        "name": "Nick Bowler",
        "email": "nbowler@elliptictech.com",
        "time": "Thu Nov 10 09:01:27 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 12 18:13:32 2011 -0500"
      },
      "message": "ah: Don\u0027t return NET_XMIT_DROP on input.\n\nWhen the ahash driver returns -EBUSY, AH4/6 input functions return\nNET_XMIT_DROP, presumably copied from the output code path.  But\nreturning transmit codes on input doesn\u0027t make a lot of sense.\nSince NET_XMIT_DROP is a positive int, this gets interpreted as\nthe next header type (i.e., success).  As that can only end badly,\nremove the check.\n\nSigned-off-by: Nick Bowler \u003cnbowler@elliptictech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7ea81a58adc123a4e980cb0eff9eb5c144b5dc7",
      "tree": "4f4b2aeef8f66763cc48dccb7aef505f96601047",
      "parents": [
        "069294e813ed5f27f82613b027609bcda5f1b914"
      ],
      "author": {
        "name": "Nick Bowler",
        "email": "nbowler@elliptictech.com",
        "time": "Tue Nov 08 12:12:45 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 09 15:55:53 2011 -0500"
      },
      "message": "ah: Read nexthdr value before overwriting it in ahash input callback.\n\nThe AH4/6 ahash input callbacks read out the nexthdr field from the AH\nheader *after* they overwrite that header.  This is obviously not going\nto end well.  Fix it up.\n\nSigned-off-by: Nick Bowler \u003cnbowler@elliptictech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "069294e813ed5f27f82613b027609bcda5f1b914",
      "tree": "4c6254008c1fc04e09b48c618e30622e5aeefc0a",
      "parents": [
        "fecc73519439361eab21fb3cebec504672ef0e03"
      ],
      "author": {
        "name": "Nick Bowler",
        "email": "nbowler@elliptictech.com",
        "time": "Tue Nov 08 12:12:44 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 09 15:55:53 2011 -0500"
      },
      "message": "ah: Correctly pass error codes in ahash output callback.\n\nThe AH4/6 ahash output callbacks pass nexthdr to xfrm_output_resume\ninstead of the error code.  This appears to be a copy+paste error from\nthe input case, where nexthdr is expected.  This causes the driver to\ncontinuously add AH headers to the datagram until either an allocation\nfails and the packet is dropped or the ahash driver hits a synchronous\nfallback and the resulting monstrosity is transmitted.\n\nCorrect this issue by simply passing the error code unadulterated.\n\nSigned-off-by: Nick Bowler \u003cnbowler@elliptictech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c457338d7acd3823e765b684a62294cfda9d2f55",
      "tree": "7f055d507f54a4223b049bacd15c09b0d5548784",
      "parents": [
        "10953db8e1a278742ef7e64a3d1491802bcfa98b"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Tue Nov 08 04:41:42 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 08 12:37:06 2011 -0500"
      },
      "message": "ipv6: drop packets when source address is multicast\n\nRFC 4291 Section 2.7 says Multicast addresses must not be used as source\naddresses in IPv6 packets - drop them on input so we don\u0027t process the\npacket further.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nReported-and-Tested-by: Kumar Sanghvi \u003cdivinekumar@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "73cb88ecb950ee67906d02354f781ea293bcf895",
      "tree": "fbb4a777410d5a5653537bcd3ee7e954bc9ba5a0",
      "parents": [
        "98f41f694f46085fda475cdee8cc0b6d2c5e6f1f"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Oct 30 06:46:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 01 17:56:14 2011 -0400"
      },
      "message": "net: make the tcp and udp file_operations for the /proc stuff const\n\nthe tcp and udp code creates a set of struct file_operations at runtime\nwhile it can also be done at compile time, with the added benefit of then\nhaving these file operations be const.\n\nthe trickiest part was to get the \"THIS_MODULE\" reference right; the naive\nmethod of declaring a struct in the place of registration would not work\nfor this reason.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2dad81adf2c49aa9f8bb7e7c48dff9261bd58396",
      "tree": "cb37d01250683d4114e3ea9e21851447d22128ba",
      "parents": [
        "e23ebf0fa9e1548c94d8277e393be97ba48faa06"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Wed Oct 19 13:23:06 2011 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Nov 01 09:20:07 2011 +0100"
      },
      "message": "netfilter: ipv6: fix afinfo-\u003eroute refcnt leak on error\n\nSeveral callers (h323 conntrack, xt_addrtype) assume that the\nreturned **dst only needs to be released if the function returns 0.\n\nThis is true for the ipv4 implementation, but not for the ipv6 one.\n\nInstead of changing the users, change the ipv6 implementation\nto behave like the ipv4 version by only providing the dst_entry result\nin the success case.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "0a9ee81349d90c6c85831f38118bf569c60a4d51",
      "tree": "37c5f232e594cbd222637c8ae44030749467190d",
      "parents": [
        "40cb1f9bc52186a1a9ef56f0d976482863516ce1"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Aug 29 14:17:25 2011 -0700"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Nov 01 09:19:49 2011 +0100"
      },
      "message": "netfilter: Remove unnecessary OOM logging messages\n\nSite specific OOM messages are duplications of a generic MM\nout of memory message and aren\u0027t really useful, so just\ndelete them.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "bc3b2d7fb9b014d75ebb79ba371a763dbab5e8cf",
      "tree": "b0fd4e724bdb1c0a1783616614ae5a9dec1cfa5c",
      "parents": [
        "d9b9384215e17c68d7b6bd05d6fa409e5d4140d7"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Jul 15 11:47:34 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:30 2011 -0400"
      },
      "message": "net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules\n\nThese files are non modular, but need to export symbols using\nthe macros now living in export.h -- call out the include so\nthat things won\u0027t break when we remove the implicit presence\nof module.h from everywhere.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "14ef37b6d00eb5d06704e45989ba4c21e7be7673",
      "tree": "800422d2aa85e190bc6e07e305574d71bf25db24",
      "parents": [
        "e6d265e8504ab4a3368b8645d318b344ee88b280"
      ],
      "author": {
        "name": "Andreas Hofmeister",
        "email": "andi@collax.com",
        "time": "Wed Oct 26 03:24:29 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 30 04:12:36 2011 -0400"
      },
      "message": "ipv6: fix route lookup in addrconf_prefix_rcv()\n\nThe route lookup to find a previously auto-configured route for a prefixes used\nto use rt6_lookup(), with the prefix from the RA used as an address. However,\nthat kind of lookup ignores routing tables, the prefix length and route flags,\nso when there were other matching routes, even in different tables and/or with\na different prefix length, the wrong route would be manipulated.\n\nNow, a new function \"addrconf_get_prefix_route()\" is used for the route lookup,\nwhich searches in RT6_TABLE_PREFIX and takes the prefix-length and route flags\ninto account.\n\nSigned-off-by: Andreas Hofmeister \u003candi@collax.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7011687f0f2f12cc348f6a693fafe63d89167eac",
      "tree": "c5e546044c5ff88b4abafc28df19e8b7ba951a7e",
      "parents": [
        "504744e4edc24f6f16eed44a59b39bffcc0c1391"
      ],
      "author": {
        "name": "Gao feng",
        "email": "omarapazanadi@gmail.com",
        "time": "Fri Oct 28 02:46:57 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 28 16:36:07 2011 -0400"
      },
      "message": "ipv6: fix route error binding peer in func icmp6_dst_alloc\n\nin func icmp6_dst_alloc,dst_metric_set call ipv6_cow_metrics to set metric.\nipv6_cow_metrics may will call rt6_bind_peer to set rt6_info-\u003ert6i_peer.\nSo,we should move ipv6_addr_copy before dst_metric_set to make sure rt6_bind_peer success.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "504744e4edc24f6f16eed44a59b39bffcc0c1391",
      "tree": "6a54e48c8fb88cc927f9d146819565a94010a873",
      "parents": [
        "3c20f72f9108b2fcf30ec63d8a4203736c01ccd0"
      ],
      "author": {
        "name": "Zheng Yan",
        "email": "zheng.z.yan@intel.com",
        "time": "Fri Oct 28 00:26:00 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 28 00:26:00 2011 -0400"
      },
      "message": "ipv6: fix error propagation in ip6_ufo_append_data()\n\nWe should return errcode from sock_alloc_send_skb()\n\nSigned-off-by: Zheng Yan \u003czheng.z.yan@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b903d324bee2627036d024dceed73b3c96558795",
      "tree": "976d7f5ff6d765faca2e1af86cbcddc9257470ab",
      "parents": [
        "138c4ae9cfda8fdcf9e137457853b09ef8cf8f77"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 27 00:44:35 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 27 00:44:35 2011 -0400"
      },
      "message": "ipv6: tcp: fix TCLASS value in ACK messages sent from TIME_WAIT\n\ncommit 66b13d99d96a (ipv4: tcp: fix TOS value in ACK messages sent from\nTIME_WAIT) fixed IPv4 only.\n\nThis part is for the IPv6 side, adding a tclass param to ip6_xmit()\n\nWe alias tw_tclass and tw_tos, if socket family is INET6.\n\n[ if sockets is ipv4-mapped, only IP_TOS socket option is used to fill\nTOS field, TCLASS is not taken into account ]\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f56220fad0d13f8b0ebe7592f41fdb49874d143",
      "tree": "7e5d439d2f53fb86d509d8c9f4994754ca5c3fe2",
      "parents": [
        "48855432047c9de7ea9987349de4c47d48ade8d1"
      ],
      "author": {
        "name": "Andreas Hofmeister",
        "email": "andi@collax.com",
        "time": "Mon Oct 24 19:13:15 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 19:13:15 2011 -0400"
      },
      "message": "ipv6: Do not use routes from locally generated RAs\n\nWhen hybrid mode is enabled (accept_ra \u003d\u003d 2), the kernel also sees RAs\ngenerated locally. This is useful since it allows the kernel to auto-configure\nits own interface addresses.\n\nHowever, if \u0027accept_ra_defrtr\u0027 and/or \u0027accept_ra_rtr_pref\u0027 are set and the\nlocally generated RAs announce the default route and/or other route information,\nthe kernel happily inserts bogus routes with its own address as gateway.\n\nWith this patch, adding routes from an RA will be skiped when the RAs source\naddress matches any local address, just as if \u0027accept_ra_defrtr\u0027 and\n\u0027accept_ra_rtr_pref\u0027 were set to 0.\n\nSigned-off-by: Andreas Hofmeister \u003candi@collax.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1805b2f04855f07afe3a71d620a68f483b0ed74f",
      "tree": "b823b90f37f5404fcaef70f785c70112ca74a329",
      "parents": [
        "78d81d15b74246c7cedf84894434890b33da3907",
        "f42af6c486aa5ca6ee62800cb45c5b252020509d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 18:18:09 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 18:18:09 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of ra.kernel.org:/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "318cf7aaa0a6d20ecf6be33eb771291e5ff2e3b9",
      "tree": "a2a42bbea9a1351d9986690f6df2a90cdbfd1d0c",
      "parents": [
        "8f9f4668b37bcc877156dd525a856055735c8d24"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 24 02:46:04 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 02:46:04 2011 -0400"
      },
      "message": "tcp: md5: add more const attributes\n\nNow tcp_md5_hash_header() has a const tcphdr argument, we can add more\nconst attributes to callers.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf533ea53ebfae41be15b103d78e7ebec30b9969",
      "tree": "51ed3c69f4a15117fefe5cbd291a75010beb0f4b",
      "parents": [
        "f04565ddf52e401880f8ba51de0dff8ba51c99fd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 21 05:22:42 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 21 05:22:42 2011 -0400"
      },
      "message": "tcp: add const qualifiers where possible\n\nAdding const qualifiers to pointers can ease code review, and spot some\nbugs. It might allow compiler to optimize code further.\n\nFor example, is it legal to temporary write a null cksum into tcphdr\nin tcp_md5_hash_header() ? I am afraid a sniffer could catch the\ntemporary null value...\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6cc7a765c2987f03ba278dac03c7cc759ee198e7",
      "tree": "1afd1f5b4da65279b84aa5b74f9c69e8ad3f3b36",
      "parents": [
        "05bdd2f14351176d368e8ddc67993690a2d1bfb6"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Oct 20 18:21:36 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 20 18:21:36 2011 -0400"
      },
      "message": "net: allow CAP_NET_RAW to set socket options IP{,V6}_TRANSPARENT\n\nUp till now the IP{,V6}_TRANSPARENT socket options (which actually set\nthe same bit in the socket struct) have required CAP_NET_ADMIN\nprivileges to set or clear the option.\n\n- we make clearing the bit not require any privileges.\n- we allow CAP_NET_ADMIN to set the bit (as before this change)\n- we allow CAP_NET_RAW to set this bit, because raw\n  sockets already pretty much effectively allow you\n  to emulate socket transparency.\n\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25c8295b5bb355ec8672735b40ee7a43c51d1aba",
      "tree": "9b7b0fc5e5ff5151d95858d4a523b53743dbbdcd",
      "parents": [
        "686dc6b64b58e69715ce92177da0732a6464db69"
      ],
      "author": {
        "name": "Kevin Wilson",
        "email": "wkevils@gmail.com",
        "time": "Sun Oct 16 05:21:57 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 19:26:16 2011 -0400"
      },
      "message": "cleanup: remove unnecessary include.\n\nThis cleanup patch removes unnecessary include from net/ipv6/ip6_fib.c.\n\nSigned-off-by: Kevin Wilson \u003cwkevils@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9e903e085262ffbf1fc44a17ac06058aca03524a",
      "tree": "4acefc97ba38c1733474d25c0b2053b56af97db1",
      "parents": [
        "dd767856a36e00b631d65ebc4bb81b19915532d6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 18 21:00:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 03:10:46 2011 -0400"
      },
      "message": "net: add skb frag size accessors\n\nTo ease skb-\u003etruesize sanitization, its better to be able to localize\nall references to skb frags size.\n\nDefine accessors : skb_frag_size() to fetch frag size, and\nskb_frag_size_{set|add|sub}() to manipulate it.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd767856a36e00b631d65ebc4bb81b19915532d6",
      "tree": "02fda49186e29ffeb47b5683236d6fcbfbc379b5",
      "parents": [
        "299b0767642a65f0c5446ab6d35e6df0daf43d33"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Oct 11 01:44:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 18 23:53:10 2011 -0400"
      },
      "message": "xfrm6: Don\u0027t call icmpv6_send on local error\n\nCalling icmpv6_send() on a local message size error leads to\nan incorrect update of the path mtu. So use xfrm6_local_rxpmtu()\nto notify about the pmtu if the IPV6_DONTFRAG socket option is\nset on an udp or raw socket, according RFC 3542 and use\nipv6_local_error() otherwise.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "299b0767642a65f0c5446ab6d35e6df0daf43d33",
      "tree": "30e41c97fe4cef60540964495c15d0be121e3b3e",
      "parents": [
        "c113464d4351591de8791c0cadfc165836e5a725"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Oct 11 01:43:33 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 18 23:53:10 2011 -0400"
      },
      "message": "ipv6: Fix IPsec slowpath fragmentation problem\n\nip6_append_data() builds packets based on the mtu from dst_mtu(rt-\u003edst.path).\nOn IPsec the effective mtu is lower because we need to add the protocol\nheaders and trailers later when we do the IPsec transformations. So after\nthe IPsec transformations the packet might be too big, which leads to a\nslowpath fragmentation then. This patch fixes this by building the packets\nbased on the lower IPsec mtu from dst_mtu(\u0026rt-\u003edst) and adapts the exthdr\nhandling to this.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c113464d4351591de8791c0cadfc165836e5a725",
      "tree": "9c1fe9fa0e0ffc67273fe150a89bca9dc7c0afc9",
      "parents": [
        "1d9743745bf5ba30b57986d8da33c4fa072c355b"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Tue Oct 11 02:01:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 18 23:51:30 2011 -0400"
      },
      "message": "ipv6: Remove superfluous NULL pointer check in ipv6_local_rxpmtu\n\nThe pointer to mtu_info is taken from the common buffer\nof the skb, thus it can\u0027t be a NULL pointer. This patch\nremoves this check on mtu_info.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "01b7806cdce3d3cf1626a1e79389f30512703069",
      "tree": "f4f20f62018d494e63c58f4b7906badbbf25435c",
      "parents": [
        "f861c2b80c45954e1ea04ead24cafcb1806dd536"
      ],
      "author": {
        "name": "Roy.Li",
        "email": "rongqing.li@windriver.com",
        "time": "Mon Oct 03 19:43:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 17 19:27:56 2011 -0400"
      },
      "message": "ipv6: remove a rcu_read_lock in ndisc_constructor\n\nin6_dev_get(dev) takes a reference on struct inet6_dev, we dont need\nrcu locking in ndisc_constructor()\n\nSigned-off-by: Roy.Li \u003crongqing.li@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87fb4b7b533073eeeaed0b6bf7c2328995f6c075",
      "tree": "be4b37f08d7fe2d018ae68bae4577b1b2bafd0fc",
      "parents": [
        "97ba0eb64ca690165f945a83e609102fcefa99cb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 13 07:28:54 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 13 16:05:07 2011 -0400"
      },
      "message": "net: more accurate skb truesize\n\nskb truesize currently accounts for sk_buff struct and part of skb head.\nkmalloc() roundings are also ignored.\n\nConsidering that skb_shared_info is larger than sk_buff, its time to\ntake it into account for better memory accounting.\n\nThis patch introduces SKB_TRUESIZE(X) macro to centralize various\nassumptions into a single place.\n\nAt skb alloc phase, we put skb_shared_info struct at the exact end of\nskb head, to allow a better use of memory (lowering number of\nreallocations), since kmalloc() gives us power-of-two memory blocks.\n\nUnless SLUB/SLUB debug is active, both skb-\u003ehead and skb_shared_info are\naligned to cache lines, as before.\n\nNote: This patch might trigger performance regressions because of\nmisconfigured protocol stacks, hitting per socket or global memory\nlimits that were previously not reached. But its a necessary step for a\nmore accurate memory accounting.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Andi Kleen \u003cak@linux.intel.com\u003e\nCC: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cdaf557034bb4397b2c86bb424de1788b134f610",
      "tree": "bf6bbf731188f17d83e5ca7018224c1c0e2ee96c",
      "parents": [
        "134d0f974c55c942541f1663d51fa846257eff2a"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.z.yan@intel.com",
        "time": "Sat Oct 08 22:34:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 10 14:26:16 2011 -0400"
      },
      "message": "gro: refetch inet6_protos[] after pulling ext headers\n\nipv6_gro_receive() doesn\u0027t update the protocol ops after pulling\nthe ext headers. It looks like a typo.\n\nSigned-off-by: Zheng Yan \u003czheng.z.yan@intel.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88c5100c28b02c4b2b2c6f6fafbbd76d90f698b9",
      "tree": "08c4399e0341f7eb0ccb24e15f2cab687275c2a4",
      "parents": [
        "8083f0fc969d9b5353061a7a6f963405057e26b1",
        "3ee72ca99288f1de95ec9c570e43f531c8799f06"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 07 13:38:43 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 07 13:38:43 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:davem330/net\n\nConflicts:\n\tnet/batman-adv/soft-interface.c\n"
    },
    {
      "commit": "260fcbeb1ae9e768a44c9925338fbacb0d7e5ba9",
      "tree": "741dea73d68eca24c8d515bb7091cbedb77192a4",
      "parents": [
        "cb2d0f3e968bff7c6d262aca3e3ab8d4184e69b2"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.z.yan@intel.com",
        "time": "Thu Sep 29 17:10:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 04 23:31:24 2011 -0400"
      },
      "message": "tcp: properly handle md5sig_pool references\n\ntcp_v4_clear_md5_list() assumes that multiple tcp md5sig peers\nonly hold one reference to md5sig_pool. but tcp_v4_md5_do_add()\nincreases use count of md5sig_pool for each peer. This patch\nmakes tcp_v4_md5_do_add() only increases use count for the first\ntcp md5sig peer.\n\nSigned-off-by: Zheng Yan \u003czheng.z.yan@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "676a1184e8afd4fed7948232df1ff91517400859",
      "tree": "9079566b1a2bc80102db685ea98bf1a2a12ab835",
      "parents": [
        "6482aa7c120447858da1869197b48eff66435a31"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.z.yan@intel.com",
        "time": "Sun Sep 25 02:21:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 29 00:32:10 2011 -0400"
      },
      "message": "ipv6: nullify ipv6_ac_list and ipv6_fl_list when creating new socket\n\nipv6_ac_list and ipv6_fl_list from listening socket are inadvertently\nshared with new socket created for connection.\n\nSigned-off-by: Zheng Yan \u003czheng.z.yan@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67928c4041606f02725f3c95c4c0404e4532df1b",
      "tree": "52e69d8e283dc0efe3f6b406ce996cc999bc1e78",
      "parents": [
        "fbe58186901155c0cb5398dd343337be0c456c04"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Fri Sep 23 13:11:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 27 15:34:00 2011 -0400"
      },
      "message": "ipv6-multicast: Fix memory leak in IPv6 multicast.\n\nIf reg_vif_xmit cannot find a routing entry, be sure to\nfree the skb before returning the error.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fbe58186901155c0cb5398dd343337be0c456c04",
      "tree": "b2c9097cd838cd7b2bc6a37b57bc3abb04d5939c",
      "parents": [
        "d4cae56219755ccf8acfc8e2c1927009ff29d8c6"
      ],
      "author": {
        "name": "Madalin Bucur",
        "email": "madalin.bucur@freescale.com",
        "time": "Mon Sep 26 07:04:56 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 27 15:32:06 2011 -0400"
      },
      "message": "ipv6: check return value for dst_alloc\n\nreturn value of dst_alloc must be checked before use\n\nSigned-off-by: Madalin Bucur \u003cmadalin.bucur@freescale.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2015de5fe2a47086a3260802275932bfd810884e",
      "tree": "2155f30fa4c0a664935264bad216c872f929063b",
      "parents": [
        "29453f65a4d0a46190dedf93ab31717d4c26bda6"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Tue Sep 27 15:16:08 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 27 15:16:08 2011 -0400"
      },
      "message": "ipv6-multicast: Fix memory leak in input path.\n\nHave to free the skb before returning if we fail\nthe fib lookup.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b82d1bb4fd206ed305f9e955eeffc4a678149442",
      "tree": "b0790dcc52f9b070e0b646eb6c0b7a16ac8c4a1a",
      "parents": [
        "3f192795cf1a0098df7bd655f7a72eee26bd63c3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Sep 27 02:20:08 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 27 02:20:08 2011 -0400"
      },
      "message": "tcp: unalias tcp_skb_cb flags and ip_dsfield\n\nstruct tcp_skb_cb contains a \"flags\" field containing either tcp flags\nor IP dsfield depending on context (input or output path)\n\nIntroduce ip_dsfield to make the difference clear and ease maintenance.\nIf later we want to save space, we can union flags/ip_dsfield\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8decf868790b48a727d7e7ca164f2bcd3c1389c0",
      "tree": "b759a5f861f842af7ea76f9011b579d06e9d5508",
      "parents": [
        "3fc72370186be2f9d4d6ef06d99e1caa5d92c564",
        "d93dc5c4478c1fd5de85a3e8aece9aad7bbae044"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 22 03:23:13 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 22 03:23:13 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:davem330/net\n\nConflicts:\n\tMAINTAINERS\n\tdrivers/net/Kconfig\n\tdrivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c\n\tdrivers/net/ethernet/broadcom/tg3.c\n\tdrivers/net/wireless/iwlwifi/iwl-pci.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c\n\tdrivers/net/wireless/rt2x00/rt2800usb.c\n\tdrivers/net/wireless/wl12xx/main.c\n"
    },
    {
      "commit": "8603e33d01cb6bd32de46b2596fe47f0c4df6c12",
      "tree": "38460cb5479a4df4d3c09626998c0294767583b7",
      "parents": [
        "fe7d189d4a2ccbb3590b1da97a3f6a83fc2efd80"
      ],
      "author": {
        "name": "Roy Li",
        "email": "rongqing.li@windriver.com",
        "time": "Tue Sep 20 15:10:16 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 20 15:10:16 2011 -0400"
      },
      "message": "ipv6: fix a possible double free\n\nWhen calling snmp6_alloc_dev fails, the snmp6 relevant memory\nare freed by snmp6_alloc_dev. Calling in6_dev_finish_destroy\nwill free these memory twice.\n\nDouble free will lead that undefined behavior occurs.\n\nSigned-off-by: Roy Li \u003crongqing.li@windriver.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d24f22f3df9ac3f3af95e850df0b576d41bd3cfe",
      "tree": "db5cf4d94fa9b56fafa677dda417fc1f9a919cc7",
      "parents": [
        "46151ae81758f05086e17fd4e4da129afe100f93"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Sep 20 14:50:00 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 20 14:50:00 2011 -0400"
      },
      "message": "ip6_tunnel: add optional fwmark inherit\n\nAdd IP6_TNL_F_USE_ORIG_FWMARK to ip6_tunnel, so that ip6_tnl_xmit2()\nmakes a route lookup taking into account skb-\u003efwmark and doesnt cache\nlookup result.\n\nThis permits more flexibility in policies and firewall setups.\n\nTo setup such a tunnel, \"fwmark inherit\" option should be added to \"ip\n-f inet6 tunnel\" command.\n\nReported-by: Anders Franzen \u003cAnders.Franzen@ericsson.com\u003e\nCC: Hans Schillström \u003chans.schillstrom@ericsson.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e2ec639173f325977818c45011ee176ef2b11f6",
      "tree": "2b194fa7556bcde37cdc4d28042a5bdf86d0f2ff",
      "parents": [
        "34b8686d278f00fb16234e74be44c253d6d6b676"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.z.yan@intel.com",
        "time": "Mon Sep 05 21:34:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 17 00:57:26 2011 -0400"
      },
      "message": "ipv6: don\u0027t use inetpeer to store metrics for routes.\n\nCurrent IPv6 implementation uses inetpeer to store metrics for\nroutes. The problem of inetpeer is that it doesn\u0027t take subnet\nprefix length in to consideration. If two routes have the same\naddress but different prefix length, they share same inetpeer.\nSo changing metrics of one route also affects the other. The\nfix is to allocate separate metrics storage for each route.\n\nSigned-off-by: Zheng Yan \u003czheng.z.yan@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "026359bc6eddfdc2d2e684bf0b51691649b90f33",
      "tree": "d1fbc10d28a1f1084ca0dd4f4f746aa1d9becaa2",
      "parents": [
        "c1aabdf379bc2feeb0df7057ed5bad96f492133e"
      ],
      "author": {
        "name": "Tore Anderson",
        "email": "tore@fud.no",
        "time": "Sun Aug 28 23:47:33 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 16 19:14:41 2011 -0400"
      },
      "message": "ipv6: Send ICMPv6 RSes only when RAs are accepted\n\nThis patch improves the logic determining when to send ICMPv6 Router\nSolicitations, so that they are 1) always sent when the kernel is\naccepting Router Advertisements, and 2) never sent when the kernel is\nnot accepting RAs. In other words, the operational setting of the\n\"accept_ra\" sysctl is used.\n\nThe change also makes the special \"Hybrid Router\" forwarding mode\n(\"forwarding\" sysctl set to 2) operate exactly the same as the standard\nRouter mode (forwarding\u003d1). The only difference between the two was\nthat RSes was being sent in the Hybrid Router mode only. The sysctl\ndocumentation describing the special Hybrid Router mode has therefore\nbeen removed.\n\nRationale for the change:\n\nCurrently, the value of forwarding sysctl is the only thing determining\nwhether or not to send RSes. If it has the value 0 or 2, they are sent,\notherwise they are not. This leads to inconsistent behaviour in the\nfollowing cases:\n\n* accept_ra\u003d0, forwarding\u003d0\n* accept_ra\u003d0, forwarding\u003d2\n* accept_ra\u003d1, forwarding\u003d2\n* accept_ra\u003d2, forwarding\u003d1\n\nIn the first three cases, the kernel will send RSes, even though it will\nnot accept any RAs received in reply. In the last case, it will not send\nany RSes, even though it will accept and process any RAs received. (Most\nrouters will send unsolicited RAs periodically, so suppressing RSes in\nthe last case will merely delay auto-configuration, not prevent it.)\n\nAlso, it is my opinion that having the forwarding sysctl control RS\nsending behaviour (completely independent of whether RAs are being\naccepted or not) is simply not what most users would intuitively expect\nto be the case.\n\nSigned-off-by: Tore Anderson \u003ctore@fud.no\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52b9aca7ae8726d1fb41b97dd1d243d107fef11b",
      "tree": "7acee111840bd25183513e9bde08e939ffd57be8",
      "parents": [
        "7756332f5b64c9c1535712b9679792e8bd4f0019",
        "e2faeec2de9e2c73958e6ea6065dde1e8cd6f3a2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 16 01:09:02 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 16 01:09:02 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of ../netdev/\n"
    },
    {
      "commit": "946cedccbd7387488d2cee5da92cdfeb28d2e670",
      "tree": "fbb0d9c8dc11d6efee64e2a077a4951831932058",
      "parents": [
        "27e95a8c670e0c587990ec5b9a87a7ea17873d28"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Aug 30 03:21:44 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 15 14:49:43 2011 -0400"
      },
      "message": "tcp: Change possible SYN flooding messages\n\n\"Possible SYN flooding on port xxxx \" messages can fill logs on servers.\n\nChange logic to log the message only once per listener, and add two new\nSNMP counters to track :\n\nTCPReqQFullDoCookies : number of times a SYNCOOKIE was replied to client\n\nTCPReqQFullDrop : number of times a SYN request was dropped because\nsyncookies were not enabled.\n\nBased on a prior patch from Tom Herbert, and suggestions from David.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "785824165508a65478474f0c87f6b8c3ad048c62",
      "tree": "2b3ef81b4439cf682638aa504e29f37ef2b6da96",
      "parents": [
        "ec0506dbe4e240ecd4c32bf74c84a88ce1ddb414",
        "768b1031dc9f3eabe3e9f603e33617a0215c12a8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 30 17:43:56 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 30 17:43:56 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6\n"
    },
    {
      "commit": "ec0506dbe4e240ecd4c32bf74c84a88ce1ddb414",
      "tree": "d8eb6a77c2f611d99a8c8b6576389c071bf5890a",
      "parents": [
        "0f43dd546d991ca260d8a72d07f617907c508de8"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Aug 28 12:35:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 30 17:39:01 2011 -0400"
      },
      "message": "net: relax PKTINFO non local ipv6 udp xmit check\n\nAllow transparent sockets to be less restrictive about\nthe source ip of ipv6 udp packets being sent.\n\nGoogle-Bug-Id: 5018138\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nCC: \"Erik Kline\" \u003cek@google.com\u003e\nCC: \"Lorenzo Colitti\" \u003clorenzo@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c6675233f9015d3c0460c8aab53ed9b99d915c64",
      "tree": "3d1b9b71059be24fe3a35411eecc62000bba5abc",
      "parents": [
        "9823d9ff483af4ce8804a9eb69600ca739cd1f58"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Tue Aug 30 15:01:20 2011 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 30 15:01:20 2011 +0200"
      },
      "message": "netfilter: nf_queue: reject NF_STOLEN verdicts from userspace\n\nA userspace listener may send (bogus) NF_STOLEN verdict, which causes skb leak.\n\nThis problem was previously fixed via\n64507fdbc29c3a622180378210ecea8659b14e40 (netfilter:\nnf_queue: fix NF_STOLEN skb leak) but this had to be reverted because\nNF_STOLEN can also be returned by a netfilter hook when iterating the\nrules in nf_reinject.\n\nReject userspace NF_STOLEN verdict, as suggested by Michal Miroslaw.\n\nThis is complementary to commit fad54440438a7c231a6ae347738423cbabc936d9\n(netfilter: avoid double free in nf_reinject).\n\nCc: Julian Anastasov \u003cja@ssi.bg\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "408dadf03fe365f12f85d5c3d959f4bb888b9f3e",
      "tree": "c88f21b532c8c1d8f20f37a097ceaad93ee75741",
      "parents": [
        "aff65da0f1be5daec44231972b6b5fc45bfa7a58"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Mon Aug 22 23:45:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 24 17:52:12 2011 -0700"
      },
      "message": "net: ipv6: convert to SKB frag APIs\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nCc: \"Pekka Savola (ipv6)\" \u003cpekkas@netcore.fi\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e05c4ad3ed874ee4f5e2c969e55d318ec654332c",
      "tree": "d8563c03897fe5c84279327471feea8e2ef3ccca",
      "parents": [
        "814fd609fa98f3667974d8c27c4d75ef4ce041ea"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.z.yan@intel.com",
        "time": "Tue Aug 23 22:54:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 24 17:46:15 2011 -0700"
      },
      "message": "mcast: Fix source address selection for multicast listener report\n\nShould check use count of include mode filter instead of total number\nof include mode filters.\n\nSigned-off-by: Zheng Yan \u003czheng.z.yan@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "823dcd2506fa369aeb8cbd26da5663efe2fda9a9",
      "tree": "853b3e3c05f0b9ee1b5df8464db19b7acc57150c",
      "parents": [
        "eaa36660de7e174498618d69d7277d44a2f24c3d",
        "98e77438aed3cd3343cbb86825127b1d9d2bea33"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 20 10:39:12 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 20 10:39:12 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "98e77438aed3cd3343cbb86825127b1d9d2bea33",
      "tree": "a26022d2d359c25096c39a59cdd01ecf6aea62bb",
      "parents": [
        "2d5b2c5ca0d3ebe707386b3add365496460cf918"
      ],
      "author": {
        "name": "Daniel Baluta",
        "email": "dbaluta@ixiacom.com",
        "time": "Fri Aug 19 03:19:07 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 19 03:19:07 2011 -0700"
      },
      "message": "ipv6: Fix ipv6_getsockopt for IPV6_2292PKTOPTIONS\n\nIPV6_2292PKTOPTIONS is broken for 32-bit applications running\nin COMPAT mode on 64-bit kernels.\n\nThe same problem was fixed for IPv4 with the patch:\nipv4: Fix ip_getsockopt for IP_PKTOPTIONS,\ncommit dd23198e58cd35259dd09e8892bbdb90f1d57748\n\nSigned-off-by: Sorin Dumitru \u003csdumitru@ixiacom.com\u003e\nSigned-off-by: Daniel Baluta \u003cdbaluta@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bdeab991918663aed38757904219e8398214334c",
      "tree": "bc6c02da7ed88e3e568677b4a35fb4e55de363de",
      "parents": [
        "792df22cd0499b4e662d4618b0008fdcfef8b04e"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Sun Aug 14 19:45:55 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 17 20:06:03 2011 -0700"
      },
      "message": "rps: Add flag to skb to indicate rxhash is based on L4 tuple\n\nThe l4_rxhash flag was added to the skb structure to indicate\nthat the rxhash value was computed over the 4 tuple for the\npacket which includes the port information in the encapsulated\ntransport packet.  This is used by the stack to preserve the\nrxhash value in __skb_rx_tunnel.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2bceb3d7f145af5a0916bea700f2f9d380901ea",
      "tree": "90a46a5155a4d9b23791426716ec596e494f5fd7",
      "parents": [
        "588dc91151d99e9307c2f9a8468453274fe43ecd"
      ],
      "author": {
        "name": "Lionel Elie Mamane",
        "email": "lionel@mamane.lu",
        "time": "Sat Aug 13 14:04:38 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 16 16:28:55 2011 -0700"
      },
      "message": "sit tunnels: propagate IPv6 transport class to IPv4 Type of Service\n\nsit tunnels (IPv6 tunnel over IPv4) do not implement the \"tos inherit\"\ncase to copy the IPv6 transport class byte from the inner packet to\nthe IPv4 type of service byte in the outer packet. By contrast, ipip\ntunnels and GRE tunnels do.\n\nThis patch, adapted from the similar code in net/ipv4/ipip.c and\nnet/ipv4/ip_gre.c, implements that.\n\nThis patch applies to 3.0.1, and has been tested on that version.\n\nSigned-off-by: Lionel Elie Mamane \u003clionel@mamane.lu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33d480ce6d43326e2541fd79b3548858a174ec3c",
      "tree": "c938ee8c07a2e0f33178069b55439a54188f38fa",
      "parents": [
        "cd28ca0a3dd17c68d24b839602a0e6268ad28b5d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Aug 11 19:30:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 12 02:55:28 2011 -0700"
      },
      "message": "net: cleanup some rcu_dereference_raw\n\nRCU api had been completed and rcu_access_pointer() or\nrcu_dereference_protected() are better than generic\nrcu_dereference_raw()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0e3d0689da401f7d1981c2777a714ba295ea5ff",
      "tree": "a8b2311c0cf7573c22d99c6917c08e77b225d637",
      "parents": [
        "56c07271307b4a20802005692b2b70dfe13d72e8"
      ],
      "author": {
        "name": "Mike Waychison",
        "email": "mikew@google.com",
        "time": "Wed Aug 10 21:59:57 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 10 21:59:57 2011 -0700"
      },
      "message": "tcp: initialize variable ecn_ok in syncookies path\n\nUsing a gcc 4.4.3, warnings are emitted for a possibly uninitialized use\nof ecn_ok.\n\nThis can happen if cookie_check_timestamp() returns due to not having\nseen a timestamp.  Defaulting to ecn off seems like a reasonable thing\nto do in this case, so initialized ecn_ok to false.\n\nSigned-off-by: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "19fd61785a580c60cba900c5171bfadb57dd5056",
      "tree": "1e491fb014be0dc03f4b6755bb94e73afd38c455",
      "parents": [
        "57569d0e12eaf31717e295960cd2a26f626c8e5b",
        "8028837d71ba9904b17281b40f94b93e947fbe38"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 07 23:20:26 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 07 23:20:26 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "6e5714eaf77d79ae1c8b47e3e040ff5411b717ec",
      "tree": "30bd0d7a6a0a6ff0ace6da1835ae7b7167cce5e4",
      "parents": [
        "bc0b96b54a21246e377122d54569eef71cec535f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 03 20:50:44 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 06 18:33:19 2011 -0700"
      },
      "message": "net: Compute protocol sequence numbers and fragment IDs using MD5.\n\nComputers have become a lot faster since we compromised on the\npartial MD4 hash which we use currently for performance reasons.\n\nMD5 is a much safer choice, and is inline with both RFC1948 and\nother ISS generators (OpenBSD, Solaris, etc.)\n\nFurthermore, only having 24-bits of the sequence number be truly\nunpredictable is a very serious limitation.  So the periodic\nregeneration and 8-bit counter have been removed.  We compute and\nuse a full 32-bit sequence number.\n\nFor ipv6, DCCP was found to use a 32-bit truncated initial sequence\nnumber (it needs 43-bits) and that is fixed here as well.\n\nReported-by: Dan Kaminsky \u003cdan@doxpara.com\u003e\nTested-by: Willy Tarreau \u003cw@1wt.eu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c15fea2d8ca834dae491339c47e4fb3c81428190",
      "tree": "bb0e318d09366001552d13efbbe128564956adde",
      "parents": [
        "20e72a44098641f0c4de34a31287a93e006afb5b"
      ],
      "author": {
        "name": "Max Matveev",
        "email": "makc@redhat.com",
        "time": "Fri Aug 05 03:56:30 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 05 03:56:30 2011 -0700"
      },
      "message": "ipv6: check for IPv4 mapped addresses when connecting IPv6 sockets\n\nWhen support for binding to \u0027mapped INADDR_ANY (::ffff.0.0.0.0)\u0027 was added\nin 0f8d3c7ac3693d7b6c731bf2159273a59bf70e12 the rest of the code\nwasn\u0027t told so now it\u0027s possible to bind IPv6 datagram socket to\n::ffff.0.0.0.0, connect it to another IPv4 address and it will all\nwork except for getsockhame() which does not return the local address\nas expected.\n\nTo give getsockname() something to work with check for \u0027mapped INADDR_ANY\u0027\nwhen connecting and update the in-core source addresses appropriately.\n\nSigned-off-by: Max Matveev \u003cmakc@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2c31e32b378a6653f8de606149d963baf11d7d3",
      "tree": "4eeb8075a93520935381a75514f309228e6824c0",
      "parents": [
        "28f4881cbf9ce285edfc245a8990af36d21c062f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 29 19:00:53 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 03 03:34:12 2011 -0700"
      },
      "message": "net: fix NULL dereferences in check_peer_redir()\n\nGergely Kalman reported crashes in check_peer_redir().\n\nIt appears commit f39925dbde778 (ipv4: Cache learned redirect\ninformation in inetpeer.) added a race, leading to possible NULL ptr\ndereference.\n\nSince we can now change dst neighbour, we should make sure a reader can\nsafely use a neighbour.\n\nAdd RCU protection to dst neighbour, and make sure check_peer_redir()\ncan be called safely by different cpus in parallel.\n\nAs neighbours are already freed after one RCU grace period, this patch\nshould not add typical RCU penalty (cache cold effects)\n\nMany thanks to Gergely for providing a pretty report pointing to the\nbug.\n\nReported-by: Gergely Kalman \u003csynapse@hippy.csoma.elte.hu\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a9b3cd7f323b2e57593e7215362a7b02fc933e3a",
      "tree": "eba1741956aef3015d5b1a07253bf93c4c1bc7df",
      "parents": [
        "76f793e3a47139d340185cbc1a314740c09b13d3"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 01 16:19:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 02 04:29:23 2011 -0700"
      },
      "message": "rcu: convert uses of rcu_assign_pointer(x, NULL) to RCU_INIT_POINTER\n\nWhen assigning a NULL value to an RCU protected pointer, no barrier\nis needed. The rcu_assign_pointer, used to handle that but will soon\nchange to not handle the special case.\n\nConvert all rcu_assign_pointer of NULL value.\n\n//smpl\n@@ expression P; @@\n\n- rcu_assign_pointer(P, NULL)\n+ RCU_INIT_POINTER(P, NULL)\n\n// \u003c/smpl\u003e\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76f793e3a47139d340185cbc1a314740c09b13d3",
      "tree": "9abd3f1753cb10d328cc87db365910ef2181ea69",
      "parents": [
        "79f88ee9836d482891ba41b1a553e2baacf31b02"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jul 26 13:50:49 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 01 18:05:00 2011 -0700"
      },
      "message": "ipv6: updates to privacy addresses per RFC 4941.\n\nUpdate the code to handle some of the differences between\nRFC 3041 and RFC 4941, which obsoletes it. Also a couple\nof janitorial fixes.\n\n- Allow router advertisements to increase the lifetime of\n  temporary addresses. This was not allowed by RFC 3041,\n  but is specified by RFC 4941. It is useful when RA\n  lifetimes are lower than TEMP_{VALID,PREFERRED}_LIFETIME:\n  in this case, the previous code would delete or deprecate\n  addresses prematurely.\n\n- Change the default of MAX_RETRY to 3 per RFC 4941.\n\n- Add a comment to clarify that the preferred and valid\n  lifetimes in inet6_ifaddr are relative to the timestamp.\n\n- Shorten lines to 80 characters in a couple of places.\n\nSigned-off-by: Lorenzo Colitti \u003clorenzo@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89b0212697e92bc59a021a2338cd8c09f919325c",
      "tree": "633279786602d3677ea5c4959528aa00219afed2",
      "parents": [
        "897dc80b951e996ba4d26c0038e81a505b92aec1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 28 04:32:25 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 01 00:12:00 2011 -0700"
      },
      "message": "ip6tnl: avoid touching dst refcount in ip6_tnl_xmit2()\n\nEven using percpu stats, we still hit tunnel dst_entry refcount in\nip6_tnl_xmit2()\n\nSince we are in RCU locked section, we can use skb_dst_set_noref() and\navoid these atomic operations, leaving dst shared on cpus.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "897dc80b951e996ba4d26c0038e81a505b92aec1",
      "tree": "867cca9dafcf3d89fa30a04a254a2d1cc3220cba",
      "parents": [
        "d14730b8e9117c9b77aacd391c049b50163e9b61"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 28 04:00:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 01 00:12:00 2011 -0700"
      },
      "message": "ipv6: avoid a dst_entry refcount change in ipv6_destopt_rcv()\n\nipv6_destopt_rcv() runs with rcu_read_lock(), so there is no need to\ntake a temporay reference on dst_entry, even if skb is freed by\nip6_parse_tlv()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d14730b8e9117c9b77aacd391c049b50163e9b61",
      "tree": "cfccf8574eb43722d2c1c6829d90305abe18c69f",
      "parents": [
        "cfdf76474e1d8a56ac6cfae39f8559cfe9dfd7fd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 28 03:43:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 01 00:12:00 2011 -0700"
      },
      "message": "ipv6: use RCU in inet6_csk_xmit()\n\nUse RCU to avoid changing dst_entry refcount in fast path.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfdf76474e1d8a56ac6cfae39f8559cfe9dfd7fd",
      "tree": "d5fe707a1e8018643cf82f0272e651ceda53a119",
      "parents": [
        "ab1594e92e6765fd4af316f130eea8f5c920823d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jul 27 21:13:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 01 00:12:00 2011 -0700"
      },
      "message": "ipv6: some RCU conversions\n\nICMP and ND are not fast path, but still we can avoid changing idev\nrefcount, using RCU.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "91c66c6893a3e2bb8a88a30cb76007d5d49d32c9",
      "tree": "1f37d40b668d46f305dd9088737c72ece4a91533",
      "parents": [
        "00fe1ae91e0d69e52e8212d23cd3ecc74a7259a0"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Fri Jul 29 16:38:49 2011 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jul 29 16:38:49 2011 +0200"
      },
      "message": "netfilter: ip_queue: Fix small leak in ipq_build_packet_message()\n\nipq_build_packet_message() in net/ipv4/netfilter/ip_queue.c and\nnet/ipv6/netfilter/ip6_queue.c contain a small potential mem leak as\nfar as I can tell.\n\nWe allocate memory for \u0027skb\u0027 with alloc_skb() annd then call\n nlh \u003d NLMSG_PUT(skb, 0, 0, IPQM_PACKET, size - sizeof(*nlh));\n\nNLMSG_PUT is a macro\n NLMSG_PUT(skb, pid, seq, type, len) \\\n  \t\tNLMSG_NEW(skb, pid, seq, type, len, 0)\n\nthat expands to NLMSG_NEW, which is also a macro which expands to:\n NLMSG_NEW(skb, pid, seq, type, len, flags) \\\n  \t({\tif (unlikely(skb_tailroom(skb) \u003c (int)NLMSG_SPACE(len))) \\\n  \t\t\tgoto nlmsg_failure; \\\n  \t\t__nlmsg_put(skb, pid, seq, type, len, flags); })\n\nIf we take the true branch of the \u0027if\u0027 statement and \u0027goto\nnlmsg_failure\u0027, then we\u0027ll, at that point, return from\nipq_build_packet_message() without having assigned \u0027skb\u0027 to anything\nand we\u0027ll leak the memory we allocated for it when it goes out of\nscope.\n\nFix this by placing a \u0027kfree(skb)\u0027 at \u0027nlmsg_failure\u0027.\n\nI admit that I do not know how likely this to actually happen or even\nif there\u0027s something that guarantees that it will never happen - I\u0027m\nnot that familiar with this code, but if that is so, I\u0027ve not been\nable to spot it.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "d5eab9152a3b4ce962c02ad0a0e4d0ec94aadd92",
      "tree": "3147f8de2805da0f026ea18103a9be46f3bc2a18",
      "parents": [
        "6140333d3656f62ac7e6a5af87e7fe92cfb8d655",
        "a051294423b015c5c89f2ed78f7fe0893b775098"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 28 05:58:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 28 05:58:19 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (32 commits)\n  tg3: Remove 5719 jumbo frames and TSO blocks\n  tg3: Break larger frags into 4k chunks for 5719\n  tg3: Add tx BD budgeting code\n  tg3: Consolidate code that calls tg3_tx_set_bd()\n  tg3: Add partial fragment unmapping code\n  tg3: Generalize tg3_skb_error_unmap()\n  tg3: Remove short DMA check for 1st fragment\n  tg3: Simplify tx bd assignments\n  tg3: Reintroduce tg3_tx_ring_info\n  ASIX: Use only 11 bits of header for data size\n  ASIX: Simplify condition in rx_fixup()\n  Fix cdc-phonet build\n  bonding: reduce noise during init\n  bonding: fix string comparison errors\n  net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared\n  net: add IFF_SKB_TX_SHARED flag to priv_flags\n  net: sock_sendmsg_nosec() is static\n  forcedeth: fix vlans\n  gianfar: fix bug caused by 87c288c6e9aa31720b72e2bc2d665e24e1653c3e\n  gro: Only reset frag0 when skb can be pulled\n  ...\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32019e651c6fcee6bad6b6adb171feea5af0d16b",
      "tree": "67a1eba02e87c75e382648c0853c47ee8c2aec03",
      "parents": [
        "5ec9e63c1c90074d2986f1102acbd1572eb827af"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sun Jul 24 11:44:34 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 25 16:16:00 2011 -0700"
      },
      "message": "ipv6: Do not leave router anycast address for /127 prefixes.\n\nOriginal commit 2bda8a0c8af... \"Disable router anycast\naddress for /127 prefixes\" says:\n\n|   No need for matching code in addrconf_leave_anycast() as it\n|   will silently ignore any attempt to leave an unknown anycast\n|   address.\n\nAfter analysis, because 1) we may add two or more prefixes on the\nsame interface, or 2)user may have manually joined that anycast,\nwe may hit chances to have anycast address which as if we had\ngenerated one by /127 prefix and we should not leave from subnet-\nrouter anycast address unconditionally.\n\nCC: Bjørn Mork \u003cbjorn@mork.no\u003e\nCC: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87c48fa3b4630905f98268dde838ee43626a060c",
      "tree": "1374b52ed0514682f836cfa0a6a683eb549c9613",
      "parents": [
        "21efcfa0ff27776902a8a15e810147be4d937d69"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 21 21:25:58 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 21 21:25:58 2011 -0700"
      },
      "message": "ipv6: make fragment identifications less predictable\n\nIPv6 fragment identification generation is way beyond what we use for\nIPv4 : It uses a single generator. Its not scalable and allows DOS\nattacks.\n\nNow inetpeer is IPv6 aware, we can use it to provide a more secure and\nscalable frag ident generator (per destination, instead of system wide)\n\nThis patch :\n1) defines a new secure_ipv6_id() helper\n2) extends inet_getid() to provide 32bit results\n3) extends ipv6_select_ident() with a new dest parameter\n\nReported-by: Fernando Gont \u003cfernando@gont.com.ar\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "21efcfa0ff27776902a8a15e810147be4d937d69",
      "tree": "a0ab4f071d257c4faa0bfa52051b4039ce3d1f96",
      "parents": [
        "61463a30f65225e19e68f59dbd7b888bb308ec99"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jul 19 20:18:36 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 21 21:24:25 2011 -0700"
      },
      "message": "ipv6: unshare inetpeers\n\nWe currently cow metrics a bit too soon in IPv6 case : All routes are\ntied to a single inetpeer entry.\n\nChange ip6_rt_copy() to get destination address as second argument, so\nthat we fill rt6i_dst before the dst_copy_metrics() call.\n\nicmp6_dst_alloc() must set rt6i_dst before calling dst_metric_set(), or\nelse the cow is done while rt6i_dst is still NULL.\n\nIf orig route points to readonly metrics, we can share the pointer\ninstead of performing the memory allocation and copy.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3aaeb38c40e5a6c08dd31a1b64da65c4352be36",
      "tree": "1c17b41d11edc7a7b3477a294cba440f2a14796c",
      "parents": [
        "69cce1d1404968f78b177a0314f5822d5afdbbfb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 18 00:40:17 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 18 00:40:17 2011 -0700"
      },
      "message": "net: Add -\u003eneigh_lookup() operation to dst_ops\n\nIn the future dst entries will be neigh-less.  In that environment we\nneed to have an easy transition point for current users of\ndst-\u003eneighbour outside of the packet output fast path.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69cce1d1404968f78b177a0314f5822d5afdbbfb",
      "tree": "26223264fd69ea8078d0013fd5a76eb7aeb04c12",
      "parents": [
        "9cbb7ecbcff85077bb12301aaf4c9b5a56c5993d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 17 23:09:49 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 17 23:11:35 2011 -0700"
      },
      "message": "net: Abstract dst-\u003eneighbour accesses behind helpers.\n\ndst_{get,set}_neighbour()\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9cbb7ecbcff85077bb12301aaf4c9b5a56c5993d",
      "tree": "585f03578c63503f81d03ba865207bdb9819d5c6",
      "parents": [
        "8f40b161de4f27402b4c0659ad2ae83fad5a0cdd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 17 20:06:13 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 17 23:11:35 2011 -0700"
      },
      "message": "ipv6: Get rid of rt6i_nexthop macro.\n\nIt just makes it harder to see 1) what the code is doing\nand 2) grep for all users of dst{-\u003e,.}neighbour\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f40b161de4f27402b4c0659ad2ae83fad5a0cdd",
      "tree": "9e2dbd4ba8a66916c690b0e5791ac25ea0958c26",
      "parents": [
        "69ecca86da4890c13a5e29c51b4ac76a1a8a62c9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 17 13:34:11 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 17 23:11:17 2011 -0700"
      },
      "message": "neigh: Pass neighbour entry to output ops.\n\nThis will get us closer to being able to do \"neigh stuff\"\ncompletely independent of the underlying dst_entry for\nprotocols (ipv4/ipv6) that wish to do so.\n\nWe will also be able to make dst entries neigh-less.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "542d4d685febf3110d1a08d0bcb9f6ef060b76f7",
      "tree": "8bfb9b8c8f7e8d359030781367634269f843d3e3",
      "parents": [
        "b23b5455b6458920179a1f27513ce42e70d11f37"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 18:06:24 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 18:30:59 2011 -0700"
      },
      "message": "neigh: Kill ndisc_ops-\u003equeue_xmit\n\nIt is always dev_queue_xmit().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47ec132a40d788d45e2f088545dea68798034dab",
      "tree": "f3089b58b4ef12cca150bdd4bf213d8a627a0035",
      "parents": [
        "0895b08adeb3f660cdff21990d0a9c2b59a919e7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 17:39:57 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 17:39:57 2011 -0700"
      },
      "message": "neigh: Kill neigh_ops-\u003ehh_output\n\nIt\u0027s always dev_queue_xmit().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05e3aa0949c138803185f92bd7db9be59cfca1be",
      "tree": "8ea4dd1ab94160dfe51d3d0c0d305d20f2a62a04",
      "parents": [
        "a29282972cc9b80126d4e4d68251c6712bdad051"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 17:26:00 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 17:26:00 2011 -0700"
      },
      "message": "net: Create and use new helper, neigh_output().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a29282972cc9b80126d4e4d68251c6712bdad051",
      "tree": "75abc3d6ae44b7c88e3452df2aa810adecd41cdc",
      "parents": [
        "fec8292d9cb662274b583c5c69fdfa6932e593a5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 14:30:47 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 16 14:30:47 2011 -0700"
      },
      "message": "ipv6: Use calculated \u0027neigh\u0027 instead of re-evaluating dst-\u003eneighbour\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6b72b6217f8c24f2a54988e58af858b4e66024d",
      "tree": "c59d5adcf9bb226db6f602c5078106052524cfea",
      "parents": [
        "390fd0b388e4f85549e5d60bdeb21364b344d9b9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 14 07:53:20 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 14 07:53:20 2011 -0700"
      },
      "message": "net: Embed hh_cache inside of struct neighbour.\n\nNow that there is a one-to-one correspondance between neighbour\nand hh_cache entries, we no longer need:\n\n1) dynamic allocation\n2) attachment to dst-\u003ehh\n3) refcounting\n\nInitialization of the hh_cache entry is indicated by hh_len\nbeing non-zero, and such initialization is always done with\nthe neighbour\u0027s lock held as a writer.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2bda8a0c8af5294b869da1efd2c2b9a562f50dcf",
      "tree": "730583db2a4266ab31507678377c458d087903c6",
      "parents": [
        "fa366124ef3aab35e378ae141f379c133d839943"
      ],
      "author": {
        "name": "Bjørn Mork",
        "email": "bjorn@mork.no",
        "time": "Tue Jul 05 23:04:13 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 07 04:15:10 2011 -0700"
      },
      "message": "Disable router anycast address for /127 prefixes\n\nRFC 6164 requires that routers MUST disable Subnet-Router anycast\nfor the prefix when /127 prefixes are used.\n\nNo need for matching code in addrconf_leave_anycast() as it\nwill silently ignore any attempt to leave an unknown anycast\naddress.\n\nSigned-off-by: Bjørn Mork \u003cbjorn@mork.no\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e12fe68ce34d60c04bb1ddb1d3cc5c3022388fe4",
      "tree": "83c0e192ccaa4752c80b6131a7d0aa8272b5d0d0",
      "parents": [
        "7329f0d58de01878d9ce4f0be7a76e136f223eef",
        "712ae51afd55b20c04c5383d02ba5d10233313b1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 23:23:37 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 23:23:37 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "c349a528cd47e2272ded0ea358363855e86180da",
      "tree": "dea71c512c96728337724c8dbc012f74abb7ba27",
      "parents": [
        "2fb83cd618be34546fb526a9051eceaa95517026"
      ],
      "author": {
        "name": "Marcus Meissner",
        "email": "meissner@novell.com",
        "time": "Mon Jul 04 01:30:29 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 04 21:37:41 2011 -0700"
      },
      "message": "net: bind() fix error return on wrong address family\n\nHi,\n\nReinhard Max also pointed out that the error should EAFNOSUPPORT according\nto POSIX.\n\nThe Linux manpages have it as EINVAL, some other OSes (Minix, HPUX, perhaps BSD) use\nEAFNOSUPPORT. Windows uses WSAEFAULT according to MSDN.\n\nOther protocols error values in their af bind() methods in current mainline git as far\nas a brief look shows:\n\tEAFNOSUPPORT: atm, appletalk, l2tp, llc, phonet, rxrpc\n\tEINVAL: ax25, bluetooth, decnet, econet, ieee802154, iucv, netlink, netrom, packet, rds, rose, unix, x25,\n\tNo check?: can/raw, ipv6/raw, irda, l2tp/l2tp_ip\n\nCiao, Marcus\n\nSigned-off-by: Marcus Meissner \u003cmeissner@suse.de\u003e\nCc: Reinhard Max \u003cmax@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "957c665f37007de93ccbe45902a23143724170d0",
      "tree": "d49f13d5b34ed1b1fc34828cbcd60afdbc9c4e5b",
      "parents": [
        "11d53b4990226247a950e2b1ccfa4cf93bfbc822"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 24 15:25:00 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 01 17:30:43 2011 -0700"
      },
      "message": "ipv6: Don\u0027t put artificial limit on routing table size.\n\nIPV6, unlike IPV4, doesn\u0027t have a routing cache.\n\nRouting table entries, as well as clones made in response\nto route lookup requests, all live in the same table.  And\nall of these things are together collected in the destination\ncache table for ipv6.\n\nThis means that routing table entries count against the garbage\ncollection limits, even though such entries cannot ever be reclaimed\nand are added explicitly by the administrator (rather than being\ncreated in response to lookups).\n\nTherefore it makes no sense to count ipv6 routing table entries\nagainst the GC limits.\n\nAdd a DST_NOCOUNT destination cache entry flag, and skip the counting\nif it is set.  Use this flag bit in ipv6 when adding routing table\nentries.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "11d53b4990226247a950e2b1ccfa4cf93bfbc822",
      "tree": "1d753762b2e7142e84526a146008e7bd029a6635",
      "parents": [
        "6e4e2f811bade330126d4029c88c831784a7efd9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 24 15:23:34 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 01 17:30:43 2011 -0700"
      },
      "message": "ipv6: Don\u0027t change dst-\u003eflags using assignments.\n\nThis blows away any flags already set in the entry.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "207ec0abbed50b43a44cb7c69a07aeee08da5e45",
      "tree": "2b5d12c61e6e7d860a21c94a327a33ff1f39adc9",
      "parents": [
        "4500ebf8d1cc749e1b438136745127e437c54002"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Jul 01 09:43:08 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 01 16:11:16 2011 -0700"
      },
      "message": "ipv6: Reduce switch/case indent\n\nMake the case labels the same indent as the switch.\n\ngit diff -w shows 80 column reflowing,\nremoval of a useless break after return, and moving\nopen brace after case instead of separate line.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9cfaa8def1c795a512bc04f2aec333b03724ca2e",
      "tree": "2c4bff0afe8424472b780a65a8d356db2d62caf4",
      "parents": [
        "32c90254ed4a0c698caa0794ebb4de63fcc69631"
      ],
      "author": {
        "name": "Xufeng Zhang",
        "email": "xufeng.zhang@windriver.com",
        "time": "Tue Jun 21 10:43:40 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 22:34:27 2011 -0700"
      },
      "message": "udp/recvmsg: Clear MSG_TRUNC flag when starting over for a new packet\n\nConsider this scenario: When the size of the first received udp packet\nis bigger than the receive buffer, MSG_TRUNC bit is set in msg-\u003emsg_flags.\nHowever, if checksum error happens and this is a blocking socket, it will\ngoto try_again loop to receive the next packet.  But if the size of the\nnext udp packet is smaller than receive buffer, MSG_TRUNC flag should not\nbe set, but because MSG_TRUNC bit is not cleared in msg-\u003emsg_flags before\nreceive the next packet, MSG_TRUNC is still set, which is wrong.\n\nFix this problem by clearing MSG_TRUNC flag when starting over for a\nnew packet.\n\nSigned-off-by: Xufeng Zhang \u003cxufeng.zhang@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32c90254ed4a0c698caa0794ebb4de63fcc69631",
      "tree": "4f0e4bb2cfe98c587792ba223ea3791102b43c1a",
      "parents": [
        "58fa45973117ab7a79d5b6818275a887867fc4d7"
      ],
      "author": {
        "name": "Xufeng Zhang",
        "email": "xufeng.zhang@windriver.com",
        "time": "Tue Jun 21 10:43:39 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 22:34:27 2011 -0700"
      },
      "message": "ipv6/udp: Use the correct variable to determine non-blocking condition\n\nudpv6_recvmsg() function is not using the correct variable to determine\nwhether or not the socket is in non-blocking operation, this will lead\nto unexpected behavior when a UDP checksum error occurs.\n\nConsider a non-blocking udp receive scenario: when udpv6_recvmsg() is\ncalled by sock_common_recvmsg(), MSG_DONTWAIT bit of flags variable in\nudpv6_recvmsg() is cleared by \"flags \u0026 ~MSG_DONTWAIT\" in this call:\n\n    err \u003d sk-\u003esk_prot-\u003erecvmsg(iocb, sk, msg, size, flags \u0026 MSG_DONTWAIT,\n                   flags \u0026 ~MSG_DONTWAIT, \u0026addr_len);\n\ni.e. with udpv6_recvmsg() getting these values:\n\n\tint noblock \u003d flags \u0026 MSG_DONTWAIT\n\tint flags \u003d flags \u0026 ~MSG_DONTWAIT\n\nSo, when udp checksum error occurs, the execution will go to\ncsum_copy_err, and then the problem happens:\n\n    csum_copy_err:\n            ...............\n            if (flags \u0026 MSG_DONTWAIT)\n                    return -EAGAIN;\n            goto try_again;\n            ...............\n\nBut it will always go to try_again as MSG_DONTWAIT has been cleared\nfrom flags at call time -- only noblock contains the original value\nof MSG_DONTWAIT, so the test should be:\n\n            if (noblock)\n                    return -EAGAIN;\n\nThis is also consistent with what the ipv4/udp code does.\n\nSigned-off-by: Xufeng Zhang \u003cxufeng.zhang@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f6ec8d697c08963d83880ccd35c13c5ace716ea",
      "tree": "ad8d93cf6fcdd09b86ade09f5fcbbc66cdb1cca2",
      "parents": [
        "4aa3a715551c93eda32d79bd52042ce500bd5383",
        "56299378726d5f2ba8d3c8cbbd13cb280ba45e4f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 22:29:08 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 22:29:08 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-agn-rxon.c\n\tdrivers/net/wireless/rtlwifi/pci.c\n\tnet/netfilter/ipvs/ip_vs_core.c\n"
    },
    {
      "commit": "1eddceadb0d6441cd39b2c38705a8f5fec86e770",
      "tree": "db2c9a019a74d71cf2aab0268a1d561d6c5bbd84",
      "parents": [
        "cab758ef30e0e40f783627abc4b66d1b48fecd49"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jun 17 03:45:15 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@conan.davemloft.net",
        "time": "Fri Jun 17 15:27:31 2011 -0400"
      },
      "message": "net: rfs: enable RFS before first data packet is received\n\nLe jeudi 16 juin 2011 à 23:38 -0400, David Miller a écrit :\n\u003e From: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\n\u003e Date: Fri, 17 Jun 2011 00:50:46 +0100\n\u003e\n\u003e \u003e On Wed, 2011-06-15 at 04:15 +0200, Eric Dumazet wrote:\n\u003e \u003e\u003e @@ -1594,6 +1594,7 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb)\n\u003e \u003e\u003e  \t\t\tgoto discard;\n\u003e \u003e\u003e\n\u003e \u003e\u003e  \t\tif (nsk !\u003d sk) {\n\u003e \u003e\u003e +\t\t\tsock_rps_save_rxhash(nsk, skb-\u003erxhash);\n\u003e \u003e\u003e  \t\t\tif (tcp_child_process(sk, nsk, skb)) {\n\u003e \u003e\u003e  \t\t\t\trsk \u003d nsk;\n\u003e \u003e\u003e  \t\t\t\tgoto reset;\n\u003e \u003e\u003e\n\u003e \u003e\n\u003e \u003e I haven\u0027t tried this, but it looks reasonable to me.\n\u003e \u003e\n\u003e \u003e What about IPv6?  The logic in tcp_v6_do_rcv() looks very similar.\n\u003e\n\u003e Indeed ipv6 side needs the same fix.\n\u003e\n\u003e Eric please add that part and resubmit.  And in fact I might stick\n\u003e this into net-2.6 instead of net-next-2.6\n\u003e\n\nOK, here is the net-2.6 based one then, thanks !\n\n[PATCH v2] net: rfs: enable RFS before first data packet is received\n\nFirst packet received on a passive tcp flow is not correctly RFS\nsteered.\n\nOne sock_rps_record_flow() call is missing in inet_accept()\n\nBut before that, we also must record rxhash when child socket is setup.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Tom Herbert \u003ctherbert@google.com\u003e\nCC: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCC: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@conan.davemloft.net\u003e\n"
    }
  ],
  "next": "2c38de4c1f8da799bdca0e4bb40ca13f2174d3e8"
}
