Re: [PATCH] net: Avoid calling WARN_ON() on -ENOMEM in __dev_change_net_namespace()
From: Breno Leitao <leitao@debian.org>
Date: 2025-03-28 13:25:15
Also in:
lkml
From: Breno Leitao <leitao@debian.org>
Date: 2025-03-28 13:25:15
Also in:
lkml
Hello Ivan, On Fri, Mar 28, 2025 at 04:12:57AM +0300, Ivan Abramov wrote:
It's pointless to call WARN_ON() in case of an allocation failure in device_rename(), since it only leads to useless splats caused by deliberate fault injections, so avoid it. Found by Linux Verification Center (linuxtesting.org) with Syzkaller. Fixes: 8b41d1887db7 ("[NET]: Fix running without sysfs") Signed-off-by: Ivan Abramov <redacted> --- net/core/dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/net/core/dev.c b/net/core/dev.c index 2f7f5fd9ffec..14726cc8796b 100644 --- a/net/core/dev.c +++ b/net/core/dev.c@@ -12102,7 +12102,7 @@ int __dev_change_net_namespace(struct net_device *dev, struct net *net, dev_set_uevent_suppress(&dev->dev, 1); err = device_rename(&dev->dev, dev->name); dev_set_uevent_suppress(&dev->dev, 0); - WARN_ON(err); + WARN_ON(err && err != -ENOMEM);
I am curious if we shouldn't skip the rest of that function if device_rename failed. Something as: if (WARN_ON(err && err != -ENOMEM)) goto out;