lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 24 Oct 2019 19:08:48 +0900
From:   Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>
To:     axboe@...nel.dk
Cc:     syzbot <syzbot+b48daca8639150bc5e73@...kaller.appspotmail.com>,
        linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
        syzkaller-bugs@...glegroups.com
Subject: Re: INFO: task syz-executor can't die for more than 143 seconds. (2)

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();
        }

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ