<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/net/ipv6, branch v3.17-rc2</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>net: ipv6: fib: don't sleep inside atomic lock</title>
<updated>2014-08-22T17:54:49+00:00</updated>
<author>
<name>Benjamin Block</name>
<email>bebl@mageta.org</email>
</author>
<published>2014-08-21T17:37:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=793c3b4000a1ef611ae7e5c89bd2a9c6b776cb5e'/>
<id>793c3b4000a1ef611ae7e5c89bd2a9c6b776cb5e</id>
<content type='text'>
The function fib6_commit_metrics() allocates a piece of memory in mode
GFP_KERNEL while holding an atomic lock from higher up in the stack, in
the function __ip6_ins_rt(). This produces the following BUG:

&gt; BUG: sleeping function called from invalid context at mm/slub.c:1250
&gt; in_atomic(): 1, irqs_disabled(): 0, pid: 2909, name: dhcpcd
&gt; 2 locks held by dhcpcd/2909:
&gt;  #0:  (rtnl_mutex){+.+.+.}, at: [&lt;ffffffff81978e67&gt;] rtnl_lock+0x17/0x20
&gt;  #1:  (&amp;tb-&gt;tb6_lock){++--+.}, at: [&lt;ffffffff81a6951a&gt;] ip6_route_add+0x65a/0x800
&gt; CPU: 1 PID: 2909 Comm: dhcpcd Not tainted 3.17.0-rc1 #1
&gt; Hardware name: ASUS All Series/Q87T, BIOS 0216 10/16/2013
&gt;  0000000000000008 ffff8800c8f13858 ffffffff81af135a 0000000000000000
&gt;  ffff880212202430 ffff8800c8f13878 ffffffff810f8d3a ffff880212202c98
&gt;  0000000000000010 ffff8800c8f138c8 ffffffff8121ad0e 0000000000000001
&gt; Call Trace:
&gt;  [&lt;ffffffff81af135a&gt;] dump_stack+0x4e/0x68
&gt;  [&lt;ffffffff810f8d3a&gt;] __might_sleep+0x10a/0x120
&gt;  [&lt;ffffffff8121ad0e&gt;] kmem_cache_alloc_trace+0x4e/0x190
&gt;  [&lt;ffffffff81a6bcd6&gt;] ? fib6_commit_metrics+0x66/0x110
&gt;  [&lt;ffffffff81a6bcd6&gt;] fib6_commit_metrics+0x66/0x110
&gt;  [&lt;ffffffff81a6cbf3&gt;] fib6_add+0x883/0xa80
&gt;  [&lt;ffffffff81a6951a&gt;] ? ip6_route_add+0x65a/0x800
&gt;  [&lt;ffffffff81a69535&gt;] ip6_route_add+0x675/0x800
&gt;  [&lt;ffffffff81a68f2a&gt;] ? ip6_route_add+0x6a/0x800
&gt;  [&lt;ffffffff81a6990c&gt;] inet6_rtm_newroute+0x5c/0x80
&gt;  [&lt;ffffffff8197cf01&gt;] rtnetlink_rcv_msg+0x211/0x260
&gt;  [&lt;ffffffff81978e67&gt;] ? rtnl_lock+0x17/0x20
&gt;  [&lt;ffffffff81119708&gt;] ? lock_release_holdtime+0x28/0x180
&gt;  [&lt;ffffffff81978e67&gt;] ? rtnl_lock+0x17/0x20
&gt;  [&lt;ffffffff8197ccf0&gt;] ? __rtnl_unlock+0x20/0x20
&gt;  [&lt;ffffffff819a989e&gt;] netlink_rcv_skb+0x6e/0xd0
&gt;  [&lt;ffffffff81978ee5&gt;] rtnetlink_rcv+0x25/0x40
&gt;  [&lt;ffffffff819a8e59&gt;] netlink_unicast+0xd9/0x180
&gt;  [&lt;ffffffff819a9600&gt;] netlink_sendmsg+0x700/0x770
&gt;  [&lt;ffffffff81103735&gt;] ? local_clock+0x25/0x30
&gt;  [&lt;ffffffff8194e83c&gt;] sock_sendmsg+0x6c/0x90
&gt;  [&lt;ffffffff811f98e3&gt;] ? might_fault+0xa3/0xb0
&gt;  [&lt;ffffffff8195ca6d&gt;] ? verify_iovec+0x7d/0xf0
&gt;  [&lt;ffffffff8194ec3e&gt;] ___sys_sendmsg+0x37e/0x3b0
&gt;  [&lt;ffffffff8111ef15&gt;] ? trace_hardirqs_on_caller+0x185/0x220
&gt;  [&lt;ffffffff81af979e&gt;] ? mutex_unlock+0xe/0x10
&gt;  [&lt;ffffffff819a55ec&gt;] ? netlink_insert+0xbc/0xe0
&gt;  [&lt;ffffffff819a65e5&gt;] ? netlink_autobind.isra.30+0x125/0x150
&gt;  [&lt;ffffffff819a6520&gt;] ? netlink_autobind.isra.30+0x60/0x150
&gt;  [&lt;ffffffff819a84f9&gt;] ? netlink_bind+0x159/0x230
&gt;  [&lt;ffffffff811f989a&gt;] ? might_fault+0x5a/0xb0
&gt;  [&lt;ffffffff8194f25e&gt;] ? SYSC_bind+0x7e/0xd0
&gt;  [&lt;ffffffff8194f8cd&gt;] __sys_sendmsg+0x4d/0x80
&gt;  [&lt;ffffffff8194f912&gt;] SyS_sendmsg+0x12/0x20
&gt;  [&lt;ffffffff81afc692&gt;] system_call_fastpath+0x16/0x1b

Fixing this by replacing the mode GFP_KERNEL with GFP_ATOMIC.

Signed-off-by: Benjamin Block &lt;bebl@mageta.org&gt;
Acked-by: David Rientjes &lt;rientjes@google.com&gt;
Acked-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The function fib6_commit_metrics() allocates a piece of memory in mode
GFP_KERNEL while holding an atomic lock from higher up in the stack, in
the function __ip6_ins_rt(). This produces the following BUG:

&gt; BUG: sleeping function called from invalid context at mm/slub.c:1250
&gt; in_atomic(): 1, irqs_disabled(): 0, pid: 2909, name: dhcpcd
&gt; 2 locks held by dhcpcd/2909:
&gt;  #0:  (rtnl_mutex){+.+.+.}, at: [&lt;ffffffff81978e67&gt;] rtnl_lock+0x17/0x20
&gt;  #1:  (&amp;tb-&gt;tb6_lock){++--+.}, at: [&lt;ffffffff81a6951a&gt;] ip6_route_add+0x65a/0x800
&gt; CPU: 1 PID: 2909 Comm: dhcpcd Not tainted 3.17.0-rc1 #1
&gt; Hardware name: ASUS All Series/Q87T, BIOS 0216 10/16/2013
&gt;  0000000000000008 ffff8800c8f13858 ffffffff81af135a 0000000000000000
&gt;  ffff880212202430 ffff8800c8f13878 ffffffff810f8d3a ffff880212202c98
&gt;  0000000000000010 ffff8800c8f138c8 ffffffff8121ad0e 0000000000000001
&gt; Call Trace:
&gt;  [&lt;ffffffff81af135a&gt;] dump_stack+0x4e/0x68
&gt;  [&lt;ffffffff810f8d3a&gt;] __might_sleep+0x10a/0x120
&gt;  [&lt;ffffffff8121ad0e&gt;] kmem_cache_alloc_trace+0x4e/0x190
&gt;  [&lt;ffffffff81a6bcd6&gt;] ? fib6_commit_metrics+0x66/0x110
&gt;  [&lt;ffffffff81a6bcd6&gt;] fib6_commit_metrics+0x66/0x110
&gt;  [&lt;ffffffff81a6cbf3&gt;] fib6_add+0x883/0xa80
&gt;  [&lt;ffffffff81a6951a&gt;] ? ip6_route_add+0x65a/0x800
&gt;  [&lt;ffffffff81a69535&gt;] ip6_route_add+0x675/0x800
&gt;  [&lt;ffffffff81a68f2a&gt;] ? ip6_route_add+0x6a/0x800
&gt;  [&lt;ffffffff81a6990c&gt;] inet6_rtm_newroute+0x5c/0x80
&gt;  [&lt;ffffffff8197cf01&gt;] rtnetlink_rcv_msg+0x211/0x260
&gt;  [&lt;ffffffff81978e67&gt;] ? rtnl_lock+0x17/0x20
&gt;  [&lt;ffffffff81119708&gt;] ? lock_release_holdtime+0x28/0x180
&gt;  [&lt;ffffffff81978e67&gt;] ? rtnl_lock+0x17/0x20
&gt;  [&lt;ffffffff8197ccf0&gt;] ? __rtnl_unlock+0x20/0x20
&gt;  [&lt;ffffffff819a989e&gt;] netlink_rcv_skb+0x6e/0xd0
&gt;  [&lt;ffffffff81978ee5&gt;] rtnetlink_rcv+0x25/0x40
&gt;  [&lt;ffffffff819a8e59&gt;] netlink_unicast+0xd9/0x180
&gt;  [&lt;ffffffff819a9600&gt;] netlink_sendmsg+0x700/0x770
&gt;  [&lt;ffffffff81103735&gt;] ? local_clock+0x25/0x30
&gt;  [&lt;ffffffff8194e83c&gt;] sock_sendmsg+0x6c/0x90
&gt;  [&lt;ffffffff811f98e3&gt;] ? might_fault+0xa3/0xb0
&gt;  [&lt;ffffffff8195ca6d&gt;] ? verify_iovec+0x7d/0xf0
&gt;  [&lt;ffffffff8194ec3e&gt;] ___sys_sendmsg+0x37e/0x3b0
&gt;  [&lt;ffffffff8111ef15&gt;] ? trace_hardirqs_on_caller+0x185/0x220
&gt;  [&lt;ffffffff81af979e&gt;] ? mutex_unlock+0xe/0x10
&gt;  [&lt;ffffffff819a55ec&gt;] ? netlink_insert+0xbc/0xe0
&gt;  [&lt;ffffffff819a65e5&gt;] ? netlink_autobind.isra.30+0x125/0x150
&gt;  [&lt;ffffffff819a6520&gt;] ? netlink_autobind.isra.30+0x60/0x150
&gt;  [&lt;ffffffff819a84f9&gt;] ? netlink_bind+0x159/0x230
&gt;  [&lt;ffffffff811f989a&gt;] ? might_fault+0x5a/0xb0
&gt;  [&lt;ffffffff8194f25e&gt;] ? SYSC_bind+0x7e/0xd0
&gt;  [&lt;ffffffff8194f8cd&gt;] __sys_sendmsg+0x4d/0x80
&gt;  [&lt;ffffffff8194f912&gt;] SyS_sendmsg+0x12/0x20
&gt;  [&lt;ffffffff81afc692&gt;] system_call_fastpath+0x16/0x1b

Fixing this by replacing the mode GFP_KERNEL with GFP_ATOMIC.

Signed-off-by: Benjamin Block &lt;bebl@mageta.org&gt;
Acked-by: David Rientjes &lt;rientjes@google.com&gt;
Acked-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tcp: fix tcp_release_cb() to dispatch via address family for mtu_reduced()</title>
<updated>2014-08-14T21:38:54+00:00</updated>
<author>
<name>Neal Cardwell</name>
<email>ncardwell@google.com</email>
</author>
<published>2014-08-14T16:40:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=4fab9071950c2021d846e18351e0f46a1cffd67b'/>
<id>4fab9071950c2021d846e18351e0f46a1cffd67b</id>
<content type='text'>
Make sure we use the correct address-family-specific function for
handling MTU reductions from within tcp_release_cb().

Previously AF_INET6 sockets were incorrectly always using the IPv6
code path when sometimes they were handling IPv4 traffic and thus had
an IPv4 dst.

Signed-off-by: Neal Cardwell &lt;ncardwell@google.com&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Diagnosed-by: Willem de Bruijn &lt;willemb@google.com&gt;
Fixes: 563d34d057862 ("tcp: dont drop MTU reduction indications")
Reviewed-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make sure we use the correct address-family-specific function for
handling MTU reductions from within tcp_release_cb().

Previously AF_INET6 sockets were incorrectly always using the IPv6
code path when sometimes they were handling IPv4 traffic and thus had
an IPv4 dst.

Signed-off-by: Neal Cardwell &lt;ncardwell@google.com&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Diagnosed-by: Willem de Bruijn &lt;willemb@google.com&gt;
Fixes: 563d34d057862 ("tcp: dont drop MTU reduction indications")
Reviewed-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sit: Fix ipip6_tunnel_lookup device matching criteria</title>
<updated>2014-08-14T21:38:54+00:00</updated>
<author>
<name>Shmulik Ladkani</name>
<email>shmulik.ladkani@gmail.com</email>
</author>
<published>2014-08-14T12:27:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=bc8fc7b8f825ef17a0fb9e68c18ce94fa66ab337'/>
<id>bc8fc7b8f825ef17a0fb9e68c18ce94fa66ab337</id>
<content type='text'>
As of 4fddbf5d78 ("sit: strictly restrict incoming traffic to tunnel link device"),
when looking up a tunnel, tunnel's underlying interface (t-&gt;parms.link)
is verified to match incoming traffic's ingress device.

However the comparison was incorrectly based on skb-&gt;dev-&gt;iflink.

Instead, dev-&gt;ifindex should be used, which correctly represents the
interface from which the IP stack hands the ipip6 packets.

This allows setting up sit tunnels bound to vlan interfaces (otherwise
incoming ipip6 traffic on the vlan interface was dropped due to
ipip6_tunnel_lookup match failure).

Signed-off-by: Shmulik Ladkani &lt;shmulik.ladkani@gmail.com&gt;
Acked-by: Nicolas Dichtel &lt;nicolas.dichtel@6wind.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As of 4fddbf5d78 ("sit: strictly restrict incoming traffic to tunnel link device"),
when looking up a tunnel, tunnel's underlying interface (t-&gt;parms.link)
is verified to match incoming traffic's ingress device.

However the comparison was incorrectly based on skb-&gt;dev-&gt;iflink.

Instead, dev-&gt;ifindex should be used, which correctly represents the
interface from which the IP stack hands the ipip6 packets.

This allows setting up sit tunnels bound to vlan interfaces (otherwise
incoming ipip6 traffic on the vlan interface was dropped due to
ipip6_tunnel_lookup match failure).

Signed-off-by: Shmulik Ladkani &lt;shmulik.ladkani@gmail.com&gt;
Acked-by: Nicolas Dichtel &lt;nicolas.dichtel@6wind.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'akpm' (patchbomb from Andrew Morton)</title>
<updated>2014-08-07T04:14:42+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-08-07T04:14:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=33caee39925b887a99a2400dc5c980097c3573f9'/>
<id>33caee39925b887a99a2400dc5c980097c3573f9</id>
<content type='text'>
Merge incoming from Andrew Morton:
 - Various misc things.
 - arch/sh updates.
 - Part of ocfs2.  Review is slow.
 - Slab updates.
 - Most of -mm.
 - printk updates.
 - lib/ updates.
 - checkpatch updates.

* emailed patches from Andrew Morton &lt;akpm@linux-foundation.org&gt;: (226 commits)
  checkpatch: update $declaration_macros, add uninitialized_var
  checkpatch: warn on missing spaces in broken up quoted
  checkpatch: fix false positives for --strict "space after cast" test
  checkpatch: fix false positive MISSING_BREAK warnings with --file
  checkpatch: add test for native c90 types in unusual order
  checkpatch: add signed generic types
  checkpatch: add short int to c variable types
  checkpatch: add for_each tests to indentation and brace tests
  checkpatch: fix brace style misuses of else and while
  checkpatch: add --fix option for a couple OPEN_BRACE misuses
  checkpatch: use the correct indentation for which()
  checkpatch: add fix_insert_line and fix_delete_line helpers
  checkpatch: add ability to insert and delete lines to patch/file
  checkpatch: add an index variable for fixed lines
  checkpatch: warn on break after goto or return with same tab indentation
  checkpatch: emit a warning on file add/move/delete
  checkpatch: add test for commit id formatting style in commit log
  checkpatch: emit fewer kmalloc_array/kcalloc conversion warnings
  checkpatch: improve "no space after cast" test
  checkpatch: allow multiple const * types
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Merge incoming from Andrew Morton:
 - Various misc things.
 - arch/sh updates.
 - Part of ocfs2.  Review is slow.
 - Slab updates.
 - Most of -mm.
 - printk updates.
 - lib/ updates.
 - checkpatch updates.

* emailed patches from Andrew Morton &lt;akpm@linux-foundation.org&gt;: (226 commits)
  checkpatch: update $declaration_macros, add uninitialized_var
  checkpatch: warn on missing spaces in broken up quoted
  checkpatch: fix false positives for --strict "space after cast" test
  checkpatch: fix false positive MISSING_BREAK warnings with --file
  checkpatch: add test for native c90 types in unusual order
  checkpatch: add signed generic types
  checkpatch: add short int to c variable types
  checkpatch: add for_each tests to indentation and brace tests
  checkpatch: fix brace style misuses of else and while
  checkpatch: add --fix option for a couple OPEN_BRACE misuses
  checkpatch: use the correct indentation for which()
  checkpatch: add fix_insert_line and fix_delete_line helpers
  checkpatch: add ability to insert and delete lines to patch/file
  checkpatch: add an index variable for fixed lines
  checkpatch: warn on break after goto or return with same tab indentation
  checkpatch: emit a warning on file add/move/delete
  checkpatch: add test for commit id formatting style in commit log
  checkpatch: emit fewer kmalloc_array/kcalloc conversion warnings
  checkpatch: improve "no space after cast" test
  checkpatch: allow multiple const * types
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>list: fix order of arguments for hlist_add_after(_rcu)</title>
<updated>2014-08-07T01:01:24+00:00</updated>
<author>
<name>Ken Helias</name>
<email>kenhelias@firemail.de</email>
</author>
<published>2014-08-06T23:09:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=1d023284c31a4e40a94d5bbcb7dbb7a35ee0bcbc'/>
<id>1d023284c31a4e40a94d5bbcb7dbb7a35ee0bcbc</id>
<content type='text'>
All other add functions for lists have the new item as first argument
and the position where it is added as second argument.  This was changed
for no good reason in this function and makes using it unnecessary
confusing.

The name was changed to hlist_add_behind() to cause unconverted code to
generate a compile error instead of using the wrong parameter order.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Ken Helias &lt;kenhelias@firemail.de&gt;
Cc: "Paul E. McKenney" &lt;paulmck@linux.vnet.ibm.com&gt;
Acked-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;	[intel driver bits]
Cc: Hugh Dickins &lt;hughd@google.com&gt;
Cc: Christoph Hellwig &lt;hch@infradead.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All other add functions for lists have the new item as first argument
and the position where it is added as second argument.  This was changed
for no good reason in this function and makes using it unnecessary
confusing.

The name was changed to hlist_add_behind() to cause unconverted code to
generate a compile error instead of using the wrong parameter order.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Ken Helias &lt;kenhelias@firemail.de&gt;
Cc: "Paul E. McKenney" &lt;paulmck@linux.vnet.ibm.com&gt;
Acked-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;	[intel driver bits]
Cc: Hugh Dickins &lt;hughd@google.com&gt;
Cc: Christoph Hellwig &lt;hch@infradead.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tcp: md5: check md5 signature without socket lock</title>
<updated>2014-08-06T23:00:20+00:00</updated>
<author>
<name>Dmitry Popov</name>
<email>ixaphire@qrator.net</email>
</author>
<published>2014-08-06T22:38:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9ea88a153001ffeb3d8810917e8eea62ca9b6f25'/>
<id>9ea88a153001ffeb3d8810917e8eea62ca9b6f25</id>
<content type='text'>
Since a8afca032 (tcp: md5: protects md5sig_info with RCU) tcp_md5_do_lookup
doesn't require socket lock, rcu_read_lock is enough. Therefore socket lock is
no longer required for tcp_v{4,6}_inbound_md5_hash too, so we can move these
calls (wrapped with rcu_read_{,un}lock) before bh_lock_sock:
from tcp_v{4,6}_do_rcv to tcp_v{4,6}_rcv.

Signed-off-by: Dmitry Popov &lt;ixaphire@qrator.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since a8afca032 (tcp: md5: protects md5sig_info with RCU) tcp_md5_do_lookup
doesn't require socket lock, rcu_read_lock is enough. Therefore socket lock is
no longer required for tcp_v{4,6}_inbound_md5_hash too, so we can move these
calls (wrapped with rcu_read_{,un}lock) before bh_lock_sock:
from tcp_v{4,6}_do_rcv to tcp_v{4,6}_rcv.

Signed-off-by: Dmitry Popov &lt;ixaphire@qrator.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2014-08-06T01:46:26+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2014-08-06T01:46:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d247b6ab3ce6dd43665780865ec5fa145d9ab6bd'/>
<id>d247b6ab3ce6dd43665780865ec5fa145d9ab6bd</id>
<content type='text'>
Conflicts:
	drivers/net/Makefile
	net/ipv6/sysctl_net_ipv6.c

Two ipv6_table_template[] additions overlap, so the index
of the ipv6_table[x] assignments needed to be adjusted.

In the drivers/net/Makefile case, we've gotten rid of the
garbage whereby we had to list every single USB networking
driver in the top-level Makefile, there is just one
"USB_NETWORKING" that guards everything.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	drivers/net/Makefile
	net/ipv6/sysctl_net_ipv6.c

Two ipv6_table_template[] additions overlap, so the index
of the ipv6_table[x] assignments needed to be adjusted.

In the drivers/net/Makefile case, we've gotten rid of the
garbage whereby we had to list every single USB networking
driver in the top-level Makefile, there is just one
"USB_NETWORKING" that guards everything.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net-timestamp: add key to disambiguate concurrent datagrams</title>
<updated>2014-08-05T23:35:54+00:00</updated>
<author>
<name>Willem de Bruijn</name>
<email>willemb@google.com</email>
</author>
<published>2014-08-05T02:11:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=09c2d251b70723650ba47e83571ff49281320f7c'/>
<id>09c2d251b70723650ba47e83571ff49281320f7c</id>
<content type='text'>
Datagrams timestamped on transmission can coexist in the kernel stack
and be reordered in packet scheduling. When reading looped datagrams
from the socket error queue it is not always possible to unique
correlate looped data with original send() call (for application
level retransmits). Even if possible, it may be expensive and complex,
requiring packet inspection.

Introduce a data-independent ID mechanism to associate timestamps with
send calls. Pass an ID alongside the timestamp in field ee_data of
sock_extended_err.

The ID is a simple 32 bit unsigned int that is associated with the
socket and incremented on each send() call for which software tx
timestamp generation is enabled.

The feature is enabled only if SOF_TIMESTAMPING_OPT_ID is set, to
avoid changing ee_data for existing applications that expect it 0.
The counter is reset each time the flag is reenabled. Reenabling
does not change the ID of already submitted data. It is possible
to receive out of order IDs if the timestamp stream is not quiesced
first.

Signed-off-by: Willem de Bruijn &lt;willemb@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Datagrams timestamped on transmission can coexist in the kernel stack
and be reordered in packet scheduling. When reading looped datagrams
from the socket error queue it is not always possible to unique
correlate looped data with original send() call (for application
level retransmits). Even if possible, it may be expensive and complex,
requiring packet inspection.

Introduce a data-independent ID mechanism to associate timestamps with
send calls. Pass an ID alongside the timestamp in field ee_data of
sock_extended_err.

The ID is a simple 32 bit unsigned int that is associated with the
socket and incremented on each send() call for which software tx
timestamp generation is enabled.

The feature is enabled only if SOF_TIMESTAMPING_OPT_ID is set, to
avoid changing ee_data for existing applications that expect it 0.
The counter is reset each time the flag is reenabled. Reenabling
does not change the ID of already submitted data. It is possible
to receive out of order IDs if the timestamp stream is not quiesced
first.

Signed-off-by: Willem de Bruijn &lt;willemb@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: data of fwmark_reflect sysctl needs to be updated on netns construction</title>
<updated>2014-08-02T23:16:54+00:00</updated>
<author>
<name>Hannes Frederic Sowa</name>
<email>hannes@stressinduktion.org</email>
</author>
<published>2014-08-01T12:41:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=166bd890a3d851b7cfdf3e417917878bfe4671f1'/>
<id>166bd890a3d851b7cfdf3e417917878bfe4671f1</id>
<content type='text'>
Fixes: e110861f86094cd ("net: add a sysctl to reflect the fwmark on replies")
Cc: Lorenzo Colitti &lt;lorenzo@google.com&gt;
Signed-off-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes: e110861f86094cd ("net: add a sysctl to reflect the fwmark on replies")
Cc: Lorenzo Colitti &lt;lorenzo@google.com&gt;
Signed-off-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>inet: frags: use kmem_cache for inet_frag_queue</title>
<updated>2014-08-02T22:31:31+00:00</updated>
<author>
<name>Nikolay Aleksandrov</name>
<email>nikolay@redhat.com</email>
</author>
<published>2014-08-01T10:29:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d4ad4d22e7ac6b8711b35d7e86eb29f03f8ac153'/>
<id>d4ad4d22e7ac6b8711b35d7e86eb29f03f8ac153</id>
<content type='text'>
Use kmem_cache to allocate/free inet_frag_queue objects since they're
all the same size per inet_frags user and are alloced/freed in high volumes
thus making it a perfect case for kmem_cache.

Signed-off-by: Nikolay Aleksandrov &lt;nikolay@redhat.com&gt;
Acked-by: Florian Westphal &lt;fw@strlen.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use kmem_cache to allocate/free inet_frag_queue objects since they're
all the same size per inet_frags user and are alloced/freed in high volumes
thus making it a perfect case for kmem_cache.

Signed-off-by: Nikolay Aleksandrov &lt;nikolay@redhat.com&gt;
Acked-by: Florian Westphal &lt;fw@strlen.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
