From fdccf0336197afe59be6f8859177fe2ff8f87fa6 Mon Sep 17 00:00:00 2001 From: Brooks Davis Date: Wed, 19 Feb 2025 16:53:32 +0000 Subject: [PATCH] libsys: Don't create or expose __realpathat Previously, __realpathat was in libc and libsys (as is currently standard), but not exported from libc which meant the stub in libc was not filtered and thus libc's copy of the syscall was used. This broke an upcoming change to CheriBSD limiting syscalls to libsys. The realpath(3) implementation now uses __sys___realpathat so there are no consumers of __realpathat. Switch it to PSEUDO (only _foo and __sys_foo symbols) and remove __realpathat from Symbol.map. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49049 --- lib/libsys/Makefile.sys | 1 + lib/libsys/Symbol.map | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libsys/Makefile.sys b/lib/libsys/Makefile.sys index b38cd5935e2..491c765e941 100644 --- a/lib/libsys/Makefile.sys +++ b/lib/libsys/Makefile.sys @@ -50,6 +50,7 @@ STATICOBJS+= interposing_table.o .endif PSEUDO= \ + __realpathat \ clock_gettime \ exit \ getlogin \ diff --git a/lib/libsys/Symbol.map b/lib/libsys/Symbol.map index 51ea1b5da23..eb71c813ae8 100644 --- a/lib/libsys/Symbol.map +++ b/lib/libsys/Symbol.map @@ -3,7 +3,6 @@ FBSDprivate_1.0 { __libsys_errno; __getosreldate; __libsys_interposing_slot; - __realpathat; _elf_aux_info; freebsd11_fstat; freebsd11_fstatat;