Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752896AbdDJT2D (ORCPT ); Mon, 10 Apr 2017 15:28:03 -0400 Received: from zeniv.linux.org.uk ([195.92.253.2]:37024 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750989AbdDJT2C (ORCPT ); Mon, 10 Apr 2017 15:28:02 -0400 Date: Mon, 10 Apr 2017 20:28:00 +0100 From: Al Viro To: Dave Jones , Linux Kernel Subject: Re: iov_iter_pipe warning. Message-ID: <20170410192800.GC29622@ZenIV.linux.org.uk> References: <20170321205901.mojmjd2fxmykq3df@codemonkey.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170321205901.mojmjd2fxmykq3df@codemonkey.org.uk> User-Agent: Mutt/1.7.1 (2016-10-04) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 819 Lines: 22 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?