On 2019/10/23 16:56, syzbot wrote: > Hello, > > syzbot found the following crash on: > > HEAD commit: c4b9850b Add linux-next specific files for 20191018 > git tree: linux-next > console output: https://syzkaller.appspot.com/x/log.txt?x=177b3ab0e00000 > kernel config: https://syzkaller.appspot.com/x/.config?x=c940ef12efcd1ec > dashboard link: https://syzkaller.appspot.com/bug?extid=b48daca8639150bc5e73 > compiler: gcc (GCC) 9.0.0 20181231 (experimental) > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1356b8ff600000 > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=14f48687600000 The reproducer is trying to allocate 64TB of disk space on /dev/nullb0 using fallocate() but __blkdev_issue_zero_pages() cannot bail out upon SIGKILL (and therefore cannot terminate for minutes). Can we make it killable? I don't know what action is needed for undoing this loop... while (nr_sects != 0) { bio = blk_next_bio(bio, __blkdev_sectors_to_bio_pages(nr_sects), gfp_mask); bio->bi_iter.bi_sector = sector; bio_set_dev(bio, bdev); bio_set_op_attrs(bio, REQ_OP_WRITE, 0); while (nr_sects != 0) { sz = min((sector_t) PAGE_SIZE, nr_sects << 9); bi_size = bio_add_page(bio, ZERO_PAGE(0), sz, 0); nr_sects -= bi_size >> 9; sector += bi_size >> 9; if (bi_size < sz) break; } cond_resched(); }