On Sat, Mar 31, 2018 at 04:12:14PM -0700, Eric Biggers wrote:
>
> It *is* Linus' tree; the last commit just happened to be merging a ceph pull
> request, and syzbot gave the commit title. Dmitry, this has confused several
> people already since the given commit title usually has nothing to do with the
> bug. Maybe it should show the output of 'git describe' instead, e.g.
> v4.16-rc7-93-g9dd2326890d89 in this case.
Yes, that's the mistake I made. Reformating the e-mail so it is much
cleaner would really help. Maybe something like this?
---------------------------
Syzbot found the following crash on:
Commit: v4.16-rc7-93-g9dd2326890d8
Git Tree: git://
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Dashboard Link:
https://syzkaller.appspot.com/bug?extid=730517f1d3fbe54a17c7
C Repro:
https://syzkaller.appspot.com/x/repro.c?id=4574925402669056
Compiler: gcc (GCC) 7.1.1 20170620
If you fix the bug, please add the following tag to the commit:
Reported-by:
syzbot+730517...@syzkaller.appspotmail.com
<Cleaned up console output with stack trace>
<Syzbot Footer>
------------------------------
The human eye will have a much easier time scanning the report;
sometimes *removing* extraneous information is just as important as
adding extra info. And if people need more details, they can always
get to things like the Syzkaller reproducer, raw console output, etc.,
from the dashboard link.
> There is a link to a qemu-suitable Debian wheezy image in the syzbot
> documentation linked to from the bottom of the bug report. It probably should
> be made more prominent. A GCE image is a good idea too.
I've looked at the Debian Wheezy image, as near as I can tell, it's
nothing special. It doesn't even have any of the syzkaller programs
(syz-executor or syz-execprog). So I might as well use "kvm-xfstests
shell" as my environment. This might actually be more convenient for
kernel developers, since the kvm-xfstests image is only 87 MiB (as
opposed to the 1 GiB Wheezy image).
If possible, it would be good to have the exact GCE image that is used
by the syzbot, since if a particular reproduction relies on how the
kernel memory / slab allocations are set up before the reproducer
program runs, the face that GCE images tend to run all sorts of extra
bits from GCE specific init scripts means that it's quite possible
that something that repros in the GCE image might not repro reliably
either on Syzkaller's wheezy.img or kvm-xfstests's root_fs.img running
under KVM.
BTW, it would be useful if the Syzkaller docs gave people a hint how
use the image, since often images are dependant on qemu/kvm boot-time
options. Fortunately for me, "kvm-xfstests -I /tmp/wheezy.img shell"
worked for me, but that wasn't guaranteed to work. Providing a shell
script which fires up the wheezy image using Syzkaller's preferred kvm
options would be nice. After all, kvm/qemu invocations can get quite
complex. For example, the kvm-xfstests invocation above translates
to:
ionice -n 5 /usr/bin/kvm -boot order=c -net none \
-machine type=pc,accel=kvm:tcg \
-drive file=/tmp/wheezy.img,if=virtio,snapshot=on \
-drive file=/dev/cwcc/test-4k,cache=none,if=virtio,format=raw,aio=native \
-drive file=/dev/cwcc/scratch,cache=none,if=virtio,format=raw,aio=native \
-drive file=/dev/cwcc/test-1k,cache=none,if=virtio,format=raw,aio=native \
-drive file=/dev/cwcc/scratch2,cache=none,if=virtio,format=raw,aio=native \
-drive file=/dev/cwcc/scratch3,cache=none,if=virtio,format=raw,aio=native \
-drive file=/dev/cwcc/results,cache=none,if=virtio,format=raw,aio=native \
-drive file=/tmp/kvm-upload.Jjt9LpNa,if=virtio,format=raw \
-vga none -nographic -smp 2 -m 2048 \
-fsdev local,id=v_tmp,path=/tmp/kvm-xfstests-tytso,security_model=none \
-device virtio-9p-pci,fsdev=v_tmp,mount_tag=v_tmp \
-object rng-random,filename=/dev/urandom,id=rng0 \
-device virtio-rng-pci,rng=rng0 \
-serial mon:stdio -monitor telnet:localhost:7498,server,nowait \
-serial telnet:localhost:7500,server,nowait \
-serial telnet:localhost:7501,server,nowait \
-serial telnet:localhost:7502,server,nowait \
-gdb tcp:localhost:7499 \
--kernel /build/ext4-64/arch/x86/boot/bzImage \
--append "quiet loglevel=0 root=/dev/vda console=ttyS0,115200 cmd=maint fstesttz=America/New_York fstesttyp=ext4 fstestapi=1.3"
:-)
Hmm, maybe it would be worth it to teach kvm-xfstests and gce-xfstests
how to run Syzkaller reproduction test cases. If we're going to be
seeing lots of bugs, the more automation, the better....
- Ted