[SRU][B][PATCH 0/1] Ubuntu 18.04 kernel 4.15.0-194 crashes on IPL (LP: 1994601)
frank.heimes at canonical.com
frank.heimes at canonical.com
Thu Oct 27 15:29:20 UTC 2022
BugLink: https://bugs.launchpad.net/bugs/1994601
SRU Justification:
[ Impact ]
* Ubuntu 18.04 / bionic installations with latest kernel 4.15.0-194
are no longer able to IPL (boot) on IBM z14 or newer hardware.
* This issue got introduced by upstream commit e4f74400308c
"s390/archrandom: simplify back to earlier design and initialize earlier"
that was SRUed to 18.04/bionic based on LP#1989625,
which made changes in the s390s IPL/boot area of kernel/arch/random.
* The reason seems to be that the bad patch moves the decision about
if arch randomness is available to setup.c function setup_randomness().
This code uses a static_key s390_arch_random_available.
But in the Canonical kernel the initialization function
for the jump labels (where the static keys are based on)
jump_label_init() is called in generic start_kernel()
wheres in the upstream kernel the init function is
called early in setup_arch().
* Reverting this commit from bionic master-next makes bionic systems
again bootable.
(https://launchpad.net/~fheimes/+archive/ubuntu/test/)
[ Test Plan ]
* An IBM z14 or LinuxONE II or newer system is needed.
* Now install latest bionic on that system - doesn't if it's on LPAR,
z/VM or KVM.
* After the installation (an the trigger of the post install reboot),
the system will not come up.
* To test a patched kernel with e4f74400308c can be tested in the
following way:
* Install 18.04 GA and prevent it from doing any kernel updates.
* Means, install in 'island' mode
or select in d-i 'Advanced Installation'
and explicitly choose '4.15.0-50 generic' to install.
* That allows the system to come up and to update the kernel to
a modified one.
* Then reboot and verify if the system comes up properly.
[ Where problems could occur ]
* Problems could occur due to the fact that the commit
was not cleanly reversible because of minor context changes.
* Adjustments that were needed might break other things if not
done carefully.
* Further commits (applied after e4f74400308c) may still rely
on the bad e4f74400308c commit - or even further patches
(from upstream stable).
* In worst case IPL / boot might get broken,
even on hardware older than z14.
* If the revert works fine can be easily tested and was tested based on
https://launchpad.net/~fheimes/+archive/ubuntu/test/
and the above test plan.
[ Other Info ]
* Ubuntu 20.04 (focal, using legacy image with virt-install)
was tested as well, but is not affected by this issue.
Frank Heimes (1):
Revert "s390/archrandom: simplify back to earlier design and
initialize earlier"
arch/s390/crypto/arch_random.c | 111 ++++++++++++++++++++++++++++-
arch/s390/include/asm/archrandom.h | 27 +++----
arch/s390/kernel/setup.c | 5 --
3 files changed, 121 insertions(+), 22 deletions(-)
--
2.25.1
More information about the kernel-team
mailing list