linux/arch/arm
Geert Uytterhoeven eebadafc3b ARM: 9398/1: Fix userspace enter on LPAE with CC_OPTIMIZE_FOR_SIZE=y
Booting an LPAE-enabled kernel built with CONFIG_CC_OPTIMIZE_FOR_SIZE=y
fails when starting userspace:

    Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
    CPU: 1 PID: 1 Comm: init Tainted: G        W        N 6.9.0-rc1-koelsch-00004-g7af5b901e847 #1930
    Hardware name: Generic R-Car Gen2 (Flattened Device Tree)
    Call trace:
     unwind_backtrace from show_stack+0x10/0x14
     show_stack from dump_stack_lvl+0x78/0xa8
     dump_stack_lvl from panic+0x118/0x398
     panic from do_exit+0x1ec/0x938
     do_exit from sys_exit_group+0x0/0x10
    ---[ end Kernel panic - not syncing: Attempted to kill init!  exitcode=0x00000004 ]---

Add the missing memory clobber to cpu_set_ttbcr(), as suggested by
Russell King.

Force inlining of uaccess_save_and_enable(), as suggested by Ard
Biesheuvel.

The latter fixes booting on Koelsch.

Closes: https://lore.kernel.org/r/CAMuHMdWTAJcZ9BReWNhpmsgkOzQxLNb5OhNYxzxv6D5TSh2fwQ@mail.gmail.com/

Fixes: 7af5b901e8 ("ARM: 9358/2: Implement PAN for LPAE by TTBR0 page table walks disablement")
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2024-05-15 21:41:08 +01:00
..
boot ARM: late SoC changes for 6.9 2024-03-19 11:57:26 -07:00
common locomo: make locomo_bus_type constant and static 2024-01-04 14:38:57 +01:00
configs - Sumanth Korikkar has taught s390 to allocate hotplug-time page frames 2024-03-14 17:43:30 -07:00
crypto crypto: arm/sha - fix function cast warnings 2024-02-24 08:41:19 +08:00
include ARM: 9398/1: Fix userspace enter on LPAE with CC_OPTIMIZE_FOR_SIZE=y 2024-05-15 21:41:08 +01:00
kernel ARM: 9382/1: ftrace: Define ftrace_stub_graph 2024-04-18 12:12:18 +01:00
lib ARM: 9358/2: Implement PAN for LPAE by TTBR0 page table walks disablement 2024-04-18 12:10:46 +01:00
mach-actions
mach-alpine ARM: alpine: Drop unused includes 2023-08-12 10:30:59 +02:00
mach-artpec
mach-aspeed
mach-at91 ARM: at91: pm: set soc_pm.data.mode in at91_pm_secure_init() 2023-11-19 11:32:44 +02:00
mach-axxia
mach-bcm ARM: bcm: stop selecing CONFIG_TICK_ONESHOT 2024-02-28 10:32:25 -08:00
mach-berlin ARM: berlin: Drop unused includes 2023-08-12 10:30:59 +02:00
mach-clps711x
mach-davinci ARM updates for v6.8-rc1 2024-01-17 11:34:45 -08:00
mach-digicolor
mach-dove ARM: dove: Drop unused includes 2023-08-12 10:30:59 +02:00
mach-ep93xx ARM: ep93xx: Add terminator to gpiod_lookup_table 2024-02-20 17:19:49 +01:00
mach-exynos ARM: SoC changes for 6.5 2023-06-29 15:28:33 -07:00
mach-footbridge
mach-gemini
mach-highbank
mach-hisi ARM: hisi: Drop unused includes 2023-07-19 06:29:04 +00:00
mach-hpe ARM: hpe: Drop unused includes 2023-08-12 10:30:59 +02:00
mach-imx ARM: imx: Remove usage of the deprecated ida_simple_xx() API 2024-02-05 17:23:28 +08:00
mach-ixp4xx
mach-keystone ARM: keystone: Merge PM function into main support file 2023-08-01 23:57:28 -05:00
mach-lpc18xx
mach-lpc32xx
mach-mediatek
mach-meson ARM: meson: Drop unused includes 2023-07-31 11:58:18 +02:00
mach-milbeaut
mach-mmp ARM: mmp: Drop unused includes 2023-08-12 10:31:00 +02:00
mach-mstar
mach-mv78xx0
mach-mvebu ARM: mvebu: Explicitly include correct DT includes 2023-08-12 10:31:00 +02:00
mach-mxs ARM: mxs: Do not search for "fsl,clkctrl" 2023-12-06 11:21:43 +08:00
mach-nomadik ARM: nomadik: Drop unused includes 2023-08-12 10:31:00 +02:00
mach-npcm ARM: npcm: Drop unused includes 2023-08-12 10:31:00 +02:00
mach-omap1 ARM: omap1: remove duplicated 'select ARCH_OMAP' 2024-02-28 09:27:20 +02:00
mach-omap2 ARM: AM33xx: PRM: Implement REBOOT_COLD 2024-02-28 09:33:03 +02:00
mach-orion5x
mach-pxa ARM: SoC cleanups for 6.6 2023-08-30 16:49:40 -07:00
mach-qcom ARM: qcom: merge remaining subplatforms into sensible Kconfig entry 2024-02-06 15:00:02 -06:00
mach-realtek
mach-rockchip ARM: rockchip: Drop unused includes 2023-08-12 10:31:00 +02:00
mach-rpc
mach-s3c ARM: s3c64xx: make bus_type const 2024-02-12 08:28:44 +01:00
mach-s5pv210 ARM: s5pv210: fix pm.c kernel-doc warning 2024-01-22 11:44:16 +01:00
mach-sa1100 ARM: locomo: fix locomolcd_power declaration 2023-09-28 09:15:51 +02:00
mach-shmobile ARM: shmobile: sh73a0: Reserve boot area when SMP is enabled 2023-09-27 11:00:27 +02:00
mach-socfpga ARM: socfpga: Explicitly include correct DT includes 2023-07-20 14:38:38 -05:00
mach-spear ARM: spear: Explicitly include correct DT includes 2023-08-12 10:31:01 +02:00
mach-sti ARM: sti: Drop unused includes 2023-08-12 10:30:59 +02:00
mach-stm32
mach-sunxi ARM: sun9i: smp: fix return code check of of_property_match_string 2024-01-02 16:45:16 +01:00
mach-tegra
mach-ux500 ARM: ux500: Move power-domain driver to the genpd dir 2023-07-14 10:41:59 +02:00
mach-versatile ARM: Delete ARM11MPCore (ARM11 ARMv6K SMP) support 2023-12-22 11:43:16 +00:00
mach-vt8500
mach-zynq ARM: zynq: Remove clk/zynq.h header 2024-01-22 14:22:10 +01:00
mm ARM: 9358/2: Implement PAN for LPAE by TTBR0 page table walks disablement 2024-04-18 12:10:46 +01:00
net arm32, bpf: add support for 64 bit division instruction 2023-09-15 17:16:56 -07:00
nwfpe
plat-orion
probes
tools lsm/stable-6.8 PR 20240105 2024-01-09 12:57:46 -08:00
vdso arch: vdso: consolidate gettime prototypes 2023-11-23 11:32:32 +01:00
vfp ARM: 9327/1: vfp: Add missing VFP instructions to neon_support_hook 2023-12-05 11:40:27 +00:00
xen arm/xen: fix xen_vcpu_info allocation alignment 2023-11-23 09:32:41 +01:00
Kbuild
Kconfig ARM: 9358/2: Implement PAN for LPAE by TTBR0 page table walks disablement 2024-04-18 12:10:46 +01:00
Kconfig-nommu
Kconfig.assembler
Kconfig.debug ARM updates for v6.9-rc1 2024-03-23 09:17:03 -07:00
Kconfig.platforms ARM: mach-nspire: Rework support and directory structure 2023-12-22 14:23:30 +00:00
Makefile ARM: qcom: merge remaining subplatforms into sensible Kconfig entry 2024-02-06 15:00:02 -06:00