<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net/ipv4, branch v3.9</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/net/ipv4?h=v3.9</id>
<link rel='self' href='https://git.amat.us/linux/atom/net/ipv4?h=v3.9'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-04-19T18:24:47Z</updated>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf</title>
<updated>2013-04-19T18:24:47Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2013-04-19T18:24:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fd7fc253289c419615c1c8bbe418598019567392'/>
<id>urn:sha1:fd7fc253289c419615c1c8bbe418598019567392</id>
<content type='text'>
Pablo Neira Ayuso says:

====================
If time allows, please consider pulling the following patchset contains two
late Netfilter fixes, they are:

* Skip broadcast/multicast locally generated traffic in the rpfilter,
  (closes netfilter bugzilla #814), from Florian Westphal.

* Fix missing elements in the listing of ipset bitmap ip,mac set
  type with timeout support enabled, from Jozsef Kadlecsik.
====================

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tcp: call tcp_replace_ts_recent() from tcp_ack()</title>
<updated>2013-04-19T18:21:53Z</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2013-04-19T07:19:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=12fb3dd9dc3c64ba7d64cec977cca9b5fb7b1d4e'/>
<id>urn:sha1:12fb3dd9dc3c64ba7d64cec977cca9b5fb7b1d4e</id>
<content type='text'>
commit bd090dfc634d (tcp: tcp_replace_ts_recent() should not be called
from tcp_validate_incoming()) introduced a TS ecr bug in slow path
processing.

1 A &gt; B P. 1:10001(10000) ack 1 &lt;nop,nop,TS val 1001 ecr 200&gt;
2 B &lt; A . 1:1(0) ack 1 win 257 &lt;sack 9001:10001,TS val 300 ecr 1001&gt;
3 A &gt; B . 1:1001(1000) ack 1 win 227 &lt;nop,nop,TS val 1002 ecr 200&gt;
4 A &gt; B . 1001:2001(1000) ack 1 win 227 &lt;nop,nop,TS val 1002 ecr 200&gt;

(ecr 200 should be ecr 300 in packets 3 &amp; 4)

Problem is tcp_ack() can trigger send of new packets (retransmits),
reflecting the prior TSval, instead of the TSval contained in the
currently processed incoming packet.

Fix this by calling tcp_replace_ts_recent() from tcp_ack() after the
checks, but before the actions.

Reported-by: Yuchung Cheng &lt;ycheng@google.com&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Neal Cardwell &lt;ncardwell@google.com&gt;
Acked-by: Neal Cardwell &lt;ncardwell@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netfilter: xt_rpfilter: skip locally generated broadcast/multicast, too</title>
<updated>2013-04-18T22:11:59Z</updated>
<author>
<name>Florian Westphal</name>
<email>fw@strlen.de</email>
</author>
<published>2013-04-17T22:45:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f83a7ea2075ca896f2dbf07672bac9cf3682ff74'/>
<id>urn:sha1:f83a7ea2075ca896f2dbf07672bac9cf3682ff74</id>
<content type='text'>
Alex Efros reported rpfilter module doesn't match following packets:
IN=br.qemu SRC=192.168.2.1 DST=192.168.2.255 [ .. ]
(netfilter bugzilla #814).

Problem is that network stack arranges for the locally generated broadcasts
to appear on the interface they were sent out, so the IFF_LOOPBACK check
doesn't trigger.

As -m rpfilter is restricted to PREROUTING, we can check for existing
rtable instead, it catches locally-generated broad/multicast case, too.

Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</content>
</entry>
<entry>
<title>net: drop dst before queueing fragments</title>
<updated>2013-04-17T05:15:29Z</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2013-04-16T12:55:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=97599dc792b45b1669c3cdb9a4b365aad0232f65'/>
<id>urn:sha1:97599dc792b45b1669c3cdb9a4b365aad0232f65</id>
<content type='text'>
Commit 4a94445c9a5c (net: Use ip_route_input_noref() in input path)
added a bug in IP defragmentation handling, as non refcounted
dst could escape an RCU protected section.

Commit 64f3b9e203bd068 (net: ip_expire() must revalidate route) fixed
the case of timeouts, but not the general problem.

Tom Parkin noticed crashes in UDP stack and provided a patch,
but further analysis permitted us to pinpoint the root cause.

Before queueing a packet into a frag list, we must drop its dst,
as this dst has limited lifetime (RCU protected)

When/if a packet is finally reassembled, we use the dst of the very
last skb, still protected by RCU and valid, as the dst of the
reassembled packet.

Use same logic in IPv6, as there is no need to hold dst references.

Reported-by: Tom Parkin &lt;tparkin@katalix.com&gt;
Tested-by: Tom Parkin &lt;tparkin@katalix.com&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>esp4: fix error return code in esp_output()</title>
<updated>2013-04-15T18:05:34Z</updated>
<author>
<name>Wei Yongjun</name>
<email>yongjun_wei@trendmicro.com.cn</email>
</author>
<published>2013-04-13T15:49:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=06848c10f720cbc20e3b784c0df24930b7304b93'/>
<id>urn:sha1:06848c10f720cbc20e3b784c0df24930b7304b93</id>
<content type='text'>
Fix to return a negative error code from the error handling
case instead of 0, as returned elsewhere in this function.

Signed-off-by: Wei Yongjun &lt;yongjun_wei@trendmicro.com.cn&gt;
Acked-by: Steffen Klassert &lt;steffen.klassert@secunet.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tcp: Reallocate headroom if it would overflow csum_start</title>
<updated>2013-04-11T22:12:41Z</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2013-04-11T10:57:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=50bceae9bd3569d56744882f3012734d48a1d413'/>
<id>urn:sha1:50bceae9bd3569d56744882f3012734d48a1d413</id>
<content type='text'>
If a TCP retransmission gets partially ACKed and collapsed multiple
times it is possible for the headroom to grow beyond 64K which will
overflow the 16bit skb-&gt;csum_start which is based on the start of
the headroom. It has been observed rarely in the wild with IPoIB due
to the 64K MTU.

Verify if the acking and collapsing resulted in a headroom exceeding
what csum_start can cover and reallocate the headroom if so.

A big thank you to Jim Foraker &lt;foraker1@llnl.gov&gt; and the team at
LLNL for helping out with the investigation and testing.

Reported-by: Jim Foraker &lt;foraker1@llnl.gov&gt;
Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&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>tcp: incoming connections might use wrong route under synflood</title>
<updated>2013-04-11T20:01:46Z</updated>
<author>
<name>Dmitry Popov</name>
<email>dp@highloadlab.com</email>
</author>
<published>2013-04-11T08:55:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d66954a066158781ccf9c13c91d0316970fe57b6'/>
<id>urn:sha1:d66954a066158781ccf9c13c91d0316970fe57b6</id>
<content type='text'>
There is a bug in cookie_v4_check (net/ipv4/syncookies.c):
	flowi4_init_output(&amp;fl4, 0, sk-&gt;sk_mark, RT_CONN_FLAGS(sk),
			   RT_SCOPE_UNIVERSE, IPPROTO_TCP,
			   inet_sk_flowi_flags(sk),
			   (opt &amp;&amp; opt-&gt;srr) ? opt-&gt;faddr : ireq-&gt;rmt_addr,
			   ireq-&gt;loc_addr, th-&gt;source, th-&gt;dest);

Here we do not respect sk-&gt;sk_bound_dev_if, therefore wrong dst_entry may be
taken. This dst_entry is used by new socket (get_cookie_sock -&gt;
tcp_v4_syn_recv_sock), so its packets may take the wrong path.

Signed-off-by: Dmitry Popov &lt;dp@highloadlab.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>selinux: add a skb_owned_by() hook</title>
<updated>2013-04-09T17:23:11Z</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2013-04-08T17:58:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ca10b9e9a8ca7342ee07065289cbe74ac128c169'/>
<id>urn:sha1:ca10b9e9a8ca7342ee07065289cbe74ac128c169</id>
<content type='text'>
Commit 90ba9b1986b5ac (tcp: tcp_make_synack() can use alloc_skb())
broke certain SELinux/NetLabel configurations by no longer correctly
assigning the sock to the outgoing SYNACK packet.

Cost of atomic operations on the LISTEN socket is quite big,
and we would like it to happen only if really needed.

This patch introduces a new security_ops-&gt;skb_owned_by() method,
that is a void operation unless selinux is active.

Reported-by: Miroslav Vadkerti &lt;mvadkert@redhat.com&gt;
Diagnosed-by: Paul Moore &lt;pmoore@redhat.com&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: linux-security-module@vger.kernel.org
Acked-by: James Morris &lt;james.l.morris@oracle.com&gt;
Tested-by: Paul Moore &lt;pmoore@redhat.com&gt;
Acked-by: Paul Moore &lt;pmoore@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ipv4: fix schedule while atomic bug in check_lifetime()</title>
<updated>2013-04-08T16:04:51Z</updated>
<author>
<name>Jiri Pirko</name>
<email>jiri@resnulli.us</email>
</author>
<published>2013-04-04T23:39:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c988d1e8cbf722e34ee6124b8b89d47fec655b51'/>
<id>urn:sha1:c988d1e8cbf722e34ee6124b8b89d47fec655b51</id>
<content type='text'>
move might_sleep operations out of the rcu_read_lock() section.
Also fix iterating over ifa_dev-&gt;ifa_list

Introduced by: commit 5c766d642bcaf "ipv4: introduce address lifetime"

Signed-off-by: Jiri Pirko &lt;jiri@resnulli.us&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ipv4: reset check_lifetime_work after changing lifetime</title>
<updated>2013-04-08T16:04:51Z</updated>
<author>
<name>Jiri Pirko</name>
<email>jiri@resnulli.us</email>
</author>
<published>2013-04-04T23:39:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=05a324b9c50c3edbe0ce48ee3e37b210859ef1ae'/>
<id>urn:sha1:05a324b9c50c3edbe0ce48ee3e37b210859ef1ae</id>
<content type='text'>
This will result in calling check_lifetime in nearest opportunity and
that function will adjust next time to call check_lifetime correctly.
Without this, check_lifetime is called in time computed by previous run,
not affecting modified lifetime.

Introduced by: commit 5c766d642bcaf "ipv4: introduce address lifetime"

Signed-off-by: Jiri Pirko &lt;jiri@resnulli.us&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
