kho: init new_physxa->phys_bits to fix lockdep
Patch series "Several KHO Hotfixes".
Three unrelated fixes for Kexec Handover.
This patch (of 3):
Lockdep shows the following warning:
INFO: trying to register non-static key. The code is fine but needs
lockdep annotation, or maybe you didn't initialize this object before use?
turning off the locking correctness validator.
[<
ffffffff810133a6>] dump_stack_lvl+0x66/0xa0
[<
ffffffff8136012c>] assign_lock_key+0x10c/0x120
[<
ffffffff81358bb4>] register_lock_class+0xf4/0x2f0
[<
ffffffff813597ff>] __lock_acquire+0x7f/0x2c40
[<
ffffffff81360cb0>] ? __pfx_hlock_conflict+0x10/0x10
[<
ffffffff811707be>] ? native_flush_tlb_global+0x8e/0xa0
[<
ffffffff8117096e>] ? __flush_tlb_all+0x4e/0xa0
[<
ffffffff81172fc2>] ? __kernel_map_pages+0x112/0x140
[<
ffffffff813ec327>] ? xa_load_or_alloc+0x67/0xe0
[<
ffffffff81359556>] lock_acquire+0xe6/0x280
[<
ffffffff813ec327>] ? xa_load_or_alloc+0x67/0xe0
[<
ffffffff8100b9e0>] _raw_spin_lock+0x30/0x40
[<
ffffffff813ec327>] ? xa_load_or_alloc+0x67/0xe0
[<
ffffffff813ec327>] xa_load_or_alloc+0x67/0xe0
[<
ffffffff813eb4c0>] kho_preserve_folio+0x90/0x100
[<
ffffffff813ebb7f>] __kho_finalize+0xcf/0x400
[<
ffffffff813ebef4>] kho_finalize+0x34/0x70
This is becase xa has its own lock, that is not initialized in
xa_load_or_alloc.
Modifiy __kho_preserve_order(), to properly call
xa_init(&new_physxa->phys_bits);
Link: https://lkml.kernel.org/r/20250808201804.772010-2-pasha.tatashin@soleen.com
Fixes: fc33e4b44b27 ("kexec: enable KHO support for memory preservation")
Signed-off-by: Pasha Tatashin <pasha.tatashin@soleen.com>
Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Cc: Alexander Graf <graf@amazon.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Baoquan He <bhe@redhat.com>
Cc: Changyuan Lyu <changyuanl@google.com>
Cc: Coiby Xu <coxu@redhat.com>
Cc: Dave Vasilevsky <dave@vasilevsky.ca>
Cc: Eric Biggers <ebiggers@google.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Pratyush Yadav <pratyush@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>