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

Message ID cover.1698069331.git.andrea.porta@suse.com
Headers
Series arm64: Make Aarch32 compatibility enablement optional at boot |

Message

Andrea della Porta Oct. 23, 2023, 2:42 p.m. UTC
  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@intel.com/

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@kernel.org/
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(-)