diff options
-rw-r--r-- | net/ipv4/route.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 7864d0c48968..3888f6ba0a5c 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c | |||
@@ -2396,12 +2396,10 @@ static int __mkroute_output(struct rtable **result, | |||
2396 | 2396 | ||
2397 | 2397 | ||
2398 | rth = dst_alloc(&ipv4_dst_ops); | 2398 | rth = dst_alloc(&ipv4_dst_ops); |
2399 | if (!rth) { | 2399 | if (!rth) |
2400 | rcu_read_unlock(); | ||
2401 | return -ENOBUFS; | 2400 | return -ENOBUFS; |
2402 | } | 2401 | |
2403 | in_dev_hold(in_dev); | 2402 | in_dev_hold(in_dev); |
2404 | rcu_read_unlock(); | ||
2405 | rth->idev = in_dev; | 2403 | rth->idev = in_dev; |
2406 | 2404 | ||
2407 | atomic_set(&rth->dst.__refcnt, 1); | 2405 | atomic_set(&rth->dst.__refcnt, 1); |