From b613c10dc225f0adf59d20dddbb2ac07e99ded77 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 1 Apr 2021 18:49:36 +0200 Subject: [PATCH] Revert "can: dev: Move device back to init netns on owning netns delete" This reverts commit f866d1fa48e40af651d9c78b7f3c5a9a6ccf1815 which is commit 3a5ca857079ea022e0b1b17fc154f7ad7dbc150f upstream. It breaks the networking api and we do not care about CAN devices in Android systems at this point in time. Bug: 161946584 Signed-off-by: Greg Kroah-Hartman Change-Id: I5d5de8fccb077249478b7d1e136f91d6be0b20cd --- drivers/net/can/dev.c | 1 - include/net/rtnetlink.h | 2 -- net/core/dev.c | 2 +- 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c index 1e0c1a05df82..2ae9feb99a07 100644 --- a/drivers/net/can/dev.c +++ b/drivers/net/can/dev.c @@ -1226,7 +1226,6 @@ static void can_dellink(struct net_device *dev, struct list_head *head) static struct rtnl_link_ops can_link_ops __read_mostly = { .kind = "can", - .netns_refund = true, .maxtype = IFLA_CAN_MAX, .policy = can_policy, .setup = can_setup, diff --git a/include/net/rtnetlink.h b/include/net/rtnetlink.h index 4da61c950e93..e2091bb2b3a8 100644 --- a/include/net/rtnetlink.h +++ b/include/net/rtnetlink.h @@ -33,7 +33,6 @@ static inline int rtnl_msg_family(const struct nlmsghdr *nlh) * * @list: Used internally * @kind: Identifier - * @netns_refund: Physical device, move to init_net on netns exit * @maxtype: Highest device specific netlink attribute number * @policy: Netlink policy for device specific attribute validation * @validate: Optional validation function for netlink/changelink parameters @@ -65,7 +64,6 @@ struct rtnl_link_ops { size_t priv_size; void (*setup)(struct net_device *dev); - bool netns_refund; unsigned int maxtype; const struct nla_policy *policy; int (*validate)(struct nlattr *tb[], diff --git a/net/core/dev.c b/net/core/dev.c index 93e4abf32784..128763a06937 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -10128,7 +10128,7 @@ static void __net_exit default_device_exit(struct net *net) continue; /* Leave virtual devices for the generic cleanup */ - if (dev->rtnl_link_ops && !dev->rtnl_link_ops->netns_refund) + if (dev->rtnl_link_ops) continue; /* Push remaining network devices to init_net */