Re: Regression in 4.6.0-git - bisected to commit dd254f5a382c

From: Matthew McClintock
Date: Tue May 24 2016 - 21:21:05 EST



> On May 24, 2016, at 8:10 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> 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
[ 1.451973] Modules linked in:
[ 1.462753] CPU: 1 PID: 88 Comm: udevd Not tainted 4.6.0 #195
[ 1.462793] Hardware name: Qualcomm (Flattened Device Tree)
[ 1.468346] [<c021a978>] (unwind_backtrace) from [<c02158a8>] (show_stack+0x20/0x24)
[ 1.473713] [<c02158a8>] (show_stack) from [<c044f310>] (dump_stack+0x90/0xa4)
[ 1.481701] [<c044f310>] (dump_stack) from [<c0228130>] (__warn+0xf8/0x110)
[ 1.488727] [<c0228130>] (__warn) from [<c0228218>] (warn_slowpath_null+0x30/0x38)
[ 1.495588] [<c0228218>] (warn_slowpath_null) from [<c04607e8>] (iov_iter_advance+0xf0/0x1b8)
[ 1.503244] [<c04607e8>] (iov_iter_advance) from [<c034114c>] (do_readv_writev+0x2d0/0x370)
[ 1.511827] [<c034114c>] (do_readv_writev) from [<c034123c>] (vfs_readv+0x50/0x68)
[ 1.519983] [<c034123c>] (vfs_readv) from [<c03412b0>] (do_readv+0x5c/0xb8)
[ 1.527621] [<c03412b0>] (do_readv) from [<c0341f18>] (SyS_readv+0x1c/0x20)
[ 1.534485] [<c0341f18>] (SyS_readv) from [<c0210f80>] (ret_fast_syscall+0x0/0x3c)
[ 1.541556] ---[ end trace eef892a602dbe329 ]---