Message ID | 20240820082012.31316-2-jgross@suse.com (mailing list archive) |
---|---|
State | Superseded |
Commit | fac1bceeeb04886fc2ee952672e6e6c85ce41dca |
Headers | show |
Series | xen: fix dom0 PV boot on some AMD machines | expand |
On 20.08.2024 10:20, Juergen Gross wrote: > When running as a Xen PV dom0 the kernel is loaded by the hypervisor > using a different memory map than that of the host. In order to > minimize the required changes in the kernel, the kernel adapts its > memory map to that of the host. In order to do that it is checking > for conflicts of its load address with the host memory map. > > Unfortunately the tested memory range does not include the .brk > area, which might result in crashes or memory corruption when this > area does conflict withe the memory map of the host. > > Fix the test by using the _end label instead of __bss_stop. > > Fixes: 808fdb71936c ("xen: check for kernel memory conflicting with memory layout") > > Signed-off-by: Juergen Gross <jgross@suse.com> > Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Reviewed-by: Jan Beulich <jbeulich@suse.com>
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c index 806ddb2391d9..4bcc70a71b7d 100644 --- a/arch/x86/xen/setup.c +++ b/arch/x86/xen/setup.c @@ -825,7 +825,7 @@ char * __init xen_memory_setup(void) * to relocating (and even reusing) pages with kernel text or data. */ if (xen_is_e820_reserved(__pa_symbol(_text), - __pa_symbol(__bss_stop) - __pa_symbol(_text))) { + __pa_symbol(_end) - __pa_symbol(_text))) { xen_raw_console_write("Xen hypervisor allocated kernel memory conflicts with E820 map\n"); BUG(); }