diff options
| author | Breno Leitao <leitao@debian.org> | 2026-09-16 08:51:02 -0700 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2026-09-25 16:45:34 +0200 |
| commit | 5045900e1bc444192835838a4d1522288a755818 (patch) | |
| tree | 4b6a4792cddd344903ef0b2b5ce93803b88631a5 /tools/lib/python/kdoc/python_version.py | |
| parent | b76721a82cbe36ed3c28850566ac9041e71fda28 (diff) | |
| download | linux-next-5045900e1bc444192835838a4d1522288a755818.tar.gz linux-next-5045900e1bc444192835838a4d1522288a755818.zip | |
splice: pass a poll key when waking pipe readers and writers
wakeup_pipe_readers() and wakeup_pipe_writers() wake the pipe wait queues
with a NULL key. ep_poll_callback() and pollwake() only filter on the
registered event mask when a key is supplied, so every epoll, poll() and
select() waiter on the pipe is woken, whether or not it asked for the
event that occurred.
anon_pipe_read() and anon_pipe_write() already pass EPOLLIN | EPOLLRDNORM
and EPOLLOUT | EPOLLWRNORM when waking the same wait queues. Do the same
here.
This is not visible in common pipe use: ordinary pipelines move data with
read()/write(), which already passes the key.
While here, both helpers open-code wq_has_sleeper(); use it instead.
Signed-off-by: Breno Leitao <leitao@debian.org>
Link: https://patch.msgid.link/20260916-b4-splice-poll-key-v2-1-da9ff83469c3@debian.org
Acked-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
Diffstat (limited to 'tools/lib/python/kdoc/python_version.py')
0 files changed, 0 insertions, 0 deletions
