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

Reply via email to