Comment 0 for bug 1996176

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Situation:
1. libvirt runs fine
2. something (could be something completely else) triggers udev events
3. one of those udev events has a massive content size
4. systemd libudev delivers EINVAL due to failing on the size
5. libvirt udev listener dies due to that
6. later on many thing in libvirt do a "push event, wait for handler"
   which appears to be a hot loop burning a full cpu all the time.

As outlined in the upstream bug [2] there is an issue between
a) systemd before a fix for [1] (=anything before ~now) fixing #4 of the above
b) libvirt before a fix for [2] fixing #5 of the above
c) bios data (or anything else) creating rather huge udev content

By now systemd was fixed upstream avoiding the issue in the long run.

But we should consider to harden at least the most recent LTS by backporting the fix [3] to avoid this issue. If we get a real report by anyone on older releases we can even consider that.

[1]: https://github.com/systemd/systemd/issues/24987
[2]: https://gitlab.com/libvirt/libvirt/-/issues/245
[3]: https://listman.redhat.com/archives/libvir-list/2022-November/235723.html