Messages in this thread | | | Date | Mon, 10 Apr 2017 15:42:06 -0400 | From | Dave Jones <> | Subject | Re: iov_iter_pipe warning. |
| |
On Mon, Apr 10, 2017 at 08:28:00PM +0100, Al Viro wrote: > On Tue, Mar 21, 2017 at 04:59:01PM -0400, Dave Jones wrote: > > WARNING: CPU: 0 PID: 9290 at lib/iov_iter.c:836 iov_iter_pipe+0x71/0x80 > > CPU: 0 PID: 9290 Comm: trinity-c7 Not tainted 4.11.0-rc3-think+ #3 > > Call Trace: > > dump_stack+0x68/0x93 > > __warn+0xcb/0xf0 > > warn_slowpath_null+0x1d/0x20 > > iov_iter_pipe+0x71/0x80 > > generic_file_splice_read+0x37/0x140 > > do_splice_to+0x79/0x90 > > splice_direct_to_actor+0xb8/0x220 > > ? generic_pipe_buf_nosteal+0x10/0x10 > > do_splice_direct+0x9e/0xd0 > > do_sendfile+0x1d7/0x3c0 > > SyS_sendfile64+0x73/0xe0 > > do_syscall_64+0x66/0x1d0 > > Cute... We have ->splice_read() called in attempt to shove something into > a full internal pipe. How do you achieve that situation? actor() callback > claiming to have drained more than it actually had to? > > Do you have a reliable reproducer?
Not reliable, but I'll see if I can find some time to narrow it down this week. I've been working on better logging of "wtf just happened" the last few weeks, so it should get easier once I finish that work.
Dave
| |