What were you trying to do that didn't work?
On RHEL 9.6, if an invalid option prefixed with -- is present in the kernel command line, the system remains bootable but crashes fatally when systemd re-execs itself. This happens during certain package updates (e.g. glibc), leading to system instability and multiple failed services.
The expectation is that systemd should gracefully ignore invalid/unknown kernel command line options and not crash when reloading.
Please provide the package NVR for which the bug is seen:
systemd-252-51.el9_6.1
How reproducible is this bug?:
Steps to reproduce
- Start with a clean, updated RHEL 9.6 system.
Kernel cmdline is simple: # grep "^GRUB_CMDLINE_LINUX" /etc/default/grub GRUB_CMDLINE_LINUX="ipv6.disable=1" # cat /proc/cmdline ... ro ipv6.disable=1
- Install glibc.i686:
# yum install glibc.i686
Works fine, system remains stable.
- Add an invalid string prefixed with --
# vi /etc/default/grub GRUB_CMDLINE_LINUX="ipv6.disable=1 --randomstring" # grub2-mkconfig -o /boot/grub2/grub.cfg --update-bls-cmdline # reboot
- After reboot:
# cat /proc/cmdline ... ro ipv6.disable=1 --randomstring
System still boots and runs.
- Install glibc.i686 :
# yum install glibc.i686
System fatally destabilizes.
- Observed state:
# systemctl status | grep -m1 State State: starting # systemctl list-units --state=failed |grep "^●" ● atd.service loaded failed failed Deferred execution scheduler ● chronyd.service loaded failed failed NTP client/server ● mcelog.service loaded failed failed Machine Check Exception Logging Daemon ● plymouth-start.service loaded failed failed Show Plymouth Boot Screen ● polkit.service loaded failed failed Authorization Manager ● salt-minion.service loaded failed failed The Salt Minion ● saphostagent.service loaded failed failed SAP Host Agent ● tuned.service loaded failed failed Dynamic System Tuning Daemon
systemd-journald loses connection and logs errors
Expected results
- Invalid kernel cmdline options should be ignored with a warning.
- System should remain stable and glibc updates should not cause crashes.
Actual results
- System fatally destabilizes when systemd re-execs after glibc update.
- Multiple services fail.
- Journald errors occur.
- is duplicated by
-
RHEL-136149 systemd-journald.socket fails when switchroot occurs when passing some additional kernel parameter
-
- Closed
-
- links to