Hello,
The following program triggers WARNING in snd_rawmidi_kernel_write1:
// autogenerated by syzkaller (http://github.com/google/syzkaller) #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/uio.h> #include <fcntl.h>
int main() { int fd; struct iovec iov;
fd = open("/dev/snd/midiC3D0", O_RDWR); iov.iov_base = ""; iov.iov_len = 0; writev(fd, &iov, 1); return 0; }
------------[ cut here ]------------ WARNING: CPU: 1 PID: 27775 at sound/core/rawmidi.c:1181 snd_rawmidi_kernel_write1+0x4e1/0x780() Modules linked in: CPU: 1 PID: 27775 Comm: syz-executor Not tainted 4.5.0-rc1+ #305 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011 00000000ffffffff ffff88003158f958[ 845.661205] ------------[ cut here ]------------ WARNING: CPU: 3 PID: 27781 at sound/core/rawmidi.c:1181 snd_rawmidi_kernel_write1+0x4e1/0x780() Modules linked in: ffffffff82be11ad 0000000000000000 ffff880032138000 ffffffff87188ec0 ffff88003158f998 ffffffff813536d9 ffffffff8527ab31 ffffffff87188ec0 000000000000049d ffff8800321e4b88 Call Trace: [< inline >] __dump_stack lib/dump_stack.c:15 [<ffffffff82be11ad>] dump_stack+0x6f/0xa2 lib/dump_stack.c:50 [<ffffffff813536d9>] warn_slowpath_common+0xd9/0x140 kernel/panic.c:482 [<ffffffff81353909>] warn_slowpath_null+0x29/0x30 kernel/panic.c:515 [<ffffffff8527ab31>] snd_rawmidi_kernel_write1+0x4e1/0x780 sound/core/rawmidi.c:1181 [<ffffffff8527cc93>] snd_rawmidi_write+0x543/0xb30 sound/core/rawmidi.c:1273 [<ffffffff817b7611>] do_loop_readv_writev+0x141/0x1e0 fs/read_write.c:719 [<ffffffff817bb478>] do_readv_writev+0x5f8/0x6e0 fs/read_write.c:849 [<ffffffff817bb696>] vfs_writev+0x86/0xc0 fs/read_write.c:886 [< inline >] SYSC_writev fs/read_write.c:919 [<ffffffff817be801>] SyS_writev+0x111/0x2b0 fs/read_write.c:911 [<ffffffff866531b6>] entry_SYSCALL_64_fastpath+0x16/0x7a arch/x86/entry/entry_64.S:185 ---[ end trace 35fa82e449e91fae ]---
On commit 26cd83670f2f5a3d5b5514a1f7d96567cdb9558b