<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/net/ipv4, branch v3.2.5</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>tcp: md5: using remote adress for md5 lookup in rst packet</title>
<updated>2012-02-03T17:22:21+00:00</updated>
<author>
<name>shawnlu</name>
<email>shawn.lu@ericsson.com</email>
</author>
<published>2012-01-20T12:22:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=377db2f8fbae8c64ba6d6844528e6b2a10871565'/>
<id>377db2f8fbae8c64ba6d6844528e6b2a10871565</id>
<content type='text'>
[ Upstream commit 8a622e71f58ec9f092fc99eacae0e6cf14f6e742 ]

md5 key is added in socket through remote address.
remote address should be used in finding md5 key when
sending out reset packet.

Signed-off-by: shawnlu &lt;shawn.lu@ericsson.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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 8a622e71f58ec9f092fc99eacae0e6cf14f6e742 ]

md5 key is added in socket through remote address.
remote address should be used in finding md5 key when
sending out reset packet.

Signed-off-by: shawnlu &lt;shawn.lu@ericsson.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tcp: fix tcp_trim_head() to adjust segment count with skb MSS</title>
<updated>2012-02-03T17:22:21+00:00</updated>
<author>
<name>Neal Cardwell</name>
<email>ncardwell@google.com</email>
</author>
<published>2012-01-28T17:29:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bcabae7b186ccb1e7f8af0df9752c0f6e6b6d83a'/>
<id>bcabae7b186ccb1e7f8af0df9752c0f6e6b6d83a</id>
<content type='text'>
[ Upstream commit 5b35e1e6e9ca651e6b291c96d1106043c9af314a ]

This commit fixes tcp_trim_head() to recalculate the number of
segments in the skb with the skb's existing MSS, so trimming the head
causes the skb segment count to be monotonically non-increasing - it
should stay the same or go down, but not increase.

Previously tcp_trim_head() used the current MSS of the connection. But
if there was a decrease in MSS between original transmission and ACK
(e.g. due to PMTUD), this could cause tcp_trim_head() to
counter-intuitively increase the segment count when trimming bytes off
the head of an skb. This violated assumptions in tcp_tso_acked() that
tcp_trim_head() only decreases the packet count, so that packets_acked
in tcp_tso_acked() could underflow, leading tcp_clean_rtx_queue() to
pass u32 pkts_acked values as large as 0xffffffff to
ca_ops-&gt;pkts_acked().

As an aside, if tcp_trim_head() had really wanted the skb to reflect
the current MSS, it should have called tcp_set_skb_tso_segs()
unconditionally, since a decrease in MSS would mean that a
single-packet skb should now be sliced into multiple segments.

Signed-off-by: Neal Cardwell &lt;ncardwell@google.com&gt;
Acked-by: Nandita Dukkipati &lt;nanditad@google.com&gt;
Acked-by: Ilpo Järvinen &lt;ilpo.jarvinen@helsinki.fi&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 5b35e1e6e9ca651e6b291c96d1106043c9af314a ]

This commit fixes tcp_trim_head() to recalculate the number of
segments in the skb with the skb's existing MSS, so trimming the head
causes the skb segment count to be monotonically non-increasing - it
should stay the same or go down, but not increase.

Previously tcp_trim_head() used the current MSS of the connection. But
if there was a decrease in MSS between original transmission and ACK
(e.g. due to PMTUD), this could cause tcp_trim_head() to
counter-intuitively increase the segment count when trimming bytes off
the head of an skb. This violated assumptions in tcp_tso_acked() that
tcp_trim_head() only decreases the packet count, so that packets_acked
in tcp_tso_acked() could underflow, leading tcp_clean_rtx_queue() to
pass u32 pkts_acked values as large as 0xffffffff to
ca_ops-&gt;pkts_acked().

As an aside, if tcp_trim_head() had really wanted the skb to reflect
the current MSS, it should have called tcp_set_skb_tso_segs()
unconditionally, since a decrease in MSS would mean that a
single-packet skb should now be sliced into multiple segments.

Signed-off-by: Neal Cardwell &lt;ncardwell@google.com&gt;
Acked-by: Nandita Dukkipati &lt;nanditad@google.com&gt;
Acked-by: Ilpo Järvinen &lt;ilpo.jarvinen@helsinki.fi&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: reintroduce missing rcu_assign_pointer() calls</title>
<updated>2012-02-03T17:22:20+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2012-01-12T04:41:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4704f3edfdd3cc5918932577373c0dc165d52959'/>
<id>4704f3edfdd3cc5918932577373c0dc165d52959</id>
<content type='text'>
[ Upstream commit cf778b00e96df6d64f8e21b8395d1f8a859ecdc7 ]

commit a9b3cd7f32 (rcu: convert uses of rcu_assign_pointer(x, NULL) to
RCU_INIT_POINTER) did a lot of incorrect changes, since it did a
complete conversion of rcu_assign_pointer(x, y) to RCU_INIT_POINTER(x,
y).

We miss needed barriers, even on x86, when y is not NULL.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
CC: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
CC: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit cf778b00e96df6d64f8e21b8395d1f8a859ecdc7 ]

commit a9b3cd7f32 (rcu: convert uses of rcu_assign_pointer(x, NULL) to
RCU_INIT_POINTER) did a lot of incorrect changes, since it did a
complete conversion of rcu_assign_pointer(x, y) to RCU_INIT_POINTER(x,
y).

We miss needed barriers, even on x86, when y is not NULL.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
CC: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
CC: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>igmp: Avoid zero delay when receiving odd mixture of IGMP queries</title>
<updated>2012-01-12T19:29:44+00:00</updated>
<author>
<name>Ben Hutchings</name>
<email>ben@decadent.org.uk</email>
</author>
<published>2012-01-09T22:06:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=25c413ad0029ea86008234be28aee33456e53e5b'/>
<id>25c413ad0029ea86008234be28aee33456e53e5b</id>
<content type='text'>
commit a8c1f65c79cbbb2f7da782d4c9d15639a9b94b27 upstream.

Commit 5b7c84066733c5dfb0e4016d939757b38de189e4 ('ipv4: correct IGMP
behavior on v3 query during v2-compatibility mode') added yet another
case for query parsing, which can result in max_delay = 0.  Substitute
a value of 1, as in the usual v3 case.

Reported-by: Simon McVittie &lt;smcv@debian.org&gt;
References: http://bugs.debian.org/654876
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&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>
commit a8c1f65c79cbbb2f7da782d4c9d15639a9b94b27 upstream.

Commit 5b7c84066733c5dfb0e4016d939757b38de189e4 ('ipv4: correct IGMP
behavior on v3 query during v2-compatibility mode') added yet another
case for query parsing, which can result in max_delay = 0.  Substitute
a value of 1, as in the usual v3 case.

Reported-by: Simon McVittie &lt;smcv@debian.org&gt;
References: http://bugs.debian.org/654876
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>net: introduce DST_NOPEER dst flag</title>
<updated>2011-12-23T03:34:56+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2011-12-22T04:15:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e688a604807647c9450f9c12a7cb6d027150a895'/>
<id>e688a604807647c9450f9c12a7cb6d027150a895</id>
<content type='text'>
Chris Boot reported crashes occurring in ipv6_select_ident().

[  461.457562] RIP: 0010:[&lt;ffffffff812dde61&gt;]  [&lt;ffffffff812dde61&gt;]
ipv6_select_ident+0x31/0xa7

[  461.578229] Call Trace:
[  461.580742] &lt;IRQ&gt;
[  461.582870]  [&lt;ffffffff812efa7f&gt;] ? udp6_ufo_fragment+0x124/0x1a2
[  461.589054]  [&lt;ffffffff812dbfe0&gt;] ? ipv6_gso_segment+0xc0/0x155
[  461.595140]  [&lt;ffffffff812700c6&gt;] ? skb_gso_segment+0x208/0x28b
[  461.601198]  [&lt;ffffffffa03f236b&gt;] ? ipv6_confirm+0x146/0x15e
[nf_conntrack_ipv6]
[  461.608786]  [&lt;ffffffff81291c4d&gt;] ? nf_iterate+0x41/0x77
[  461.614227]  [&lt;ffffffff81271d64&gt;] ? dev_hard_start_xmit+0x357/0x543
[  461.620659]  [&lt;ffffffff81291cf6&gt;] ? nf_hook_slow+0x73/0x111
[  461.626440]  [&lt;ffffffffa0379745&gt;] ? br_parse_ip_options+0x19a/0x19a
[bridge]
[  461.633581]  [&lt;ffffffff812722ff&gt;] ? dev_queue_xmit+0x3af/0x459
[  461.639577]  [&lt;ffffffffa03747d2&gt;] ? br_dev_queue_push_xmit+0x72/0x76
[bridge]
[  461.646887]  [&lt;ffffffffa03791e3&gt;] ? br_nf_post_routing+0x17d/0x18f
[bridge]
[  461.653997]  [&lt;ffffffff81291c4d&gt;] ? nf_iterate+0x41/0x77
[  461.659473]  [&lt;ffffffffa0374760&gt;] ? br_flood+0xfa/0xfa [bridge]
[  461.665485]  [&lt;ffffffff81291cf6&gt;] ? nf_hook_slow+0x73/0x111
[  461.671234]  [&lt;ffffffffa0374760&gt;] ? br_flood+0xfa/0xfa [bridge]
[  461.677299]  [&lt;ffffffffa0379215&gt;] ?
nf_bridge_update_protocol+0x20/0x20 [bridge]
[  461.684891]  [&lt;ffffffffa03bb0e5&gt;] ? nf_ct_zone+0xa/0x17 [nf_conntrack]
[  461.691520]  [&lt;ffffffffa0374760&gt;] ? br_flood+0xfa/0xfa [bridge]
[  461.697572]  [&lt;ffffffffa0374812&gt;] ? NF_HOOK.constprop.8+0x3c/0x56
[bridge]
[  461.704616]  [&lt;ffffffffa0379031&gt;] ?
nf_bridge_push_encap_header+0x1c/0x26 [bridge]
[  461.712329]  [&lt;ffffffffa037929f&gt;] ? br_nf_forward_finish+0x8a/0x95
[bridge]
[  461.719490]  [&lt;ffffffffa037900a&gt;] ?
nf_bridge_pull_encap_header+0x1c/0x27 [bridge]
[  461.727223]  [&lt;ffffffffa0379974&gt;] ? br_nf_forward_ip+0x1c0/0x1d4 [bridge]
[  461.734292]  [&lt;ffffffff81291c4d&gt;] ? nf_iterate+0x41/0x77
[  461.739758]  [&lt;ffffffffa03748cc&gt;] ? __br_deliver+0xa0/0xa0 [bridge]
[  461.746203]  [&lt;ffffffff81291cf6&gt;] ? nf_hook_slow+0x73/0x111
[  461.751950]  [&lt;ffffffffa03748cc&gt;] ? __br_deliver+0xa0/0xa0 [bridge]
[  461.758378]  [&lt;ffffffffa037533a&gt;] ? NF_HOOK.constprop.4+0x56/0x56
[bridge]

This is caused by bridge netfilter special dst_entry (fake_rtable), a
special shared entry, where attaching an inetpeer makes no sense.

Problem is present since commit 87c48fa3b46 (ipv6: make fragment
identifications less predictable)

Introduce DST_NOPEER dst flag and make sure ipv6_select_ident() and
__ip_select_ident() fallback to the 'no peer attached' handling.

Reported-by: Chris Boot &lt;bootc@bootc.net&gt;
Tested-by: Chris Boot &lt;bootc@bootc.net&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.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>
Chris Boot reported crashes occurring in ipv6_select_ident().

[  461.457562] RIP: 0010:[&lt;ffffffff812dde61&gt;]  [&lt;ffffffff812dde61&gt;]
ipv6_select_ident+0x31/0xa7

[  461.578229] Call Trace:
[  461.580742] &lt;IRQ&gt;
[  461.582870]  [&lt;ffffffff812efa7f&gt;] ? udp6_ufo_fragment+0x124/0x1a2
[  461.589054]  [&lt;ffffffff812dbfe0&gt;] ? ipv6_gso_segment+0xc0/0x155
[  461.595140]  [&lt;ffffffff812700c6&gt;] ? skb_gso_segment+0x208/0x28b
[  461.601198]  [&lt;ffffffffa03f236b&gt;] ? ipv6_confirm+0x146/0x15e
[nf_conntrack_ipv6]
[  461.608786]  [&lt;ffffffff81291c4d&gt;] ? nf_iterate+0x41/0x77
[  461.614227]  [&lt;ffffffff81271d64&gt;] ? dev_hard_start_xmit+0x357/0x543
[  461.620659]  [&lt;ffffffff81291cf6&gt;] ? nf_hook_slow+0x73/0x111
[  461.626440]  [&lt;ffffffffa0379745&gt;] ? br_parse_ip_options+0x19a/0x19a
[bridge]
[  461.633581]  [&lt;ffffffff812722ff&gt;] ? dev_queue_xmit+0x3af/0x459
[  461.639577]  [&lt;ffffffffa03747d2&gt;] ? br_dev_queue_push_xmit+0x72/0x76
[bridge]
[  461.646887]  [&lt;ffffffffa03791e3&gt;] ? br_nf_post_routing+0x17d/0x18f
[bridge]
[  461.653997]  [&lt;ffffffff81291c4d&gt;] ? nf_iterate+0x41/0x77
[  461.659473]  [&lt;ffffffffa0374760&gt;] ? br_flood+0xfa/0xfa [bridge]
[  461.665485]  [&lt;ffffffff81291cf6&gt;] ? nf_hook_slow+0x73/0x111
[  461.671234]  [&lt;ffffffffa0374760&gt;] ? br_flood+0xfa/0xfa [bridge]
[  461.677299]  [&lt;ffffffffa0379215&gt;] ?
nf_bridge_update_protocol+0x20/0x20 [bridge]
[  461.684891]  [&lt;ffffffffa03bb0e5&gt;] ? nf_ct_zone+0xa/0x17 [nf_conntrack]
[  461.691520]  [&lt;ffffffffa0374760&gt;] ? br_flood+0xfa/0xfa [bridge]
[  461.697572]  [&lt;ffffffffa0374812&gt;] ? NF_HOOK.constprop.8+0x3c/0x56
[bridge]
[  461.704616]  [&lt;ffffffffa0379031&gt;] ?
nf_bridge_push_encap_header+0x1c/0x26 [bridge]
[  461.712329]  [&lt;ffffffffa037929f&gt;] ? br_nf_forward_finish+0x8a/0x95
[bridge]
[  461.719490]  [&lt;ffffffffa037900a&gt;] ?
nf_bridge_pull_encap_header+0x1c/0x27 [bridge]
[  461.727223]  [&lt;ffffffffa0379974&gt;] ? br_nf_forward_ip+0x1c0/0x1d4 [bridge]
[  461.734292]  [&lt;ffffffff81291c4d&gt;] ? nf_iterate+0x41/0x77
[  461.739758]  [&lt;ffffffffa03748cc&gt;] ? __br_deliver+0xa0/0xa0 [bridge]
[  461.746203]  [&lt;ffffffff81291cf6&gt;] ? nf_hook_slow+0x73/0x111
[  461.751950]  [&lt;ffffffffa03748cc&gt;] ? __br_deliver+0xa0/0xa0 [bridge]
[  461.758378]  [&lt;ffffffffa037533a&gt;] ? NF_HOOK.constprop.4+0x56/0x56
[bridge]

This is caused by bridge netfilter special dst_entry (fake_rtable), a
special shared entry, where attaching an inetpeer makes no sense.

Problem is present since commit 87c48fa3b46 (ipv6: make fragment
identifications less predictable)

Introduce DST_NOPEER dst flag and make sure ipv6_select_ident() and
__ip_select_ident() fallback to the 'no peer attached' handling.

Reported-by: Chris Boot &lt;bootc@bootc.net&gt;
Tested-by: Chris Boot &lt;bootc@bootc.net&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv4: using prefetch requires including prefetch.h</title>
<updated>2011-12-22T17:16:09+00:00</updated>
<author>
<name>Stephen Rothwell</name>
<email>sfr@canb.auug.org.au</email>
</author>
<published>2011-12-22T06:03:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b9eda06f80b0db61a73bd87c6b0eb67d8aca55ad'/>
<id>b9eda06f80b0db61a73bd87c6b0eb67d8aca55ad</id>
<content type='text'>
Signed-off-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Acked-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Acked-by: David Miller &lt;davem@davemloft.net&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>
Signed-off-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Acked-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Acked-by: David Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv4: reintroduce route cache garbage collector</title>
<updated>2011-12-21T20:47:16+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2011-12-21T20:47:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9f28a2fc0bd77511f649c0a788c7bf9a5fd04edb'/>
<id>9f28a2fc0bd77511f649c0a788c7bf9a5fd04edb</id>
<content type='text'>
Commit 2c8cec5c10b (ipv4: Cache learned PMTU information in inetpeer)
removed IP route cache garbage collector a bit too soon, as this gc was
responsible for expired routes cleanup, releasing their neighbour
reference.

As pointed out by Robert Gladewitz, recent kernels can fill and exhaust
their neighbour cache.

Reintroduce the garbage collection, since we'll have to wait our
neighbour lookups become refcount-less to not depend on this stuff.

Reported-by: Robert Gladewitz &lt;gladewitz@gmx.de&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.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>
Commit 2c8cec5c10b (ipv4: Cache learned PMTU information in inetpeer)
removed IP route cache garbage collector a bit too soon, as this gc was
responsible for expired routes cleanup, releasing their neighbour
reference.

As pointed out by Robert Gladewitz, recent kernels can fill and exhaust
their neighbour cache.

Reintroduce the garbage collection, since we'll have to wait our
neighbour lookups become refcount-less to not depend on this stuff.

Reported-by: Robert Gladewitz &lt;gladewitz@gmx.de&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: have ipconfig not wait if no dev is available</title>
<updated>2011-12-20T19:09:15+00:00</updated>
<author>
<name>Gerlando Falauto</name>
<email>gerlando.falauto@keymile.com</email>
</author>
<published>2011-12-19T22:58:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cd7816d14953c8af910af5bb92f488b0b277e29d'/>
<id>cd7816d14953c8af910af5bb92f488b0b277e29d</id>
<content type='text'>
previous commit 3fb72f1e6e6165c5f495e8dc11c5bbd14c73385c
makes IP-Config wait for carrier on at least one network device.

Before waiting (predefined value 120s), check that at least one device
was successfully brought up. Otherwise (e.g. buggy bootloader
which does not set the MAC address) there is no point in waiting
for carrier.

Cc: Micha Nelissen &lt;micha@neli.hopto.org&gt;
Cc: Holger Brunck &lt;holger.brunck@keymile.com&gt;
Signed-off-by: Gerlando Falauto &lt;gerlando.falauto@keymile.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>
previous commit 3fb72f1e6e6165c5f495e8dc11c5bbd14c73385c
makes IP-Config wait for carrier on at least one network device.

Before waiting (predefined value 120s), check that at least one device
was successfully brought up. Otherwise (e.g. buggy bootloader
which does not set the MAC address) there is no point in waiting
for carrier.

Cc: Micha Nelissen &lt;micha@neli.hopto.org&gt;
Cc: Holger Brunck &lt;holger.brunck@keymile.com&gt;
Signed-off-by: Gerlando Falauto &lt;gerlando.falauto@keymile.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipip, sit: copy parms.name after register_netdevice</title>
<updated>2011-12-12T23:50:51+00:00</updated>
<author>
<name>Ted Feng</name>
<email>artisdom@gmail.com</email>
</author>
<published>2011-12-08T00:46:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=72b36015ba43a3cca5303f5534d2c3e1899eae29'/>
<id>72b36015ba43a3cca5303f5534d2c3e1899eae29</id>
<content type='text'>
Same fix as 731abb9cb2 for ipip and sit tunnel.
Commit 1c5cae815d removed an explicit call to dev_alloc_name in
ipip_tunnel_locate and ipip6_tunnel_locate, because register_netdevice
will now create a valid name, however the tunnel keeps a copy of the
name in the private parms structure. Fix this by copying the name back
after register_netdevice has successfully returned.

This shows up if you do a simple tunnel add, followed by a tunnel show:

$ sudo ip tunnel add mode ipip remote 10.2.20.211
$ ip tunnel
tunl0: ip/ip  remote any  local any  ttl inherit  nopmtudisc
tunl%d: ip/ip  remote 10.2.20.211  local any  ttl inherit
$ sudo ip tunnel add mode sit remote 10.2.20.212
$ ip tunnel
sit0: ipv6/ip  remote any  local any  ttl 64  nopmtudisc 6rd-prefix 2002::/16
sit%d: ioctl 89f8 failed: No such device
sit%d: ipv6/ip  remote 10.2.20.212  local any  ttl inherit

Cc: stable@vger.kernel.org
Signed-off-by: Ted Feng &lt;artisdom@gmail.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>
Same fix as 731abb9cb2 for ipip and sit tunnel.
Commit 1c5cae815d removed an explicit call to dev_alloc_name in
ipip_tunnel_locate and ipip6_tunnel_locate, because register_netdevice
will now create a valid name, however the tunnel keeps a copy of the
name in the private parms structure. Fix this by copying the name back
after register_netdevice has successfully returned.

This shows up if you do a simple tunnel add, followed by a tunnel show:

$ sudo ip tunnel add mode ipip remote 10.2.20.211
$ ip tunnel
tunl0: ip/ip  remote any  local any  ttl inherit  nopmtudisc
tunl%d: ip/ip  remote 10.2.20.211  local any  ttl inherit
$ sudo ip tunnel add mode sit remote 10.2.20.212
$ ip tunnel
sit0: ipv6/ip  remote any  local any  ttl 64  nopmtudisc 6rd-prefix 2002::/16
sit%d: ioctl 89f8 failed: No such device
sit%d: ipv6/ip  remote 10.2.20.212  local any  ttl inherit

Cc: stable@vger.kernel.org
Signed-off-by: Ted Feng &lt;artisdom@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv4: Fix peer validation on cached lookup.</title>
<updated>2011-12-05T18:21:42+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-12-05T18:21:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=de398fb8b92eba3447298053a483727bdd5fe37e'/>
<id>de398fb8b92eba3447298053a483727bdd5fe37e</id>
<content type='text'>
If ipv4_valdiate_peer() fails during a cached entry lookup,
we'll NULL derer since the loop iterator assumes rth is not
NULL.

Letting this be handled as a failure is just bogus, so just make it
not fail.  If we have trouble getting a non-NULL neighbour for the
redirected gateway, just restore the original gateway and continue.

The very next use of this cached route will try again.

Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.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>
If ipv4_valdiate_peer() fails during a cached entry lookup,
we'll NULL derer since the loop iterator assumes rth is not
NULL.

Letting this be handled as a failure is just bogus, so just make it
not fail.  If we have trouble getting a non-NULL neighbour for the
redirected gateway, just restore the original gateway and continue.

The very next use of this cached route will try again.

Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
