Re: [PATCH v6 02/20] liveupdate: luo_core: integrate with KHO
From: Pasha Tatashin <pasha.tatashin@soleen.com>
Date: 2025-11-18 22:07:54
Also in:
linux-doc, linux-fsdevel, linux-mm, lkml
On Tue, Nov 18, 2025 at 11:15 AM Jason Gunthorpe [off-list ref] wrote:
On Tue, Nov 18, 2025 at 10:46:35AM -0500, Pasha Tatashin wrote:quoted
quoted
quoted
This won't leak data, as /dev/liveupdate is completely disabled, so nothing preserved in memory will be recoverable.This seems reasonable, but it is still dangerous. At the minimum the KHO startup either needs to succeed, panic, or fail to online most of the memory (ie run from the safe region only)Allowing degrade booting using only scratch memory sounds like a very good compromise. This allows the live-update boot to stay alive as a sort of "crash kernel," particularly since kdump functionality is not available here. However, it would require some work in KHO to enable such a feature.quoted
The above approach works better for things like VFIO or memfd where you can boot significantly safely. Not sure about iommu though, if iommu doesn't deserialize properly then it probably corrupts all memory too.Yes, DMA may corrupt memory if KHO is broken, *but* we are discussing broken LUO recovering, the KHO preserved memory should still stay as preserved but unretriable, so DMA activity should only happen to those regions...If the iommu is not preserved then normal iommu boot will possibly set the translation the identiy and it will scribble over random memory. You can't rely on the translation being present and only reaching kho preserved memroy if the iommu can't restore itself.
In this case, we cannot even rely on having "safe" memory, i.e. this scratch only boot to preserve dmesg/core etc, this is unfortunate. Is there a way to avoid defaulting to identify mode when we are booting into the "maintenance" mode? Thanks, Pasha
Jason