Thread (4 messages) flat view 4 messages, 3 authors, 2011-03-23

Re: 2.6.39-rc: WARNING: at __ip_select_ident+0xd3/0xf0()

From: Alexander Beregalov <hidden>
Date: 2011-03-23 11:22:14
Also in: lkml

Thanks Alexander for this bug report.

Here is a patch to fix this issue (and other crash you mentioned in next
mail)
Hi Eric,
Thank you for the fix, have not it checked however.

I did not know that the second problem
(https://lkml.org/lkml/2011/3/23/38) had the same reason.
I did not notice inetpeer_free_rcu() in its calltrace.

Thanks for that.
quoted hunk ↗ jump to hunk
[PATCH] ipv4: fix ip_rt_update_pmtu()

commit 2c8cec5c10bc (Cache learned PMTU information in inetpeer) added
an extra inet_putpeer() call in ip_rt_update_pmtu().

This results in various problems, since we can free one inetpeer, while
it is still in use.

Ref: http://www.spinics.net/lists/netdev/msg159121.html

Reported-by: Alexander Beregalov <redacted>
Signed-off-by: Eric Dumazet <redacted>
---
 net/ipv4/route.c |    2 --
 1 file changed, 2 deletions(-)
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 870b518..34921b0 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1593,8 +1593,6 @@ static void ip_rt_update_pmtu(struct dst_entry *dst, u32 mtu)
                       rt->rt_peer_genid = rt_peer_genid();
               }
               check_peer_pmtu(dst, peer);
-
-               inet_putpeer(peer);
       }
 }


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help