Path: csiph.com!weretis.net!feeder4.news.weretis.net!news.mixmin.net!aioe.org!gothmog.csi.it!bofh.it!news.nic.it!robomod From: Al Viro Newsgroups: linux.kernel Subject: Re: Regression in 4.6.0-git - bisected to commit dd254f5a382c Date: Wed, 25 May 2016 03:30:02 +0200 Message-ID: References: X-Original-To: Matthew McClintock MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.6.0 (2016-04-01) Sender: robomod@news.nic.it List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Approved: robomod@news.nic.it Lines: 34 Organization: linux.* mail to news gateway X-Original-Cc: Larry Finger , LKML X-Original-Date: Wed, 25 May 2016 02:28:05 +0100 X-Original-Message-ID: <20160525012805.GC14480@ZenIV.linux.org.uk> X-Original-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> X-Original-Sender: linux-kernel-owner@vger.kernel.org Xref: csiph.com linux.kernel:1406554 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)