[systemd-devel] failed assertion in systemd-networkd

Dave Reisner d at falconindy.com
Sat Dec 6 11:10:21 PST 2014


On Sat, Dec 06, 2014 at 01:46:23PM -0500, Dave Reisner wrote:
> Hi,
> 
> With the latest pull from git, I'm seeing a failed assertion in
> systemd-networkd:
> 
> Assertion 's' failed at src/shared/util.c:413, function safe_atou8().  Aborting.
> 
> The problematic .network file is simply:
> 
>   [Match]
>   Name=eth0
> 
>   [Network]
>   DHCP=v4
> 
> The backtrace points here:
> 
> http://cgit.freedesktop.org/systemd/systemd/tree/src/network/networkd-network.c#n233
> 
> Where I suppose that:
> 
>   udev_device_get_sysattr_value(device, "name_assign_type");
> 
> is returning NULL. The file exists, but any attempts to read it results
> in a 0 byte read and an EINVAL errno. Removing the [Match] section from
> the .network file avoids the failed assertion.
> 
> Is this a kernel bug? Shouldn't this file be returning one of the enums
> values like NET_NAME_PREDICTABLE or NET_NAME_USER? This holds true on
> both a VM (using the virtio-net module), and also on my desktop (using
> the sky2 module).

Ah, I see:

https://github.com/torvalds/linux/blob/master/net/core/net-sysfs.c#L120

If dev->name_assign_type == NET_NAME_UNKNOWN, reading name_assign_type
errors with -EINVAL. Tom, why is this intentionally hidden from
userspace?

https://github.com/torvalds/linux/blob/master/include/uapi/linux/netdevice.h#L41

dR


More information about the systemd-devel mailing list