On Thu, Oct 15 2026 at 20:47, Sebastian Andrzej Siewior wrote:
> The x32 ABI was introduced in v3.4 to leverage the additional registers
> which were available on x86_64 but not on i386 while keeping the smaller
> 32bit pointers.
>
> This did not take off. The memory usage usually knows no limit and the
> better performance did not reach a point where certain workloads widely
> move to x32 and use it exclusively. In the meantime Debian introduced a
> patch to disable x32 by default (so it has to be enabled at boot time on
> the command line) because they are afraid of the increased attack
> surface. Fedora as far as I tell has X32 disabled (looking at 7.0-rc5
> rpm in rawhide).
>
> The syscall range >512 used by x32 can not be reused because on earlier
> kernels (before v5.4 with x32 enabled, see commit 6365b842aae4
> ("x86/syscalls: Split the x32 syscalls into their own table") it is not
> obvious if the syscall is for x86-64 and not implemented or meant for
> x32.
> What can be removed are the special compat cases due to different
> alignment.
>
> Since there is practically no real use for x32, start removing it by
> marking the symbol as BROKEN so it is not possible to enable by default.
> If you have a legitimate use case for x32, this is your last chance to
> speak up. Otherwise it will be removed.
>
> Acked-by: Arnd Bergmann <[email protected]>
> Acked-by: H. Peter Anvin (Rosaic) <[email protected]>
> Signed-off-by: Sebastian Andrzej Siewior <[email protected]>

Reviewed-by: Thomas Gleixner <[email protected]>

> ---
>  arch/x86/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 15fd9ec5ecacb..21a6863e14e7a 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -3104,7 +3104,7 @@ config IA32_EMULATION_DEFAULT_DISABLED
>  
>  config X86_X32_ABI
>       bool "x32 ABI for 64-bit mode"
> -     depends on X86_64
> +     depends on X86_64 && BROKEN
>       # llvm-objcopy does not convert x86_64 .note.gnu.property or
>       # compressed debug sections to x86_x32 properly:
>       # https://github.com/ClangBuiltLinux/linux/issues/514

Reply via email to