git-readlink-fifo
authorGNU Libc Maintainers <debian-glibc@lists.debian.org>
Fri, 1 Nov 2024 12:42:20 +0000 (13:42 +0100)
committerAurelien Jarno <aurel32@debian.org>
Fri, 1 Nov 2024 12:42:20 +0000 (13:42 +0100)
commit9b8aa14e1dd4c26f7d5a0c59f5e37fae45224c1f
treede9bed66a57016b59e3b00ace7fbe8d8d47777d3
parentf74ea65bbdb6c4ed3d6ec68c19097e18f4879b0a
git-readlink-fifo

commit 9e5c991106cb04b489272de0ef6a7a6bcef50477 (origin/master, origin/HEAD)
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Wed Sep 14 18:52:52 2022 +0200

    hurd: Fix readlink() hanging on fifo

    readlink() opens the target with O_READ to be able to read the symlink
    content. When the target is actually a fifo, that would hang waiting for a
    writer (caught in the coreutils testsuite). We thus have to first lookup the
    target without O_READ to perform io_stat and lookout for fifos, and only
    after checking the symlink type, we can re-lookup with O_READ.

commit 5652e12cce80825297c3e0666991deb10310343c (HEAD -> master, origin-rw/master)
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Thu Sep 15 21:53:57 2022 +0200

    hurd: Make readlink* just reopen the file used for stat

    9e5c991106cb ("hurd: Fix readlink() hanging on fifo") separated opening
    the file for the stat call from opening the file for the read call. That
    however opened a small window for the file to change. Better make this
    atomic by reopening the file with O_READ.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-readlink-fifo.diff
sysdeps/mach/hurd/readlink.c
sysdeps/mach/hurd/readlinkat.c