ipv4: detection of bootable network devices is broken in IP-Config

From: Steven Caron
Date: Mon Sep 18 2017 - 10:49:13 EST


The procedure below from ipconfig.c assumes that "?" updates user_dev_name[0].
I think that falls under undefined use of the result as an lvalue.

It works when I explicitly assign the result of the operation back to user_dev_name[0].


static bool __init ic_is_init_dev(struct net_device *dev)
{
if (dev->flags & IFF_LOOPBACK)
return false;
return user_dev_name[0] ? !strcmp(dev->name, user_dev_name) :
(!(dev->flags & IFF_LOOPBACK) &&
(dev->flags & (IFF_POINTOPOINT|IFF_BROADCAST)) &&
strncmp(dev->name, "dummy", 5));
}

Regards,

I guess booting from network is uncommon these days.

-Steven