<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux, branch v3.14.5</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/?h=v3.14.5</id>
<link rel='self' href='https://git.amat.us/linux/atom/?h=v3.14.5'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-05-31T19:34:37Z</updated>
<entry>
<title>Linux 3.14.5</title>
<updated>2014-05-31T19:34:37Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2014-05-31T20:45:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=03140572475f22e638d88aaa9410007317f376b4'/>
<id>urn:sha1:03140572475f22e638d88aaa9410007317f376b4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>net-gro: reset skb-&gt;truesize in napi_reuse_skb()</title>
<updated>2014-05-31T20:20:39Z</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2014-04-03T16:28:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fc2ab6e8f4903f3e2da6ea0a807403fc91f8debb'/>
<id>urn:sha1:fc2ab6e8f4903f3e2da6ea0a807403fc91f8debb</id>
<content type='text'>
[ Upstream commit e33d0ba8047b049c9262fdb1fcafb93cb52ceceb ]

Recycling skb always had been very tough...

This time it appears GRO layer can accumulate skb-&gt;truesize
adjustments made by drivers when they attach a fragment to skb.

skb_gro_receive() can only subtract from skb-&gt;truesize the used part
of a fragment.

I spotted this problem seeing TcpExtPruneCalled and
TcpExtTCPRcvCollapsed that were unexpected with a recent kernel, where
TCP receive window should be sized properly to accept traffic coming
from a driver not overshooting skb-&gt;truesize.

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ipv4: initialise the itag variable in __mkroute_input</title>
<updated>2014-05-31T20:20:39Z</updated>
<author>
<name>Li RongQing</name>
<email>roy.qing.li@gmail.com</email>
</author>
<published>2014-05-22T08:36:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=242339a25ed829432d99e6571d170b308432ed55'/>
<id>urn:sha1:242339a25ed829432d99e6571d170b308432ed55</id>
<content type='text'>
[ Upstream commit fbdc0ad095c0a299e9abf5d8ac8f58374951149a ]

the value of itag is a random value from stack, and may not be initiated by
fib_validate_source, which called fib_combine_itag if CONFIG_IP_ROUTE_CLASSID
is not set

This will make the cached dst uncertainty

Signed-off-by: Li RongQing &lt;roy.qing.li@gmail.com&gt;
Acked-by: Alexei Starovoitov &lt;ast@plumgrid.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ipv6: gro: fix CHECKSUM_COMPLETE support</title>
<updated>2014-05-31T20:20:39Z</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2014-05-20T04:56:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ff9cfa6b917a903fe24dba928dca61d0c9339864'/>
<id>urn:sha1:ff9cfa6b917a903fe24dba928dca61d0c9339864</id>
<content type='text'>
[ Upstream commit 4de462ab63e23953fd05da511aeb460ae10cc726 ]

When GRE support was added in linux-3.14, CHECKSUM_COMPLETE handling
broke on GRE+IPv6 because we did not update/use the appropriate csum :

GRO layer is supposed to use/update NAPI_GRO_CB(skb)-&gt;csum instead of
skb-&gt;csum

Tested using a GRE tunnel and IPv6 traffic. GRO aggregation now happens
at the first level (ethernet device) instead of being done in gre
tunnel. Native IPv6+TCP is still properly aggregated.

Fixes: bf5a755f5e918 ("net-gre-gro: Add GRE support to the GRO stack")
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Jerry Chu &lt;hkchu@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net_sched: fix an oops in tcindex filter</title>
<updated>2014-05-31T20:20:39Z</updated>
<author>
<name>Cong Wang</name>
<email>xiyou.wangcong@gmail.com</email>
</author>
<published>2014-05-19T19:15:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1ff9c00a7a14af5c848d00eb264cb4e6c9cb30a6'/>
<id>urn:sha1:1ff9c00a7a14af5c848d00eb264cb4e6c9cb30a6</id>
<content type='text'>
[ Upstream commit bf63ac73b3e132e6bf0c8798aba7b277c3316e19 ]

Kelly reported the following crash:

        IP: [&lt;ffffffff817a993d&gt;] tcf_action_exec+0x46/0x90
        PGD 3009067 PUD 300c067 PMD 11ff30067 PTE 800000011634b060
        Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
        CPU: 1 PID: 639 Comm: dhclient Not tainted 3.15.0-rc4+ #342
        Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
        task: ffff8801169ecd00 ti: ffff8800d21b8000 task.ti: ffff8800d21b8000
        RIP: 0010:[&lt;ffffffff817a993d&gt;]  [&lt;ffffffff817a993d&gt;] tcf_action_exec+0x46/0x90
        RSP: 0018:ffff8800d21b9b90  EFLAGS: 00010283
        RAX: 00000000ffffffff RBX: ffff88011634b8e8 RCX: ffff8800cf7133d8
        RDX: ffff88011634b900 RSI: ffff8800cf7133e0 RDI: ffff8800d210f840
        RBP: ffff8800d21b9bb0 R08: ffffffff8287bf60 R09: 0000000000000001
        R10: ffff8800d2b22b24 R11: 0000000000000001 R12: ffff8800d210f840
        R13: ffff8800d21b9c50 R14: ffff8800cf7133e0 R15: ffff8800cad433d8
        FS:  00007f49723e1840(0000) GS:ffff88011a800000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
        CR2: ffff88011634b8f0 CR3: 00000000ce469000 CR4: 00000000000006e0
        Stack:
         ffff8800d2170188 ffff8800d210f840 ffff8800d2171b90 0000000000000000
         ffff8800d21b9be8 ffffffff817c55bb ffff8800d21b9c50 ffff8800d2171b90
         ffff8800d210f840 ffff8800d21b0300 ffff8800d21b9c50 ffff8800d21b9c18
        Call Trace:
         [&lt;ffffffff817c55bb&gt;] tcindex_classify+0x88/0x9b
         [&lt;ffffffff817a7f7d&gt;] tc_classify_compat+0x3e/0x7b
         [&lt;ffffffff817a7fdf&gt;] tc_classify+0x25/0x9f
         [&lt;ffffffff817b0e68&gt;] htb_enqueue+0x55/0x27a
         [&lt;ffffffff817b6c2e&gt;] dsmark_enqueue+0x165/0x1a4
         [&lt;ffffffff81775642&gt;] __dev_queue_xmit+0x35e/0x536
         [&lt;ffffffff8177582a&gt;] dev_queue_xmit+0x10/0x12
         [&lt;ffffffff818f8ecd&gt;] packet_sendmsg+0xb26/0xb9a
         [&lt;ffffffff810b1507&gt;] ? __lock_acquire+0x3ae/0xdf3
         [&lt;ffffffff8175cf08&gt;] __sock_sendmsg_nosec+0x25/0x27
         [&lt;ffffffff8175d916&gt;] sock_aio_write+0xd0/0xe7
         [&lt;ffffffff8117d6b8&gt;] do_sync_write+0x59/0x78
         [&lt;ffffffff8117d84d&gt;] vfs_write+0xb5/0x10a
         [&lt;ffffffff8117d96a&gt;] SyS_write+0x49/0x7f
         [&lt;ffffffff8198e212&gt;] system_call_fastpath+0x16/0x1b

This is because we memcpy struct tcindex_filter_result which contains
struct tcf_exts, obviously struct list_head can not be simply copied.
This is a regression introduced by commit 33be627159913b094bb578
(net_sched: act: use standard struct list_head).

It's not very easy to fix it as the code is a mess:

       if (old_r)
               memcpy(&amp;cr, r, sizeof(cr));
       else {
               memset(&amp;cr, 0, sizeof(cr));
               tcf_exts_init(&amp;cr.exts, TCA_TCINDEX_ACT, TCA_TCINDEX_POLICE);
       }
       ...
       tcf_exts_change(tp, &amp;cr.exts, &amp;e);
       ...
       memcpy(r, &amp;cr, sizeof(cr));

the above code should equal to:

        tcindex_filter_result_init(&amp;cr);
        if (old_r)
               cr.res = r-&gt;res;
        ...
        if (old_r)
               tcf_exts_change(tp, &amp;r-&gt;exts, &amp;e);
        else
               tcf_exts_change(tp, &amp;cr.exts, &amp;e);
        ...
        r-&gt;res = cr.res;

after this change, since there is no need to copy struct tcf_exts.

And it also fixes other places zero'ing struct's contains struct tcf_exts.

Fixes: commit 33be627159913b0 (net_sched: act: use standard struct list_head)
Reported-by: Kelly Anderson &lt;kelly@xilka.com&gt;
Tested-by: Kelly Anderson &lt;kelly@xilka.com&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Cong Wang &lt;xiyou.wangcong@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ip_tunnel: Initialize the fallback device properly</title>
<updated>2014-05-31T20:20:39Z</updated>
<author>
<name>Steffen Klassert</name>
<email>steffen.klassert@secunet.com</email>
</author>
<published>2014-05-19T09:36:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=49da0655e28b5bf9d869e1c50c15c990c5db5f94'/>
<id>urn:sha1:49da0655e28b5bf9d869e1c50c15c990c5db5f94</id>
<content type='text'>
[ Upstream commit 78ff4be45a4c51d8fb21ad92e4fabb467c6c3eeb ]

We need to initialize the fallback device to have a correct mtu
set on this device. Otherwise the mtu is set to null and the device
is unusable.

Fixes: fd58156e456d ("IPIP: Use ip-tunneling code.")
Cc: Pravin B Shelar &lt;pshelar@nicira.com&gt;
Signed-off-by: Steffen Klassert &lt;steffen.klassert@secunet.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>batman-adv: fix local TT check for outgoing arp requests in DAT</title>
<updated>2014-05-31T20:20:39Z</updated>
<author>
<name>Antonio Quartulli</name>
<email>antonio@open-mesh.com</email>
</author>
<published>2014-03-29T16:27:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=39f95dfd2c76415d03489aef9674638e00c95055'/>
<id>urn:sha1:39f95dfd2c76415d03489aef9674638e00c95055</id>
<content type='text'>
[ Upstream commit cc2f33860cea0e48ebec096130bd0f7c4bf6e0bc ]

Change introduced by 88e48d7b3340ef07b108eb8a8b3813dd093cc7f7
("batman-adv: make DAT drop ARP requests targeting local clients")
implements a check that prevents DAT from using the caching
mechanism when the client that is supposed to provide a reply
to an arp request is local.

However change brought by be1db4f6615b5e6156c807ea8985171c215c2d57
("batman-adv: make the Distributed ARP Table vlan aware")
has not converted the above check into its vlan aware version
thus making it useless when the local client is behind a vlan.

Fix the behaviour by properly specifying the vlan when
checking for a client being local or not.

Reported-by: Simon Wunderlich &lt;simon@open-mesh.com&gt;
Signed-off-by: Antonio Quartulli &lt;antonio@open-mesh.com&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>batman-adv: increase orig refcount when storing ref in gw_node</title>
<updated>2014-05-31T20:20:39Z</updated>
<author>
<name>Antonio Quartulli</name>
<email>antonio@open-mesh.com</email>
</author>
<published>2014-05-01T23:35:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=32eb568e09bfdf10bd90c8478e5a79b5f9f3c841'/>
<id>urn:sha1:32eb568e09bfdf10bd90c8478e5a79b5f9f3c841</id>
<content type='text'>
[ Upstream commit 377fe0f968b30a1a714fab53a908061914f30e26 ]

A pointer to the orig_node representing a bat-gateway is
stored in the gw_node-&gt;orig_node member, but the refcount
for such orig_node is never increased.
This leads to memory faults when gw_node-&gt;orig_node is accessed
and the originator has already been freed.

Fix this by increasing the refcount on gw_node creation
and decreasing it on gw_node free.

Signed-off-by: Antonio Quartulli &lt;antonio@open-mesh.com&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>batman-adv: fix reference counting imbalance while sending fragment</title>
<updated>2014-05-31T20:20:38Z</updated>
<author>
<name>Antonio Quartulli</name>
<email>antonio@open-mesh.com</email>
</author>
<published>2014-04-23T12:05:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e450a9b46e0d1c6d0b94a63d0d5fd4273d45de24'/>
<id>urn:sha1:e450a9b46e0d1c6d0b94a63d0d5fd4273d45de24</id>
<content type='text'>
[ Upstream commit be181015a189cd141398b761ba4e79d33fe69949 ]

In the new fragmentation code the batadv_frag_send_packet()
function obtains a reference to the primary_if, but it does
not release it upon return.

This reference imbalance prevents the primary_if (and then
the related netdevice) to be properly released on shut down.

Fix this by releasing the primary_if in batadv_frag_send_packet().

Introduced by ee75ed88879af88558818a5c6609d85f60ff0df4
("batman-adv: Fragment and send skbs larger than mtu")

Cc: Martin Hundebøll &lt;martin@hundeboll.net&gt;
Signed-off-by: Antonio Quartulli &lt;antonio@open-mesh.com&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
Acked-by: Martin Hundebøll &lt;martin@hundeboll.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>batman-adv: fix indirect hard_iface NULL dereference</title>
<updated>2014-05-31T20:20:38Z</updated>
<author>
<name>Marek Lindner</name>
<email>mareklindner@neomailbox.ch</email>
</author>
<published>2014-04-23T19:44:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b6bc7a13cab3966f03d3efd79892c8d2f085b919'/>
<id>urn:sha1:b6bc7a13cab3966f03d3efd79892c8d2f085b919</id>
<content type='text'>
[ Upstream commit 16a4142363b11952d3aa76ac78004502c0c2fe6e ]

If hard_iface is NULL and goto out is made batadv_hardif_free_ref()
doesn't check for NULL before dereferencing it to get to refcount.

Introduced in cb1c92ec37fb70543d133a1fa7d9b54d6f8a1ecd
("batman-adv: add debugfs support to view multiif tables").

Reported-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
Acked-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
