[PATCH v2 0/4] arm64: Make Aarch32 compatibility enablement optional at boot

From: Andrea della Porta
Date: Mon Oct 23 2023 - 10:44:01 EST


This is the second attempt of the patch, reviewed as follows:

* Reworked subject and description to avoid the term 'emulation' and to
address generically 'exceptions' instead of 'syscalls' (mark.rutland)

* Moved aarch32_enabled() check inside system_supports_32bit_el0()
(mark.rutland)

* Renamed AARCH32_EMULATION_DEFAULT_DISABLED to AARCH32_SUPPORT_DEFAULT_DISABLED
(mark.rutland)

* Fixed a compilation Warning about missing function prototype
Closes: https://lore.kernel.org/oe-kbuild-all/202310230423.r2U4Lqr8-lkp@xxxxxxxxx/

This is just for completeness since other possible solutions have been
proposed that could be better suited, see for example:
https://lkml.kernel.org/linux-fsdevel/20210916131816.8841-1-will@xxxxxxxxxx/
and followups. So, this patchset is just for reference, may be useful in the
future if some kind of exploit is found to bypass the 32bit process
enablement check (letting a process call 32bit syscalls) and nothing better
has been proposed meanwhile.

Andrea della Porta (4):
arm64: Introduce aarch32_enabled()
arm64/process: Make loading of 32bit processes depend on
aarch32_enabled()
arm64/entry-common: Make Aarch32 exceptions' availability depend on
aarch32_enabled()
arm64: Make Aarch32 support boot time configurable

.../admin-guide/kernel-parameters.txt | 7 ++++
arch/arm64/Kconfig | 9 +++++
arch/arm64/include/asm/cpufeature.h | 20 +++++++++--
arch/arm64/include/asm/exception.h | 7 ++++
arch/arm64/kernel/entry-common.c | 33 +++++++++++++++++--
5 files changed, 71 insertions(+), 5 deletions(-)

--
2.35.3