Messages in this thread | | | Subject | Re: INFO: rcu detected stall in io_playback_transfer | From | Tetsuo Handa <> | Date | Sun, 8 Apr 2018 22:26:21 +0900 |
| |
Dmitry Vyukov wrote: > Takashi has already fixed this. See this thread: > https://groups.google.com/forum/#!searchin/syzkaller-bugs/%22INFO$3A$20rcu$20detected$20stall$20in$20snd_pcm_oss_write3$20(2)%22%7Csort:date/syzkaller-bugs/D2xWV7WTRDk/sCw_gImmCAAJ
Yes, I noticed it just before I post this. But the reason I posted this anyway is that I feel that there is some other bug revealed by this reproducer. How can Takashi' patch explain my observation (with linux-next-20180406) ?
/* Hits the stall */ int main(int argc, char *argv[]) { const int fd = open("/dev/dsp1", O_RDWR); int frag = (0 << 16) | 0; char buf[48] = { }; unshare(CLONE_NEWNS); ioctl(fd, SNDCTL_DSP_SETFRAGMENT, &frag); write(fd, buf, sizeof(buf)); return 0; }
/* Does not hit the stall */ int main(int argc, char *argv[]) { const int fd = open("/dev/dsp1", O_RDWR); int frag = (0 << 16) | 0; char buf[48] = { }; ioctl(fd, SNDCTL_DSP_SETFRAGMENT, &frag); write(fd, buf, sizeof(buf)); return 0; }
/* Does not hit the stall */ int main(int argc, char *argv[]) { const int fd = open("/dev/dsp1", O_RDWR); int frag = (0 << 16) | 0; char buf[48] = { }; unshare(CLONE_NEWNS); ioctl(fd, SNDCTL_DSP_SETFRAGMENT, &frag); write(fd, buf, sizeof(buf)); close(fd); return 0; }
| |