[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191122191434.GA10150@infradead.org>
Date: Fri, 22 Nov 2019 11:14:34 -0800
From: Christoph Hellwig <hch@...radead.org>
To: Jens Axboe <axboe@...nel.dk>
Cc: Christoph Hellwig <hch@...radead.org>,
Kees Cook <keescook@...omium.org>,
syzbot+21cfe1f803e0e158acf1@...kaller.appspotmail.com,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] block: Replace bio_check_ro()'s WARN_ON()
On Fri, Nov 22, 2019 at 12:09:14PM -0700, Jens Axboe wrote:
> On 11/22/19 12:07 PM, Christoph Hellwig wrote:
> > On Fri, Nov 22, 2019 at 10:53:22AM -0800, Kees Cook wrote:
> >> Friendly ping! I keep tripping over this. Can this please get applied so
> >> we can silence syzbot and avoid needless WARNs? :)
> >
> > What call stack reaches this? Upper layers should never submit a write
> > bio on a read-only queue, and we need to fix that in the upper layer.
>
> It's an fsync, the trace is here:
>
> https://syzkaller.appspot.com/x/log.txt?x=159503d2e00000
Oh. I think this is a bug in the block layer, we should not treat
a sync as write for the purposes of is read-only checks, as it never
writes data to the device. At the request layer we alread use
the proper REQ_OP_FLUSH, but at the bio layer we are still abusing
empty writes apparently. I'll try to cook up something over the
weekend.
Powered by blists - more mailing lists