Re: [syzbot] [fs?] INFO: task hung in pipe_release (4)
From: David Howells <dhowells@redhat.com>
Date: 2023-07-29 15:28:45
Also in:
bpf, linux-fsdevel, lkml
From: David Howells <dhowells@redhat.com>
Date: 2023-07-29 15:28:45
Also in:
bpf, linux-fsdevel, lkml
David Howells [off-list ref] wrote:
I've managed to reproduce it finally. Instrumenting the pipe_lock/unlock functions, splice_to_socket() and pipe_release() seems to show that pipe_release() is being called whilst splice_to_socket() is still running.
That's actually a bit of a red herring. pipe_release() is so-called because it's called as the release file op for an end of the pipe. It doesn't automatically free the pipe_inode_info struct - there's refcounting on that. So the problem is that udp_sendmsg() didn't return; pipe_release() hanging on the pipe_lock() is merely a noisy symptom thereof. David