qemu/linux-user
Richard Henderson ff58fd29b4 linux-user: Fix parse_elf_properties GNU0_MAGIC check
Comparing a string of 4 bytes only works in little-endian.

Adjust bulk bswap to only apply to the note payload.
Perform swapping of the note header manually; the magic
is defined so that it does not need a runtime swap.

Fixes: 83f990eb5a ("linux-user/elfload: Parse NT_GNU_PROPERTY_TYPE_0 notes")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2596
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
(cherry picked from commit 2884596f5f)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2024-10-10 21:03:54 +03:00
..
aarch64 linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
alpha linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
arm linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
cris {linux,bsd}-user: Introduce get_task_state() 2024-03-06 12:35:19 +00:00
generic linux-user: Split TARGET_PROT_* out of syscall_defs.h 2023-07-15 08:02:32 +01:00
hexagon linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
hppa linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
i386 linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
include linux-user: cleanup unused linux-user/include/host directories 2023-08-08 20:44:08 +02:00
loongarch64 linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
m68k linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
microblaze linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
mips linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
mips64 linux-user: Split out cpu/target_proc.h 2023-09-01 13:33:09 -07:00
nios2 linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
openrisc linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
ppc linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
riscv linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
s390x linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
sh4 linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
sparc linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
x86_64 linux-user/x86_64: Add vdso 2023-10-30 13:41:55 -07:00
xtensa linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
cpu_loop-common.h linux-user: Add guest memory layout to exception dump 2022-10-25 09:20:40 +02:00
elfload.c linux-user: Fix parse_elf_properties GNU0_MAGIC check 2024-10-10 21:03:54 +03:00
errnos.c.inc linux-user: Simplify host <-> target errno conversion using macros 2021-07-12 21:53:35 +02:00
exit.c accel/tcg: Move perf and debuginfo support to tcg/ 2024-01-29 21:04:10 +10:00
fd-trans.c linux-user: handle netlink flag NLA_F_NESTED 2023-03-10 20:45:47 +01:00
fd-trans.h linux-user: fix timerfd read endianness conversion 2023-03-10 20:42:00 +01:00
flat.h linux-user/: fix some comment spelling errors 2020-09-17 20:39:22 +02:00
flatload.c linux-user/flatload: Take mmap_lock in load_flt_binary() 2024-10-10 21:03:54 +03:00
gen-vdso-elfn.c.inc linux-user/ppc: Add vdso 2023-10-30 13:41:56 -07:00
gen-vdso.c linux-user: Add gen-vdso tool 2023-10-30 13:41:55 -07:00
ioctls.h linux-user: Add FIFREEZE and FITHAW ioctls 2024-03-12 03:35:00 -10:00
linux_loop.h linux-user: implement more loop ioctls 2021-11-29 14:54:17 +01:00
linuxload.c {linux,bsd}-user: Introduce get_task_state() 2024-03-06 12:35:19 +00:00
loader.h linux-user: Report AArch64 hwcap2 fields above bit 31 2023-11-02 13:36:45 +00:00
main.c linux-user: replace calloc() with g_new0() 2024-04-09 07:43:31 -10:00
meson.build linux-user/loongarch64: Add vdso 2023-10-30 13:41:55 -07:00
mmap.c linux-user: Handle short reads in mmap_h_gt_g 2024-08-28 08:37:29 +03:00
qemu.h {linux,bsd}-user: Introduce get_task_state() 2024-03-06 12:35:19 +00:00
semihost.c semihosting: Remove qemu_semihosting_console_outs 2022-06-28 04:41:20 +05:30
signal-common.h linux-user: Move tswap_siginfo out of target code 2024-03-13 11:43:52 +00:00
signal.c linux-user: Preserve unswapped siginfo_t for strace 2024-04-09 07:47:11 -10:00
socket.h Supply missing header guards 2019-06-12 13:20:21 +02:00
strace.c linux-user: Fix shmat() strace 2024-03-26 18:20:36 -10:00
strace.h linux-user: Have do_syscall() use CPUArchState* instead of void* 2022-05-23 22:47:19 +02:00
strace.list linux-user: Add strace for shmat 2024-03-01 08:05:59 -10:00
syscall_defs.h linux-user: Add FIFREEZE and FITHAW ioctls 2024-03-12 03:35:00 -10:00
syscall_types.h linux-user: implement more loop ioctls 2021-11-29 14:54:17 +01:00
syscall.c linux-user: Make TARGET_NR_setgroups affect only the current thread 2024-06-20 15:22:22 +03:00
thunk.c linux-user: Use ARRAY_SIZE with bitmask_transtbl 2023-08-09 07:17:42 -07:00
trace-events linux-user: Rename user_force_sig tracepoint to match function name 2022-01-18 12:41:42 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
uaccess.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
uname.c linux-user: Remove pointless CPU{ARCH}State casts 2022-05-23 22:47:20 +02:00
uname.h linux-user: Have do_syscall() use CPUArchState* instead of void* 2022-05-23 22:47:19 +02:00
user-internals.h {linux,bsd}-user: Pass pid to fork_end() 2024-03-06 12:35:19 +00:00
user-mmap.h linux-user: Move shmat and shmdt implementations to mmap.c 2023-09-01 13:35:02 -07:00
vm86.c {linux,bsd}-user: Introduce get_task_state() 2024-03-06 12:35:19 +00:00