[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170410192800.GC29622@ZenIV.linux.org.uk>
Date: Mon, 10 Apr 2017 20:28:00 +0100
From: Al Viro <viro@...IV.linux.org.uk>
To: Dave Jones <davej@...emonkey.org.uk>,
Linux Kernel <linux-kernel@...r.kernel.org>
Subject: Re: iov_iter_pipe warning.
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?
Powered by blists - more mailing lists