[PATCH v2 03/18] kho: return virtual address of mem_map
Pratyush Yadav
pratyush at kernel.org
Mon Jun 15 06:10:21 PDT 2026
On Sun, Jun 14 2026, Mike Rapoport wrote:
> On Fri, 05 Jun 2026 20:34:36 +0200, Pratyush Yadav <pratyush at kernel.org> wrote:
>> diff --git a/kernel/liveupdate/kexec_handover.c b/kernel/liveupdate/kexec_handover.c
>> index e8454dc5b489..d8dd0ede4f87 100644
>> --- a/kernel/liveupdate/kexec_handover.c
>> +++ b/kernel/liveupdate/kexec_handover.c
>> @@ -521,7 +522,11 @@ static phys_addr_t __init kho_get_mem_map_phys(const void *fdt)
>> return 0;
>
> sashiko:
>
> Does this error path need to be updated to return NULL?
> Since the function signature was changed to return a void pointer
> instead of phys_addr_t, returning a plain integer 0 instead of NULL
> might trigger static analysis warnings.
Good catch, will fix.
>
>> @@ -1668,8 +1672,8 @@ void __init kho_populate(phys_addr_t fdt_phys, u64 fdt_len,
>> goto unmap_fdt;
>> }
>>
>> - mem_map_phys = kho_get_mem_map_phys(fdt);
>> - if (!mem_map_phys)
>> + mem_map = kho_get_mem_map(fdt);
>> + if (!mem_map)
>
> Here we can't use mem_map as an actual pointer because phys_to_virt()
> returns pre-KASLR addres.
Ugh, yeah. It also won't work on ARM64 because memstart_addr is not set
at this point.
>
> Since we only call get_mem_map() here to verify that it's available in
> the FDT and don't care about the actual virtual address, let's add a
> comment about that, drop the mem_map varialble and directly check
>
> if (!kho_get_mem_map_phys())
Makes sense. Will do.
--
Regards,
Pratyush Yadav
More information about the kexec
mailing list