projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
ipv4: Don't do expensive useless work during inetdev destroy.
[firefly-linux-kernel-4.4.55.git]
/
net
/
ipv4
/
devinet.c
diff --git
a/net/ipv4/devinet.c
b/net/ipv4/devinet.c
index f6303b17546b3535d035b7f662cf43e2b2d59280..0212591b00775f9210596369b2b5a9408f5ee205 100644
(file)
--- a/
net/ipv4/devinet.c
+++ b/
net/ipv4/devinet.c
@@
-334,6
+334,9
@@
static void __inet_del_ifa(struct in_device *in_dev, struct in_ifaddr **ifap,
ASSERT_RTNL();
+ if (in_dev->dead)
+ goto no_promotions;
+
/* 1. Deleting primary ifaddr forces deletion all secondaries
* unless alias promotion is set
**/
@@
-380,6
+383,7
@@
static void __inet_del_ifa(struct in_device *in_dev, struct in_ifaddr **ifap,
fib_del_ifaddr(ifa, ifa1);
}
+no_promotions:
/* 2. Unlink it */
*ifap = ifa1->ifa_next;