NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/60785: fifo delivers SIGIO with wrong si_fd
>Number: 60785
>Category: kern
>Synopsis: fifo delivers SIGIO with wrong si_fd
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Sep 24 21:40:00 +0000 2026
>Originator: Taylor R Campbell
>Release: current, 11, 10, ...
>Organization:
The Fee Fifo Fio Fumdation, Inc.
>Environment:
>Description:
SIGIO for a named fifo is always delivered with si_fd=-1
instead of the fifo fd itself, because it passes the underlying
socket object to fownsignal as the putative struct file::f_data
value to look up, instead of the vnode pointer that is actually
there.
>How-To-Repeat:
1. code inspection
2. try using SIGIO with fifos
>Fix:
Pass the vnode through to fownsignal, I guess? Or, better,
invent a better abstraction for managing SIGIO subscriptions so
it doesn't involve a reverse lookup in the fd table...
Home |
Main Index |
Thread Index |
Old Index