linux-yocto/arch/alpha/kernel
Eric W. Biederman 52df961953 alpha/elf: Fix misc/setarch test of util-linux by removing 32bit support
[ Upstream commit b029628be2 ]

Richard Henderson <richard.henderson@linaro.org> writes[1]:

> There was a Spec benchmark (I forget which) which was memory bound and ran
> twice as fast with 32-bit pointers.
>
> I copied the idea from DEC to the ELF abi, but never did all the other work
> to allow the toolchain to take advantage.
>
> Amusingly, a later Spec changed the benchmark data sets to not fit into a
> 32-bit address space, specifically because of this.
>
> I expect one could delete the ELF bit and personality and no one would
> notice. Not even the 10 remaining Alpha users.

In [2] it was pointed out that parts of setarch weren't working
properly on alpha because it has it's own SET_PERSONALITY
implementation.  In the discussion that followed Richard Henderson
pointed out that the 32bit pointer support for alpha was never
completed.

Fix this by removing alpha's 32bit pointer support.

As a bit of paranoia refuse to execute any alpha binaries that have
the EF_ALPHA_32BIT flag set.  Just in case someone somewhere has
binaries that try to use alpha's 32bit pointer support.

Link: https://lkml.kernel.org/r/CAFXwXrkgu=4Qn-v1PjnOR4SG0oUb9LSa0g6QXpBq4ttm52pJOQ@mail.gmail.com [1]
Link: https://lkml.kernel.org/r/20250103140148.370368-1-glaubitz@physik.fu-berlin.de [2]
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Tested-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Link: https://lore.kernel.org/r/87y0zfs26i.fsf_-_@email.froward.int.ebiederm.org
Signed-off-by: Kees Cook <kees@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-03-22 12:50:41 -07:00
..
syscalls arch: Register fchmodat2, usually as syscall 452 2023-07-27 12:25:35 +02:00
.gitignore
asm-offsets.c alpha: replace hardcoded stack offsets with autogenerated ones 2025-02-21 13:57:27 +01:00
audit.c
bugs.c
console.c
core_apecs.c
core_cia.c alpha: fixed a typo in core_cia.c 2023-02-24 23:14:22 -05:00
core_irongate.c
core_lca.c
core_marvel.c alpha: fix marvel_ioread8 build regression 2022-10-10 10:33:55 +02:00
core_mcpcia.c
core_polaris.c
core_t2.c
core_titan.c
core_tsunami.c
core_wildfire.c
entry.S alpha: replace hardcoded stack offsets with autogenerated ones 2025-02-21 13:57:27 +01:00
err_common.c
err_ev6.c
err_ev7.c
err_impl.h
err_marvel.c
err_titan.c
es1888.c
gct.c
head.S
io.c alpha: add full ioread64/iowrite64 implementation 2022-10-04 11:23:29 +02:00
irq_alpha.c
irq_i8259.c
irq_impl.h
irq_pyxis.c
irq_srm.c
irq.c
machvec_impl.h alpha: add full ioread64/iowrite64 implementation 2022-10-04 11:23:29 +02:00
Makefile Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
module.c alpha: fix R_ALPHA_LITERAL reloc for large modules 2023-02-14 12:37:18 -05:00
osf_sys.c alpha/elf: Fix misc/setarch test of util-linux by removing 32bit support 2025-03-22 12:50:41 -07:00
pc873xx.c
pc873xx.h
pci_impl.h
pci_iommu.c Revert "change alloc_pages name in dma_map_ops to avoid name conflicts" 2024-09-04 13:28:24 +02:00
pci-noop.c
pci-sysfs.c
pci.c PCI: Introduce pci_dev_for_each_resource() 2023-04-04 10:43:52 -05:00
perf_event.c alpha: remove redundant err variable 2023-02-14 12:36:10 -05:00
process.c sched/idle: Mark arch_cpu_idle_dead() __noreturn 2023-03-08 08:44:28 -08:00
proto.h
ptrace.c alpha: lazy FPU switching 2023-02-24 23:14:22 -05:00
rtc.c rtc: Add support for configuring the UIP timeout for RTC reads 2024-01-31 16:18:56 -08:00
setup.c vgacon: rework screen_info #ifdef checks 2024-06-27 13:49:15 +02:00
signal.c alpha: lazy FPU switching 2023-02-24 23:14:22 -05:00
smc37c93x.c
smc37c669.c
smp.c treewide: Trace IPIs sent via smp_send_reschedule() 2023-03-24 11:01:28 +01:00
srm_env.c
srmcons.c tty: make tty_operations::write()'s count size_t 2023-08-11 21:12:46 +02:00
sys_alcor.c
sys_cabriolet.c
sys_dp264.c
sys_eb64p.c
sys_eiger.c
sys_jensen.c
sys_marvel.c
sys_miata.c
sys_mikasa.c
sys_nautilus.c
sys_noritake.c
sys_rawhide.c
sys_ruffian.c
sys_rx164.c
sys_sable.c
sys_sio.c vgacon: rework screen_info #ifdef checks 2024-06-27 13:49:15 +02:00
sys_sx164.c
sys_takara.c
sys_titan.c
sys_wildfire.c
systbls.S
termios.c
time.c
traps.c alpha: align stack for page fault and user unaligned trap handlers 2025-02-21 13:57:18 +01:00
vmlinux.lds.S objtool/idle: Validate __cpuidle code as noinstr 2023-01-13 11:48:15 +01:00