On 18.03.2025 10:19, Roger Pau Monne wrote: > --- a/xen/arch/x86/include/asm/x86_64/uaccess.h > +++ b/xen/arch/x86/include/asm/x86_64/uaccess.h > @@ -9,9 +9,9 @@ > * a secondary mapping installed, which needs to be used for such accesses in > * the PV case, and will also be used for HVM to avoid extra conditionals. > */ > -#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) + \ > - (PERDOMAIN_ALT_VIRT_START - \ > - PERDOMAIN_VIRT_START)) > +#define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) - \ > + (PERDOMAIN_VIRT_START - \ > + PERDOMAIN_ALT_VIRT_START))
Aren't we then (still) dependent on ordering between PERDOMAIN_VIRT_START and PERDOMAIN_ALT_VIRT_START? Would #define COMPAT_ARG_XLAT_VIRT_BASE ((void *)ARG_XLAT_START(current) - \ PERDOMAIN_VIRT_START + \ PERDOMAIN_ALT_VIRT_START) perhaps be less fragile? Jan