From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1A1F726290 for ; Fri, 9 Jan 2026 01:46:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767923164; cv=none; b=qhoSsvze4E4xMQH6L7uA9jP3BEbMm244LV6GOmWJmTPh5UfGf1WevbZcgd0VAeDz4Vl4EGZ83cjj5kwE9yjOgegVF6tk40f6aZqvtTA7QdO9OQP3X8x+L1/6GLCXGF05plFSpfiB+wTeW8dVYrIaRDS74DZ++P6j8wkiKqyxVgM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767923164; c=relaxed/simple; bh=HR7001FSUS5rNpOFxSI1vceayRCNk4N5sG9dhwwS6vI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JHCxYemXiqOZcErzHNqJSdAaWfBle5nStHc/0mjYX6ve/C03AJEVxUJae2IvSPH25V9RoW3I5nfDDymO0YnIx9SjbeQnNINKl6kNYcxEtu4PhdmoKgVXFK2p8Tg/ttPLlsY/51SVmFLQ89uVR8YT1tJZkhgxcd1UHuXoKH94UcM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=pwWxfoMu; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="pwWxfoMu" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5AFD7C116C6; Fri, 9 Jan 2026 01:46:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1767923163; bh=HR7001FSUS5rNpOFxSI1vceayRCNk4N5sG9dhwwS6vI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pwWxfoMuiV6/C2hFWNgALJYvXsfScorunRS6oK52CCl42zDB95MWS2FvpJBCSBh3X JSK5+NjEGrXvmRaM4tSHZq3UdNIoLi1mxkz/8SHQ4ZOxgjMx+Fxp9Dh9Ud6imI3xAB 4Fuhl/beerswmv41LYYfITUoF1omTgiYbvWMvH4EUZwcEPYE4YF1xONhcvhcTWG+Z+ vNguh6jxQXkQxwc90HnI/Knqc/WdM7P6LfLG8g/ETM194Co8WEwECe35g5Gqj/2eaB M4EI9Jyt5P3UtthKyXBwYjkTOTeL16Zx8RvRwSX133kkwS/atZX+4kO0ER8MWLldJ8 QH3ZMjNsWSBYg== From: SeongJae Park To: Breno Leitao Cc: SeongJae Park , Alexander Graf , Mike Rapoport , Pasha Tatashin , Pratyush Yadav , linux-kernel@vger.kernel.org, kexec@lists.infradead.org, linux-mm@kvack.org, usamaarif642@gmail.com, rmikey@meta.com, clm@fb.com, riel@surriel.com, kernel-team@meta.com Subject: Re: [PATCH v3 0/2] kho: history: track previous kernel version and kexec boot count Date: Thu, 8 Jan 2026 17:45:58 -0800 Message-ID: <20260109014559.68677-1-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260108-kho-v3-0-b1d6b7a89342@debian.org> References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit On Thu, 08 Jan 2026 08:40:57 -0800 Breno Leitao wrote: > Use Kexec Handover (KHO) to pass the previous kernel's version string > and the number of kexec reboots since the last cold boot to the next > kernel, and print it at boot time. > > Example > ======= > [ 0.000000] Linux version 6.19.0-rc3-upstream-00047-ge5d992347849 > ... > [ 0.000000] KHO: exec from: 6.19.0-rc4-next-20260107upstream-00004-g3071b0dc4498 (count 1) Nit. The above snippet uses tabs for first two lines, while the third line uses spaces. I don't really mind this of course, please feel free to ignore. I just wanted to prove I did read your cover letter ;) > > Motivation > ========== > > Bugs that only reproduce when kexecing from specific kernel versions > are difficult to diagnose. These issues occur when a buggy kernel > kexecs into a new kernel, with the bug manifesting only in the second > kernel. > > Recent examples include: > > * eb2266312507 ("x86/boot: Fix page table access in 5-level to 4-level paging transition") > * 77d48d39e991 ("efistub/tpm: Use ACPI reclaim memory for event log to avoid corruption") > * 64b45dd46e15 ("x86/efi: skip memattr table on kexec boot") > > As kexec-based reboots become more common, these version-dependent bugs > are appearing more frequently. At scale, correlating crashes to the > previous kernel version is challenging, especially when issues only > occur in specific transition scenarios. > > Some bugs manifest only after multiple consecutive kexec reboots. > Tracking the kexec count helps identify these cases (this metric is > already used by live update sub-system). > > KHO provides a reliable mechanism to pass information between kernels. > By carrying the previous kernel's release string and kexec count > forward, we can print this context at boot time to aid debugging. > > The goal of this feature is to have this information being printed in > early boot, so, users can trace back kernel releases in kexec. Systemd > is not helpful because we cannot assume that the previous kernel has > systemd or even write access to the disk (common when using Linux as > bootloaders) Sounds this feature will be useful! Thank you for detailed cover letter. > > Signed-off-by: Breno Leitao The patches also look good to me. For the series, Acked-by: SeongJae Park > --- > Changes from v1 to RFC Nit. You mean "from RFC (v1) to v2"? Again, I don't really mind this trivial thing, so please feel free to ignore. > - Track the number of kexecs since cold boot (Pasha) > - Change the printk() order compared to KHO > - Rewording of the commit summary > - Link to RFC: https://patch.msgid.link/20251230-kho-v1-1-4d795a24da9e@debian.org > > --- > Changes in v3: > - Remove the extra CONFIG for this feature. > - Reworded some identifiers, properties and printks. > - Better documented the questions raised during v2. > - Link to v2: https://patch.msgid.link/20260102-kho-v2-0-1747b1a3a1d6@debian.org Thanks, SJ [...]