From patchwork Thu Oct 27 15:29:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Heimes X-Patchwork-Id: 1695460 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=canonical.com header.i=@canonical.com header.a=rsa-sha256 header.s=20210705 header.b=qgpGyIAd; dkim-atps=neutral Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4MyqNk3dXmz1ygr for ; Fri, 28 Oct 2022 02:29:42 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1oo4p6-0007DY-P0; Thu, 27 Oct 2022 15:29:36 +0000 Received: from smtp-relay-canonical-0.internal ([10.131.114.83] helo=smtp-relay-canonical-0.canonical.com) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1oo4p4-0007DE-M4 for kernel-team@lists.ubuntu.com; Thu, 27 Oct 2022 15:29:34 +0000 Received: from T570.fritz.box (2.general.fheimes.us.vpn [10.172.66.67]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-canonical-0.canonical.com (Postfix) with ESMTPSA id 1B9CA422E4 for ; Thu, 27 Oct 2022 15:29:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1666884573; bh=PhSQiP8aUgt8TICjtN53ITedFGV7Rmo1Z2TyYs6GZrU=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=qgpGyIAdM1IomeHU7uVW8Jpgfsnj26SvTwcKMWSo4JCa15PT9WKxeNuHTURGTf81P pQTWiWTTbv+934gR5qRtzzOjx4xXwDaqrq0+ET6oVSgp9ghEm6rJsSYfkNhJWL0Ukv 168Vn8+CtVUyu2B8SuCUrBqjZYHB+ejqHMZBzauDaYqKLbmq/EOVyydQK2fVozxA2o zgkyoG23dgwwaOH9QNDLVhrF2xj0IKO7vGlKGI+NwJ8RnC6G21uHdikRyNcwpTV/FG kDW6naDoR2qbS/8aPAwSzazrIwa8DjFYReoAwvmiXIbu/oJnHCxMQUSPC+pPzEVH83 1ngguVRjwJCEA== From: frank.heimes@canonical.com To: kernel-team@lists.ubuntu.com Subject: [SRU][B][PATCH 0/1] Ubuntu 18.04 kernel 4.15.0-194 crashes on IPL (LP: 1994601) Date: Thu, 27 Oct 2022 17:29:20 +0200 Message-Id: <20221027152921.448751-1-frank.heimes@canonical.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" 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(-) Acked-by: Tim Gardner Acked-by: Luke Nowakowski-Krijger