From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755593AbcEYB2J (ORCPT ); Tue, 24 May 2016 21:28:09 -0400 Received: from zeniv.linux.org.uk ([195.92.253.2]:40754 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754201AbcEYB2I (ORCPT ); Tue, 24 May 2016 21:28:08 -0400 Date: Wed, 25 May 2016 02:28:05 +0100 From: Al Viro To: Matthew McClintock Cc: Larry Finger , LKML Subject: Re: Regression in 4.6.0-git - bisected to commit dd254f5a382c Message-ID: <20160525012805.GC14480@ZenIV.linux.org.uk> References: <57447CE1.9020207@lwfinger.net> <6E57F7A4-59B0-46EA-9FFF-D0A4BA2D8E51@codeaurora.org> <5744A899.70503@lwfinger.net> <3988EB49-F17D-452B-A1AD-F202265B1BCA@codeaurora.org> <5744AD31.4090808@lwfinger.net> <2D6D38D9-FE06-4115-8FB2-48CB2FB19809@codeaurora.org> <20160524234133.GA14480@ZenIV.linux.org.uk> <1CDF0CFA-CCD2-440A-B956-2787BD8F2C4F@codeaurora.org> <20160525011036.GB14480@ZenIV.linux.org.uk> <52EE493C-26FF-4050-BF6F-E2346147378F@codeaurora.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <52EE493C-26FF-4050-BF6F-E2346147378F@codeaurora.org> User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 24, 2016 at 08:20:46PM -0500, Matthew McClintock wrote: > > > On May 24, 2016, at 8:10 PM, Al Viro wrote: > > > > Slap the WARN_ON(!size); in the very beginning of iov_iter_advance(), see > > where it's triggered... > > diff --git a/lib/iov_iter.c b/lib/iov_iter.c > index 28cb431..d89e154 100644 > --- a/lib/iov_iter.c > +++ b/lib/iov_iter.c > @@ -488,6 +488,7 @@ EXPORT_SYMBOL(iov_iter_copy_from_user_atomic); > > void iov_iter_advance(struct iov_iter *i, size_t size) > { > + WARN_ON(!size); > iterate_and_advance(i, size, v, 0, 0, 0) > } > EXPORT_SYMBOL(iov_iter_advance); > > [ 1.359869] This architecture does not have kernel memory protection. > init started: BusyBox v1.24.1 () > starting pid 78, tty '': '/etc/init.d/rcS' > [ 1.435863] random: udevadm urandom read with 0 bits of entropy available > [ 1.448116] ------------[ cut here ]------------ > [ 1.448193] WARNING: CPU: 1 PID: 88 at lib/iov_iter.c:491 iov_iter_advance+0xf0/0x1b8 The next obvious question is which binary it is and what's the return address to userland; make that if (!size) printk(KERN_ERR "crap in %s[%x]", current->comm, current_pt_regs()->rip); (in the same place)