[PATCH] vlan: Avoid crashing the kernel

From: 13145886936
Date: Sun Jun 06 2021 - 23:09:05 EST


From: gushengxian <gushengxian@xxxxxxxxxx>

Avoid crashing the kernel, try using WARN_ON & recovery code
rather than BUG() or BUG_ON().

Signed-off-by: gushengxian <gushengxian@xxxxxxxxxx>
---
net/8021q/vlan.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
index 4cdf8416869d..6e784fd8795b 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -97,7 +97,7 @@ void unregister_vlan_dev(struct net_device *dev, struct list_head *head)
ASSERT_RTNL();

vlan_info = rtnl_dereference(real_dev->vlan_info);
- BUG_ON(!vlan_info);
+ WARN_ON(!vlan_info);

grp = &vlan_info->grp;

@@ -163,7 +163,7 @@ int register_vlan_dev(struct net_device *dev, struct netlink_ext_ack *extack)

vlan_info = rtnl_dereference(real_dev->vlan_info);
/* vlan_info should be there now. vlan_vid_add took care of it */
- BUG_ON(!vlan_info);
+ WARN_ON(!vlan_info);

grp = &vlan_info->grp;
if (grp->nr_vlan_devs == 0) {
--
2.25.1