<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net, branch v4.1</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.1</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.1'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2015-06-12T21:18:20Z</updated>
<entry>
<title>sctp: allow authenticating DATA chunks that are bundled with COOKIE_ECHO</title>
<updated>2015-06-12T21:18:20Z</updated>
<author>
<name>Marcelo Ricardo Leitner</name>
<email>marcelo.leitner@gmail.com</email>
</author>
<published>2015-06-11T17:49:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ae36806a622aea5ac79f279cfccc82144967b6e7'/>
<id>urn:sha1:ae36806a622aea5ac79f279cfccc82144967b6e7</id>
<content type='text'>
Currently, we can ask to authenticate DATA chunks and we can send DATA
chunks on the same packet as COOKIE_ECHO, but if you try to combine
both, the DATA chunk will be sent unauthenticated and peer won't accept
it, leading to a communication failure.

This happens because even though the data was queued after it was
requested to authenticate DATA chunks, it was also queued before we
could know that remote peer can handle authenticating, so
sctp_auth_send_cid() returns false.

The fix is whenever we set up an active key, re-check send queue for
chunks that now should be authenticated. As a result, such packet will
now contain COOKIE_ECHO + AUTH + DATA chunks, in that order.

Reported-by: Liu Wei &lt;weliu@redhat.com&gt;
Signed-off-by: Marcelo Ricardo Leitner &lt;marcelo.leitner@gmail.com&gt;
Acked-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Acked-by: Vlad Yasevich &lt;vyasevich@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: don't wait for order-3 page allocation</title>
<updated>2015-06-12T00:33:44Z</updated>
<author>
<name>Shaohua Li</name>
<email>shli@fb.com</email>
</author>
<published>2015-06-11T23:50:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=fb05e7a89f500cfc06ae277bdc911b281928995d'/>
<id>urn:sha1:fb05e7a89f500cfc06ae277bdc911b281928995d</id>
<content type='text'>
We saw excessive direct memory compaction triggered by skb_page_frag_refill.
This causes performance issues and add latency. Commit 5640f7685831e0
introduces the order-3 allocation. According to the changelog, the order-3
allocation isn't a must-have but to improve performance. But direct memory
compaction has high overhead. The benefit of order-3 allocation can't
compensate the overhead of direct memory compaction.

This patch makes the order-3 page allocation atomic. If there is no memory
pressure and memory isn't fragmented, the alloction will still success, so we
don't sacrifice the order-3 benefit here. If the atomic allocation fails,
direct memory compaction will not be triggered, skb_page_frag_refill will
fallback to order-0 immediately, hence the direct memory compaction overhead is
avoided. In the allocation failure case, kswapd is waken up and doing
compaction, so chances are allocation could success next time.

alloc_skb_with_frags is the same.

The mellanox driver does similar thing, if this is accepted, we must fix
the driver too.

V3: fix the same issue in alloc_skb_with_frags as pointed out by Eric
V2: make the changelog clearer

Cc: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Chris Mason &lt;clm@fb.com&gt;
Cc: Debabrata Banerjee &lt;dbavatar@gmail.com&gt;
Signed-off-by: Shaohua Li &lt;shli@fb.com&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mpls: handle device renames for per-device sysctls</title>
<updated>2015-06-11T23:47:16Z</updated>
<author>
<name>Robert Shearman</name>
<email>rshearma@brocade.com</email>
</author>
<published>2015-06-11T18:58:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0fae3bf018d97b210051c8797a49d66d31071847'/>
<id>urn:sha1:0fae3bf018d97b210051c8797a49d66d31071847</id>
<content type='text'>
If a device is renamed and the original name is subsequently reused
for a new device, the following warning is generated:

sysctl duplicate entry: /net/mpls/conf/veth0//input
CPU: 3 PID: 1379 Comm: ip Not tainted 4.1.0-rc4+ #20
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
 0000000000000000 0000000000000000 ffffffff81566aaf 0000000000000000
 ffffffff81236279 ffff88002f7d7f00 0000000000000000 ffff88000db336d8
 ffff88000db33698 0000000000000005 ffff88002e046000 ffff8800168c9280
Call Trace:
 [&lt;ffffffff81566aaf&gt;] ? dump_stack+0x40/0x50
 [&lt;ffffffff81236279&gt;] ? __register_sysctl_table+0x289/0x5a0
 [&lt;ffffffffa051a24f&gt;] ? mpls_dev_notify+0x1ff/0x300 [mpls_router]
 [&lt;ffffffff8108db7f&gt;] ? notifier_call_chain+0x4f/0x70
 [&lt;ffffffff81470e72&gt;] ? register_netdevice+0x2b2/0x480
 [&lt;ffffffffa0524748&gt;] ? veth_newlink+0x178/0x2d3 [veth]
 [&lt;ffffffff8147f84c&gt;] ? rtnl_newlink+0x73c/0x8e0
 [&lt;ffffffff8147f27a&gt;] ? rtnl_newlink+0x16a/0x8e0
 [&lt;ffffffff81459ff2&gt;] ? __kmalloc_reserve.isra.30+0x32/0x90
 [&lt;ffffffff8147ccfd&gt;] ? rtnetlink_rcv_msg+0x8d/0x250
 [&lt;ffffffff8145b027&gt;] ? __alloc_skb+0x47/0x1f0
 [&lt;ffffffff8149badb&gt;] ? __netlink_lookup+0xab/0xe0
 [&lt;ffffffff8147cc70&gt;] ? rtnetlink_rcv+0x30/0x30
 [&lt;ffffffff8149e7a0&gt;] ? netlink_rcv_skb+0xb0/0xd0
 [&lt;ffffffff8147cc64&gt;] ? rtnetlink_rcv+0x24/0x30
 [&lt;ffffffff8149df17&gt;] ? netlink_unicast+0x107/0x1a0
 [&lt;ffffffff8149e4be&gt;] ? netlink_sendmsg+0x50e/0x630
 [&lt;ffffffff8145209c&gt;] ? sock_sendmsg+0x3c/0x50
 [&lt;ffffffff81452beb&gt;] ? ___sys_sendmsg+0x27b/0x290
 [&lt;ffffffff811bd258&gt;] ? mem_cgroup_try_charge+0x88/0x110
 [&lt;ffffffff811bd5b6&gt;] ? mem_cgroup_commit_charge+0x56/0xa0
 [&lt;ffffffff811d7700&gt;] ? do_filp_open+0x30/0xa0
 [&lt;ffffffff8145336e&gt;] ? __sys_sendmsg+0x3e/0x80
 [&lt;ffffffff8156c3f2&gt;] ? system_call_fastpath+0x16/0x75

Fix this by unregistering the previous sysctl table (registered for
the path containing the original device name) and re-registering the
table for the path containing the new device name.

Fixes: 37bde79979c3 ("mpls: Per-device enabling of packet input")
Reported-by: Scott Feldman &lt;sfeldma@gmail.com&gt;
Signed-off-by: Robert Shearman &lt;rshearma@brocade.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net, swap: Remove a warning and clarify why sk_mem_reclaim is required when deactivating swap</title>
<updated>2015-06-11T06:02:31Z</updated>
<author>
<name>Mel Gorman</name>
<email>mgorman@suse.de</email>
</author>
<published>2015-06-11T01:02:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5d753610277862fd8050901f38b6571b9500cdb6'/>
<id>urn:sha1:5d753610277862fd8050901f38b6571b9500cdb6</id>
<content type='text'>
Jeff Layton reported the following;

 [   74.232485] ------------[ cut here ]------------
 [   74.233354] WARNING: CPU: 2 PID: 754 at net/core/sock.c:364 sk_clear_memalloc+0x51/0x80()
 [   74.234790] Modules linked in: cts rpcsec_gss_krb5 nfsv4 dns_resolver nfs fscache xfs libcrc32c snd_hda_codec_generic snd_hda_intel snd_hda_controller snd_hda_codec snd_hda_core snd_hwdep snd_seq snd_seq_device nfsd snd_pcm snd_timer snd e1000 ppdev parport_pc joydev parport pvpanic soundcore floppy serio_raw i2c_piix4 pcspkr nfs_acl lockd virtio_balloon acpi_cpufreq auth_rpcgss grace sunrpc qxl drm_kms_helper ttm drm virtio_console virtio_blk virtio_pci ata_generic virtio_ring pata_acpi virtio
 [   74.243599] CPU: 2 PID: 754 Comm: swapoff Not tainted 4.1.0-rc6+ #5
 [   74.244635] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
 [   74.245546]  0000000000000000 0000000079e69e31 ffff8800d066bde8 ffffffff8179263d
 [   74.246786]  0000000000000000 0000000000000000 ffff8800d066be28 ffffffff8109e6fa
 [   74.248175]  0000000000000000 ffff880118d48000 ffff8800d58f5c08 ffff880036e380a8
 [   74.249483] Call Trace:
 [   74.249872]  [&lt;ffffffff8179263d&gt;] dump_stack+0x45/0x57
 [   74.250703]  [&lt;ffffffff8109e6fa&gt;] warn_slowpath_common+0x8a/0xc0
 [   74.251655]  [&lt;ffffffff8109e82a&gt;] warn_slowpath_null+0x1a/0x20
 [   74.252585]  [&lt;ffffffff81661241&gt;] sk_clear_memalloc+0x51/0x80
 [   74.253519]  [&lt;ffffffffa0116c72&gt;] xs_disable_swap+0x42/0x80 [sunrpc]
 [   74.254537]  [&lt;ffffffffa01109de&gt;] rpc_clnt_swap_deactivate+0x7e/0xc0 [sunrpc]
 [   74.255610]  [&lt;ffffffffa03e4fd7&gt;] nfs_swap_deactivate+0x27/0x30 [nfs]
 [   74.256582]  [&lt;ffffffff811e99d4&gt;] destroy_swap_extents+0x74/0x80
 [   74.257496]  [&lt;ffffffff811ecb52&gt;] SyS_swapoff+0x222/0x5c0
 [   74.258318]  [&lt;ffffffff81023f27&gt;] ? syscall_trace_leave+0xc7/0x140
 [   74.259253]  [&lt;ffffffff81798dae&gt;] system_call_fastpath+0x12/0x71
 [   74.260158] ---[ end trace 2530722966429f10 ]---

The warning in question was unnecessary but with Jeff's series the rules
are also clearer.  This patch removes the warning and updates the comment
to explain why sk_mem_reclaim() may still be called.

[jlayton: remove if (sk-&gt;sk_forward_alloc) conditional. As Leon
          points out that it's not needed.]

Cc: Leon Romanovsky &lt;leon@leon.nu&gt;
Signed-off-by: Mel Gorman &lt;mgorman@suse.de&gt;
Signed-off-by: Jeff Layton &lt;jeff.layton@primarydata.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>bridge: fix multicast router rlist endless loop</title>
<updated>2015-06-11T05:07:50Z</updated>
<author>
<name>Nikolay Aleksandrov</name>
<email>razor@blackwall.org</email>
</author>
<published>2015-06-09T17:23:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1a040eaca1a22f8da8285ceda6b5e4a2cb704867'/>
<id>urn:sha1:1a040eaca1a22f8da8285ceda6b5e4a2cb704867</id>
<content type='text'>
Since the addition of sysfs multicast router support if one set
multicast_router to "2" more than once, then the port would be added to
the hlist every time and could end up linking to itself and thus causing an
endless loop for rlist walkers.
So to reproduce just do:
echo 2 &gt; multicast_router; echo 2 &gt; multicast_router;
in a bridge port and let some igmp traffic flow, for me it hangs up
in br_multicast_flood().
Fix this by adding a check in br_multicast_add_router() if the port is
already linked.
The reason this didn't happen before the addition of multicast_router
sysfs entries is because there's a !hlist_unhashed check that prevents
it.

Signed-off-by: Nikolay Aleksandrov &lt;razor@blackwall.org&gt;
Fixes: 0909e11758bd ("bridge: Add multicast_router sysfs entries")
Acked-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tipc: disconnect socket directly after probe failure</title>
<updated>2015-06-11T05:05:20Z</updated>
<author>
<name>Erik Hugne</name>
<email>erik.hugne@ericsson.com</email>
</author>
<published>2015-06-09T15:27:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b3be5e3e726a6cc849f40c70c3ae525e4146e9df'/>
<id>urn:sha1:b3be5e3e726a6cc849f40c70c3ae525e4146e9df</id>
<content type='text'>
If the TIPC connection timer expires in a probing state, a
self abort message is supposed to be generated and delivered
to the local socket. This is currently broken, and the abort
message is actually sent out to the peer node with invalid
addressing information. This will cause the link to enter
a constant retransmission state and eventually reset.
We fix this by removing the self-abort message creation and
tear down connection immediately instead.

Signed-off-by: Erik Hugne &lt;erik.hugne@ericsson.com&gt;
Reviewed-by: Ying Xue &lt;ying.xue@windriver.com&gt;
Reviewed-by: Jon Maloy &lt;jon.maloy@ericsson.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Revert "ipv6: Fix protocol resubmission"</title>
<updated>2015-06-10T22:29:31Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2015-06-10T22:29:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1b0ccfe54a6abd1bc4d7bdd1c33e61e2c58f72c7'/>
<id>urn:sha1:1b0ccfe54a6abd1bc4d7bdd1c33e61e2c58f72c7</id>
<content type='text'>
This reverts commit 0243508edd317ff1fa63b495643a7c192fbfcd92.

It introduces new regressions.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>cfg80211: wext: clear sinfo struct before calling driver</title>
<updated>2015-06-09T20:54:58Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2015-06-09T19:35:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9c5a18a31b321f120efda412281bb9f610f84aa0'/>
<id>urn:sha1:9c5a18a31b321f120efda412281bb9f610f84aa0</id>
<content type='text'>
Until recently, mac80211 overwrote all the statistics it could
provide when getting called, but it now relies on the struct
having been zeroed by the caller. This was always the case in
nl80211, but wext used a static struct which could even cause
values from one device leak to another.

Using a static struct is OK (as even documented in a comment)
since the whole usage of this function and its return value is
always locked under RTNL. Not clearing the struct for calling
the driver has always been wrong though, since drivers were
free to only fill values they could report, so calling this
for one device and then for another would always have leaked
values from one to the other.

Fix this by initializing the structure in question before the
driver method call.

This fixes https://bugzilla.kernel.org/show_bug.cgi?id=99691

Cc: stable@vger.kernel.org
Reported-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
Reported-by: Alexander Kaltsas &lt;alexkaltsas@gmail.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: replace last open coded skb_orphan_frags with function call</title>
<updated>2015-06-08T19:15:13Z</updated>
<author>
<name>Willem de Bruijn</name>
<email>willemb@google.com</email>
</author>
<published>2015-06-08T15:53:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=bbbf2df0039d31c6a0a9708ce4fe220a54bd5379'/>
<id>urn:sha1:bbbf2df0039d31c6a0a9708ce4fe220a54bd5379</id>
<content type='text'>
Commit 70008aa50e92 ("skbuff: convert to skb_orphan_frags") replaced
open coded tests of SKBTX_DEV_ZEROCOPY and skb_copy_ubufs with calls
to helper function skb_orphan_frags. Apply that to the last remaining
open coded site.

Signed-off-by: Willem de Bruijn &lt;willemb@google.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv6: Fix protocol resubmission</title>
<updated>2015-06-08T19:13:17Z</updated>
<author>
<name>Josh Hunt</name>
<email>johunt@akamai.com</email>
</author>
<published>2015-06-08T16:00:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0243508edd317ff1fa63b495643a7c192fbfcd92'/>
<id>urn:sha1:0243508edd317ff1fa63b495643a7c192fbfcd92</id>
<content type='text'>
UDP encapsulation is broken on IPv6. This is because the logic to resubmit
the nexthdr is inverted, checking for a ret value &gt; 0 instead of &lt; 0. Also,
the resubmit label is in the wrong position since we already get the
nexthdr value when performing decapsulation. In addition the skb pull is no
longer necessary either.

This changes the return value check to look for &lt; 0, using it for the
nexthdr on the next iteration, and moves the resubmit label to the proper
location.

With these changes the v6 code now matches what we do in the v4 ip input
code wrt resubmitting when decapsulating.

Signed-off-by: Josh Hunt &lt;johunt@akamai.com&gt;
Acked-by: "Tom Herbert" &lt;tom@herbertland.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
