<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/net/inetpeer.h, branch v3.10.47</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.10.47</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.10.47'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2014-06-26T19:12:38+00:00</updated>
<entry>
<title>net: fix inet_getid() and ipv6_select_ident() bugs</title>
<updated>2014-06-26T19:12:38+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2014-05-29T15:45:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=25bc3126ccbe553b5cc293ca9c77d44bb40ff62d'/>
<id>urn:sha1:25bc3126ccbe553b5cc293ca9c77d44bb40ff62d</id>
<content type='text'>
[ Upstream commit 39c36094d78c39e038c1e499b2364e13bce36f54 ]

I noticed we were sending wrong IPv4 ID in TCP flows when MTU discovery
is disabled.
Note how GSO/TSO packets do not have monotonically incrementing ID.

06:37:41.575531 IP (id 14227, proto: TCP (6), length: 4396)
06:37:41.575534 IP (id 14272, proto: TCP (6), length: 65212)
06:37:41.575544 IP (id 14312, proto: TCP (6), length: 57972)
06:37:41.575678 IP (id 14317, proto: TCP (6), length: 7292)
06:37:41.575683 IP (id 14361, proto: TCP (6), length: 63764)

It appears I introduced this bug in linux-3.1.

inet_getid() must return the old value of peer-&gt;ip_id_count,
not the new one.

Lets revert this part, and remove the prevention of
a null identification field in IPv6 Fragment Extension Header,
which is dubious and not even done properly.

Fixes: 87c48fa3b463 ("ipv6: make fragment identifications less predictable")
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: Maintain redirect and PMTU info in struct rtable again.</title>
<updated>2012-07-11T05:40:14+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-07-10T13:58:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5943634fc5592037db0693b261f7f4bea6bb9457'/>
<id>urn:sha1:5943634fc5592037db0693b261f7f4bea6bb9457</id>
<content type='text'>
Maintaining this in the inetpeer entries was not the right way to do
this at all.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tcp: Move timestamps from inetpeer to metrics cache.</title>
<updated>2012-07-11T05:40:08+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-07-10T10:14:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=81166dd6fa8eb780b2132d32fbc77eb6ac04e44e'/>
<id>urn:sha1:81166dd6fa8eb780b2132d32fbc77eb6ac04e44e</id>
<content type='text'>
With help from Lin Ming.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>inet: Avoid potential NULL peer dereference.</title>
<updated>2012-06-11T11:13:57+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-06-11T11:13:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7b34ca2ac7063f4ebf07f85fd75253ed84d5c648'/>
<id>urn:sha1:7b34ca2ac7063f4ebf07f85fd75253ed84d5c648</id>
<content type='text'>
We handle NULL in rt{,6}_set_peer but then our caller will try to pass
that NULL pointer into inet_putpeer() which isn't ready for it.

Fix this by moving the NULL check one level up, and then remove the
now unnecessary NULL check from inetpeer_ptr_set_peer().

Reported-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>inet: Add family scope inetpeer flushes.</title>
<updated>2012-06-11T09:09:10+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-06-10T07:24:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b48c80ece973e9eddb042f6685b482b261ff0d47'/>
<id>urn:sha1:b48c80ece973e9eddb042f6685b482b261ff0d47</id>
<content type='text'>
This implementation can deal with having many inetpeer roots, which is
a necessary prerequisite for per-FIB table rooted peer tables.

Each family (AF_INET, AF_INET6) has a sequence number which we bump
when we get a family invalidation request.

Each peer lookup cheaply checks whether the flush sequence of the
root we are using is out of date, and if so flushes it and updates
the sequence number.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>inet: Hide route peer accesses behind helpers.</title>
<updated>2012-06-11T09:08:47+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-06-10T05:36:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=97bab73f987e2781129cd6f4b6379bf44d808cc6'/>
<id>urn:sha1:97bab73f987e2781129cd6f4b6379bf44d808cc6</id>
<content type='text'>
We encode the pointer(s) into an unsigned long with one state bit.

The state bit is used so we can store the inetpeer tree root to use
when resolving the peer later.

Later the peer roots will be per-FIB table, and this change works to
facilitate that.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>inet: Pass inetpeer root into inet_getpeer*() interfaces.</title>
<updated>2012-06-10T02:12:36+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-06-10T02:12:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c0efc887dcadbdbfe171f028acfab9c7c00e9dde'/>
<id>urn:sha1:c0efc887dcadbdbfe171f028acfab9c7c00e9dde</id>
<content type='text'>
Otherwise we reference potentially non-existing members when
ipv6 is disabled.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>inet: Consolidate inetpeer_invalidate_tree() interfaces.</title>
<updated>2012-06-09T23:32:41+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-06-09T23:32:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=56a6b248eb345c1948ee60bf426de1ff7dd81509'/>
<id>urn:sha1:56a6b248eb345c1948ee60bf426de1ff7dd81509</id>
<content type='text'>
We only need one interface for this operation, since we always know
which inetpeer root we want to flush.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>inet: Initialize per-netns inetpeer roots in net/ipv{4,6}/route.c</title>
<updated>2012-06-09T23:27:05+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-06-09T23:27:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c3426b47190d7c6785230c91a706fd42208b4120'/>
<id>urn:sha1:c3426b47190d7c6785230c91a706fd42208b4120</id>
<content type='text'>
Instead of net/ipv4/inetpeer.c

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>inetpeer: add parameter net for inet_getpeer_v4,v6</title>
<updated>2012-06-08T21:27:23+00:00</updated>
<author>
<name>Gao feng</name>
<email>gaofeng@cn.fujitsu.com</email>
</author>
<published>2012-06-08T01:21:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=54db0cc2ba0d38166acc2d6bae21721405305537'/>
<id>urn:sha1:54db0cc2ba0d38166acc2d6bae21721405305537</id>
<content type='text'>
add struct net as a parameter of inet_getpeer_v[4,6],
use net to replace &amp;init_net.

and modify some places to provide net for inet_getpeer_v[4,6]

Signed-off-by: Gao feng &lt;gaofeng@cn.fujitsu.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
