mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-07 13:14:51 +00:00
rtld-elf: Check the return value of obj_enforce_relro()
The mprotect() call was failing on CheriBSD when changing rtld's relro page permissions due to missing CHERI capability permissions on the mprotect() argument but did not report an error since the return value was being ignored. It should never fail on any supported FreeBSD architecture, but checking the return value seems like a good sanity check to me. Reviewed By: kib, imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D30820
This commit is contained in:
parent
d98a4eb807
commit
e3be51b2bc
@ -2288,7 +2288,8 @@ init_rtld(caddr_t mapbase, Elf_Auxinfo **aux_info)
|
||||
obj_rtld.path = xstrdup(ld_path_rtld);
|
||||
|
||||
parse_rtld_phdr(&obj_rtld);
|
||||
obj_enforce_relro(&obj_rtld);
|
||||
if (obj_enforce_relro(&obj_rtld) == -1)
|
||||
rtld_die();
|
||||
|
||||
r_debug.r_version = R_DEBUG_VERSION;
|
||||
r_debug.r_brk = r_debug_state;
|
||||
|
Loading…
Reference in New Issue
Block a user