From: Eric Dumazet Date: Tue, 24 May 2011 17:29:50 +0000 (-0400) Subject: net: fix __dst_destroy_metrics_generic() X-Git-Tag: v2.6.39.1~101 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=88bb492456d6ba8c860060d08fc1370a8ce979b0;p=karo-tx-linux.git net: fix __dst_destroy_metrics_generic() [ Upstream commit b30c516f875004f025f4d10147bde28c5e98466b ] dst_default_metrics is readonly, we dont want to kfree() it later. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/core/dst.c b/net/core/dst.c index 91104d35de7d..b71b7a30fd73 100644 --- a/net/core/dst.c +++ b/net/core/dst.c @@ -314,7 +314,7 @@ void __dst_destroy_metrics_generic(struct dst_entry *dst, unsigned long old) { unsigned long prev, new; - new = (unsigned long) dst_default_metrics; + new = ((unsigned long) dst_default_metrics) | DST_METRICS_READ_ONLY; prev = cmpxchg(&dst->_metrics, old, new); if (prev == old) kfree(__DST_METRICS_PTR(old));