glibc/sysdeps/arm
Adhemerval Zanella 1e25112dc0 arm: Remove wrong ldr from _dl_start_user (BZ 31339)
The commit 49d877a80b (arm: Remove
_dl_skip_args usage) removed the _SKIP_ARGS literal, which was
previously loader to r4 on loader _start.  However, the cleanup did not
remove the following 'ldr r4, [sl, r4]' on _dl_start_user, used to check
to skip the arguments after ld self-relocations.

In my testing, the kernel initially set r4 to 0, which makes the
ldr instruction just read the _GLOBAL_OFFSET_TABLE_.  However, since r4
is a callee-saved register; a different runtime might not zero
initialize it and thus trigger an invalid memory access.

Checked on arm-linux-gnu.

Reported-by: Adrian Ratiu <adrian.ratiu@collabora.com>
Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
2024-02-05 15:29:23 -03:00
..
armv6 Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
armv6t2 string: Use builtins for ffs and ffsll 2024-02-01 09:31:33 -03:00
armv7 Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
be
bits Refer to C23 in place of C2X in glibc 2024-02-01 11:02:01 +00:00
include/bits Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
le
nofpu Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
nptl Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sys Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
__longjmp.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
add_n.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
addmul_1.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
aeabi_assert.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
aeabi_atexit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
aeabi_errno_addr.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
aeabi_lcsts.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
aeabi_localeconv.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
aeabi_math.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
aeabi_mb_cur_max.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
aeabi_memclr.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
aeabi_memcpy.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
aeabi_memmove.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
aeabi_memset.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
aeabi_sighandlers.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
aeabi_unwind_cpp_pr1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
arm-features.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
arm-ifunc.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
arm-mcount.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
arm-unwind-resume.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
atomic-machine.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
backtrace.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
bsd-_setjmp.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
bsd-setjmp.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
configure
configure.ac
crti.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
crtn.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-irel.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-lookupcfg.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-machine-rel.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-machine.h arm: Remove wrong ldr from _dl_start_user (BZ 31339) 2024-02-05 15:29:23 -03:00
dl-tls.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-tlsdesc.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-tlsdesc.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-trampoline.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
elf-initfini.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fclrexcpt.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fedisblxcpt.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
feenablxcpt.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fegetenv.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fegetexcept.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fegetmode.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fegetround.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
feholdexcpt.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fenv_private.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fesetenv.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fesetexcept.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fesetmode.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fesetround.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
feupdateenv.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fgetexcptflg.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
find_exidx.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fix-fp-int-convert-overflow.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fpu_control.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fraiseexcpt.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
framestate.c
fsetexcptflg.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
ftestexcept.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
gcc-compat.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
gccframe.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
get-rounding-mode.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Implies
jmpbuf-unwind.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
ldbl-classify-compat.h
ldsodefs.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
libc-aeabi_read_tp.S
libc-tls.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
libm-test-ulps
libm-test-ulps-name
linkmap.h
machine-gmon.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Makefile
math-tests-trap.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
math-use-builtins-sqrt.h
memcpy.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
memmove.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
memset.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
pointer_guard.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
preconfigure
preconfigure.ac
rt-aeabi_unwind_cpp_pr1.c
rt-arm-unwind-resume.S
rtld-global-offsets.sym
setfpucw.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
setjmp.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sfp-machine.h
sotruss-lib.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
stackinfo.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
stap-probe-machine.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
start.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
static-stubs.c
strlen.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sub_n.S
submul_1.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sysdep.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-fpucw.c
tlsdesc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tlsdesc.sym
tst-armtlsdescextlazy.c
tst-armtlsdescextlazymod.c
tst-armtlsdescextnow.c
tst-armtlsdescextnowmod.c
tst-armtlsdescloc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-armtlsdesclocmod.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-audit.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
unwind-arch.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
unwind-dw2-fde-glibc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
unwind-pe.c
unwind-resume.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
unwind-resume.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
unwind.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Versions