diff options
| author | Nikolay Borisov <[email protected]> | 2023-06-23 11:14:08 +0000 |
|---|---|---|
| committer | Thomas Gleixner <[email protected]> | 2023-09-14 11:19:53 +0000 |
| commit | 61382281e9054df523d3f9cfdba2faff88955f97 (patch) | |
| tree | 5b30d3598d1977deca31c5cff8619a791417eb04 /arch/x86/entry/common.c | |
| parent | x86/elf: Make loading of 32bit processes depend on ia32_enabled() (diff) | |
| download | kernel-61382281e9054df523d3f9cfdba2faff88955f97.tar.gz kernel-61382281e9054df523d3f9cfdba2faff88955f97.zip | |
x86/entry: Make IA32 syscalls' availability depend on ia32_enabled()
Another major aspect of supporting running of 32bit processes is the
ability to access 32bit syscalls. Such syscalls can be invoked by
using the legacy int 0x80 handler and sysenter/syscall instructions.
If IA32 emulation is disabled ensure that each of those 3 distinct
mechanisms are also disabled. For int 0x80 a #GP exception would be
generated since the respective descriptor is not going to be loaded at
all. Invoking sysenter will also result in a #GP since IA32_SYSENTER_CS
contains an invalid segment. Finally, syscall instruction cannot really
be disabled so it's configured to execute a minimal handler.
Signed-off-by: Nikolay Borisov <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'arch/x86/entry/common.c')
0 files changed, 0 insertions, 0 deletions
