2 Commits
Author SHA1 Message Date
Sylvestre Ledru e006771dd0 util: factor the shared setup of the check-*.sh scripts into check-common.sh 2026-08-25 15:38:42 +02:00
Sylvestre Ledru 62d40de5ab chmod: use the libc fchmodat symbol for recursive mode changes
The raw syscall(SYS_fchmodat2, ...) in DirFd::chmod_at bypassed LD_PRELOAD
tools (fakeroot, fakechroot, pseudo), so a recursive mode change landed on
disk but their bookkeeping never saw it, silently and with exit status 0.
Try libc fchmodat() first and keep the raw syscall as a fallback for the
NoFollow case libc declines; glibc issues fchmodat2 from there anyway.

Add util/check-libc-interposition.sh, which runs chown -R and chmod -R
under fakeroot and compares what fakeroot reports afterwards.

Fixes #14028
2026-08-25 15:38:42 +02:00