git: DragonFly_RELEASE_6_4 kernel - Fix lost wakeup in fifo_open()

Aaron LI aly at crater.dragonflybsd.org
Thu Sep 17 06:28:52 PDT 2026


commit 3e72cdefefd9b716f65a1b1adf0fde32ff710099
Author: Antonio Huete Jimenez <tuxillo at quantumachine.net>
Date:   Tue Sep 15 20:39:17 2026 +0200

    kernel - Fix lost wakeup in fifo_open()
    
    * fifo_open() tests fi_readers, drops the fifo and vnode locks, then
      tsleeps.  A peer opening in that window bumps the counter and issues
      its wakeup before the sleeper is queued, so open(2) blocks forever
      with a peer already attached.  Both paths are affected.
    
    * Queue with tsleep_interlock() before releasing the locks and sleep
      with PINTERLOCKED.
    
    Reviewed-by: @dillon

Summary of changes:
 sys/vfs/fifofs/fifo_vnops.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/3e72cdefefd9b716f65a1b1adf0fde32ff710099


-- 
DragonFly BSD source repository


More information about the Commits mailing list