diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2011-03-23 15:18:15 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-03-23 15:18:15 -0400 |
commit | eb49a97363f020c1d7eef8bcd93865726b1fa11d (patch) | |
tree | c6012d720a51e20fd2b27c45cbe68788652078d1 | |
parent | 406b6f974dae76a5b795d5c251d11c979a4e509b (diff) |
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 <a.beregalov@gmail.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/ipv4/route.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 870b5182ddd8..34921b0d3f8e 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) | |||
1593 | rt->rt_peer_genid = rt_peer_genid(); | 1593 | rt->rt_peer_genid = rt_peer_genid(); |
1594 | } | 1594 | } |
1595 | check_peer_pmtu(dst, peer); | 1595 | check_peer_pmtu(dst, peer); |
1596 | |||
1597 | inet_putpeer(peer); | ||
1598 | } | 1596 | } |
1599 | } | 1597 | } |
1600 | 1598 | ||