On Wed, Sep 20, 2023 at 3:30 PM Christian Brauner <brauner@xxxxxxxxxx> wrote: > Afaict, the mutex is sufficient protection unless you're using > watchqueues which use post_one_notification() that cannot acquire the > pipe mutex. Since splice operations aren't supported on such kernel > notification pipes - see get_pipe_info() - it should be unproblematic. I had another look at this, and something's fishy with the code or with your explanation (or I still don't get it). If there is a watch_queue, pipe_write() fails early with EXDEV - writing to such a pipe is simply forbidden, the code is not reachable in the presence of a watch_queue, therefore locking just because there might be a wait_queue does not appear to make sense?