diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 137f5fc3e7eb1ba77725a0bf4f33667be86795a3..670e6f3df5893adc1a68f9d5616ea1a837a01fe1 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -1469,7 +1469,7 @@ static bool rt_cache_route(struct fib_nh *nh, struct rtable *rt) prev = cmpxchg(p, orig, rt); if (prev == orig) { if (orig) { - dst_dev_put(&orig->dst); + rt_add_uncached_list(orig); dst_release(&orig->dst); } } else {