Re: iov_iter_pipe warning.

From: Dave Jones
Date: Wed Apr 12 2017 - 10:35:26 EST


On Wed, Apr 12, 2017 at 03:58:42AM +0100, Al Viro wrote:
> On Tue, Apr 11, 2017 at 10:29:11PM -0400, Dave Jones wrote:
> > On Wed, Apr 12, 2017 at 02:15:32AM +0100, Al Viro wrote:
> > > On Tue, Apr 11, 2017 at 08:58:53PM -0400, Dave Jones wrote:
> > > > [ 462.696557] in->f_op = ffffffffa02df980, ->splice_write = ffffffff812b2b20
> > > > $ grep ffffffffa02df980 /proc/kallsyms
> > > > ffffffffa02df980 r nfs4_file_operations [nfsv4]
> > > > $ grep ffffffff812b2b20 /proc/kallsyms
> > > > ffffffff812b2b20 T iter_file_splice_write
> > >
> > > Let's try to figure out whether it's read or write side going wrong.

[ 4139.722363] WARNING: CPU: 0 PID: 30536 at fs/splice.c:297 test_it+0x7b/0x100
[ 4139.734795] CPU: 0 PID: 30536 Comm: trinity-c2 Not tainted 4.11.0-rc6-think+ #12
[ 4139.759574] Call Trace:
[ 4139.771840] dump_stack+0x68/0x93
[ 4139.784062] __warn+0xcb/0xf0
[ 4139.796127] warn_slowpath_null+0x1d/0x20
[ 4139.808062] test_it+0x7b/0x100
[ 4139.819903] generic_file_splice_read+0x19b/0x1b0
[ 4139.831728] do_splice_to+0x79/0x90
[ 4139.843547] splice_direct_to_actor+0xc6/0x280
[ 4139.855329] ? generic_pipe_buf_nosteal+0x10/0x10
[ 4139.867021] do_splice_direct+0x9e/0xd0
[ 4139.878681] do_sendfile+0x1d7/0x3c0
[ 4139.890349] SyS_sendfile64+0x73/0xe0
[ 4139.902019] do_syscall_64+0x66/0x1d0
[ 4139.913592] entry_SYSCALL64_slow_path+0x25/0x25
[ 4139.925225] RIP: 0033:0x7f279ed980f9
[ 4139.936749] RSP: 002b:00007ffe5f42b858 EFLAGS: 00000246
[ 4139.948230] ORIG_RAX: 0000000000000028
[ 4139.959677] RAX: ffffffffffffffda RBX: 0000000000000028 RCX: 00007f279ed980f9
[ 4139.971180] RDX: 00007f279cb03000 RSI: 0000000000000185 RDI: 000000000000011a
[ 4139.982653] RBP: 00007f279f459000 R08: 0000005353535353 R09: ffffffff8100ffff
[ 4139.994080] R10: 0000000000000008 R11: 0000000000000246 R12: 0000000000000002
[ 4140.005511] R13: 00007f279f459048 R14: 00007f279f46ead8 R15: 00007f279f459000
[ 4140.016837] ? intel_pmu_lbr_read+0x4bf/0x5f0
[ 4140.028389] ---[ end trace d074a8823fe244d3 ]---
[ 4140.040002] asked to read 8, claims to have read 4
[ 4140.051634] actual size of data in pipe 8
[ 4140.063234] [0:8
[ 4140.074673] ------------[ cut here ]------------
[ 4140.085985] WARNING: CPU: 3 PID: 30536 at fs/splice.c:1010 splice_direct_to_actor+0x13f/0x280
[ 4140.097406] CPU: 3 PID: 30536 Comm: trinity-c2 Tainted: G W 4.11.0-rc6-think+ #12
[ 4140.120382] Call Trace:
[ 4140.131729] dump_stack+0x68/0x93
[ 4140.143030] __warn+0xcb/0xf0
[ 4140.154376] warn_slowpath_null+0x1d/0x20
[ 4140.165606] splice_direct_to_actor+0x13f/0x280
[ 4140.176794] ? generic_pipe_buf_nosteal+0x10/0x10
[ 4140.187934] do_splice_direct+0x9e/0xd0
[ 4140.199033] do_sendfile+0x1d7/0x3c0
[ 4140.210084] SyS_sendfile64+0x73/0xe0
[ 4140.221122] do_syscall_64+0x66/0x1d0
[ 4140.232137] entry_SYSCALL64_slow_path+0x25/0x25
[ 4140.243192] RIP: 0033:0x7f279ed980f9
[ 4140.254194] RSP: 002b:00007ffe5f42b858 EFLAGS: 00000246
[ 4140.265156] ORIG_RAX: 0000000000000028
[ 4140.276084] RAX: ffffffffffffffda RBX: 0000000000000028 RCX: 00007f279ed980f9
[ 4140.287186] RDX: 00007f279cb03000 RSI: 0000000000000185 RDI: 000000000000011a
[ 4140.298229] RBP: 00007f279f459000 R08: 0000005353535353 R09: ffffffff8100ffff
[ 4140.309236] R10: 0000000000000008 R11: 0000000000000246 R12: 0000000000000002
[ 4140.320077] R13: 00007f279f459048 R14: 00007f279f46ead8 R15: 00007f279f459000
[ 4140.330891] ? intel_pmu_lbr_read+0x4bf/0x5f0
[ 4140.342955] ---[ end trace d074a8823fe244d4 ]---
[ 4140.353868] in->f_op = ffffffffa02dc980, ->splice_write = ffffffff812b2c20