Peter Wullinger changed bug 909418
What Removed Added
Status RESOLVED REOPENED
CC   wullinger@rz.uni-kiel.de
Resolution FIXED ---

Comment # 45 on bug 909418 from
The implemented patch seems to cause an assertion fault, in particular I can
observe:

systemd[11505]: Assertion 'dev' failed at src/core/device.c:301, function
device_is_bound_by_mounts(). Aborting.
systemd[1]: Assertion 'dev' failed at src/core/device.c:301, function
device_is_bound_by_mounts(). Aborting.
systemd[1]: Caught <ABRT>, dumped core as pid 30128.
systemd[1]: Freezing execution.

It looks like it is valid for dev to be NULL in device_setup_unit(Manager *m,
struct udev_device *dev, const char *path, bool main). At least there are
various guards with if (dev) in the source.

This is not checked before the (new) call to device_is_bound_by_mounts(), which
itself does assert(dev). As a result, PID1 aborts and the system cannot be
managed any more. I'm not familiar with the new logic, but the fix may be a
simple guard condition inside device_is_bound_by_mounts().

Note that this would halt a production machine hard, being unable to even
reboot normally (since the system dbus is down

Upstream Issue: https://github.com/systemd/systemd/issues/5025


You are receiving this mail because: