Re: [RFC][PATCH 02/34] x86/xen: Remove early "debug" physical address lookups
From: Borislav Petkov
Date: Thu Mar 07 2024 - 12:02:11 EST
On Thu, Feb 22, 2024 at 10:39:29AM -0800, Dave Hansen wrote:
>
> From: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
>
> The __pa() facility is subject to debugging checks if CONFIG_DEBUG_VIRTUAL=y.
> One of those debugging checks is whether the physical address is valid
> on the platform. That information is normally available via CPUID. But
> the __pa() code currently looks it up in 'boot_cpu_data' which is not
> fully set up in early Xen PV boot.
>
> The Xen PV code currently tries to get this info with
> get_cpu_address_sizes() which also depends on 'boot_cpu_data' to be at
> least somewhat set up. The result is that the c->x86_phys_bits gets a
> sane value, but not one that has anything to do with the hardware. In
> other words, the CONFIG_DEBUG_VIRTUAL checks are performed with what
> amounts to garbage inputs.
>
> Garbage checks are worse than no check at all. Move over to the
> "nodebug" variant to axe the checks.
>
> Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
> Cc: Juergen Gross <jgross@xxxxxxxx>
> ---
>
> b/arch/x86/xen/enlighten_pv.c | 2 +-
> b/arch/x86/xen/mmu_pv.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Borislav Petkov (AMD) <bp@xxxxxxxxx>
At least as far as I can follow the Xen boot flow, yap, this makes
sense.
But let's have Jürgen confirm first.
Thx.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette