Re: [PATCH v2] block: Fix use-after-free in blkdev_get()

From: Sedat Dilek
Date: Fri Jun 05 2020 - 07:11:22 EST


On Fri, Jun 5, 2020 at 11:46 AM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
>
> A lot of maintainers have blocked Markus and asked him to stop trying
> to help people write commit message. Saying "bdev" instead of "block
> device" is more clear so your original message was better.
>
> The Fixes tag is a good idea though:
>
> Fixes: 89e524c04fa9 ("loop: Fix mount(2) failure due to race with LOOP_SET_FD")
>
> It broke last July. Before that, we used to check if __blkdev_get()
> failed before dereferencing "bdev".
>
> I wonder if maybe the best fix is to re-add the "if (!res) " check back
> to blkdev_get(). The __blkdev_get() looks like it can also free "whole"
> though if it calls itself recursively and I don't really know this code
> so I can't say for sure...
>

In things of Fixes: tag...

For the first hunk I found:

commit 8266602033d6adc6d10cb8811c1fd694767909b0 ("fix bdev leak in
block_dev.c do_open()")

- Sedat -