Date: Wed, 19 Feb 2025 20:05:59 GMT From: Brooks Davis <brooks@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: cdb24fbb0a75 - main - libsys: Don't create or expose __realpathat Message-ID: <202502192005.51JK5xmZ097655@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=cdb24fbb0a75209043efd3b5e94faa57dfc44bd1 commit cdb24fbb0a75209043efd3b5e94faa57dfc44bd1 Author: Brooks Davis <brooks@FreeBSD.org> AuthorDate: 2025-02-19 16:53:32 +0000 Commit: Brooks Davis <brooks@FreeBSD.org> CommitDate: 2025-02-19 20:05:47 +0000 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. This is a corrected version of 58d43a3cd72a4a85ab8489313672c7eab367495e. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49049 --- lib/libsys/Makefile.sys | 1 + lib/libsys/Symbol.map | 1 - libexec/rtld-elf/rtld-libc/Makefile.inc | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libsys/Makefile.sys b/lib/libsys/Makefile.sys index b38cd5935e2f..491c765e9416 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 51ea1b5da231..eb71c813ae86 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; diff --git a/libexec/rtld-elf/rtld-libc/Makefile.inc b/libexec/rtld-elf/rtld-libc/Makefile.inc index c3a74fbecbdc..14f31f05829d 100644 --- a/libexec/rtld-elf/rtld-libc/Makefile.inc +++ b/libexec/rtld-elf/rtld-libc/Makefile.inc @@ -58,7 +58,7 @@ _libc_other_objects= sigsetjmp lstat stat fstat fstatat fstatfs syscall \ sysarch __sysctl issetugid __getcwd utrace getpid \ thr_self thr_kill pread mmap lseek _exit \ getdirentries _close _fcntl _open _openat _read \ - _sigprocmask _write readlink __realpathat _setjmp setjmp setjmperr + _sigprocmask _write readlink ___realpathat _setjmp setjmp setjmperr # Finally add additional architecture-dependent libc dependencies
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202502192005.51JK5xmZ097655>