|
@@ -904,7 +904,11 @@ void fib_del_ifaddr(struct in_ifaddr *ifa, struct in_ifaddr *iprim)
|
|
|
if (ifa->ifa_flags & IFA_F_SECONDARY) {
|
|
|
prim = inet_ifa_byprefix(in_dev, any, ifa->ifa_mask);
|
|
|
if (!prim) {
|
|
|
- pr_warn("%s: bug: prim == NULL\n", __func__);
|
|
|
+ /* if the device has been deleted, we don't perform
|
|
|
+ * address promotion
|
|
|
+ */
|
|
|
+ if (!in_dev->dead)
|
|
|
+ pr_warn("%s: bug: prim == NULL\n", __func__);
|
|
|
return;
|
|
|
}
|
|
|
if (iprim && iprim != prim) {
|