[PATCH v3 0/5] Make IA32_EMULATION boot time overridable

From: Nikolay Borisov
Date: Fri Jun 16 2023 - 08:58:01 EST


[Sending you to to gather a round of internals reviews before sending upstream]

Here's v3 of the patchset making IA32_EMULATION a boot time overridable switch.

Changes since v2:

* Re-worded the commit message of the first patch (tglx)
* Added help description for the newly introduces IA32_EMULATION_DEFAULT_DISABLED (rdunlap)
* Change the order of the last 2 patches (brgerst)
* Reworked the way ia32_enabled state is being checked - introduced a function
and eliminated code duplication (tglx)
* Reworked the way the idt table is being initialized (tglx)
* Split the rename and unconditional compile of of ignore_sysret (tglx)

Nikolay Borisov (5):
x86: Make IA32_EMULATION boot time configurable
x86/entry: Rename ignore_sysret
x86/entry: Compile entry_SYSCALL32_ignore unconditionally
x86/elf: Predicate loading of 32bit processes on ia32_enabled()
x86/entry: Make IA32 syscalls availability depend on ia32_enabled()

.../admin-guide/kernel-parameters.txt | 5 +++
arch/x86/Kconfig | 9 +++++
arch/x86/entry/common.c | 16 ++++++++
arch/x86/entry/entry_64.S | 6 +--
arch/x86/include/asm/elf.h | 3 +-
arch/x86/include/asm/ia32.h | 17 ++++++++-
arch/x86/include/asm/processor.h | 2 +-
arch/x86/include/asm/proto.h | 3 ++
arch/x86/kernel/cpu/common.c | 37 ++++++++++---------
arch/x86/kernel/idt.c | 10 +++++
10 files changed, 82 insertions(+), 26 deletions(-)

--
2.34.1