[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160829195540.GE28713@mtj.duckdns.org>
Date: Mon, 29 Aug 2016 15:55:40 -0400
From: Tejun Heo <tj@...nel.org>
To: Vegard Nossum <vegard.nossum@...cle.com>
Cc: Rabin Vincent <rabin@....in>, Jens Axboe <axboe@...com>,
Jan Kara <jack@...e.cz>, Al Viro <viro@...iv.linux.org.uk>,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
stable@...r.kernel.org
Subject: Re: [PATCH] bdev: fix NULL pointer dereference in sync()/close() race
Hello,
On Sat, Aug 27, 2016 at 11:30:22AM +0200, Vegard Nossum wrote:
> > Don't know what's the right fix, but I posted a slightly different one
> > for the same crash some months ago:
> > https://patchwork.kernel.org/patch/8556941/
> >
>
> Ah, I'm sorry, I didn't see that.
>
> Your patch is 100% identical to my first attempt at a fix and I can
> confirm that it also fixes the problem for me.
>
> If people who are more savvy in block/fs code could ack the locking bits
> I think we should apply the patch ASAP because it's an easy local DOS if
> you have (open/read) access to any block device.
I think the right thing to do there is doing blkdev_get() /
blkdev_put() around func() invocation in iterate_bdevs() rather than
holding bd_mutex across the callback. Can you please verify whether
that works?
Thanks.
--
tejun
Powered by blists - more mailing lists