On Mon, 2020-02-10 at 13:10 -0500, Jeff Moyer wrote: > Commit 6fcf0c72e4b9 ("vfs: add missing blkdev_put() in > get_tree_bdev()") > introduced a use-after-free of the bdev. This was caught by fstests > generic/085, which now results in a kernel panic. Fix it. Oops! Thanks Jeff. Acked-by: Ian Kent <raven@xxxxxxxxxx> > > Cc: stable@xxxxxxxxxxxxxxx # v5.4+ > Fixes: 6fcf0c72e4b9 ("vfs: add missing blkdev_put() in > get_tree_bdev()") > Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx> > > diff --git a/fs/super.c b/fs/super.c > index cd352530eca9..a288cd60d2ae 100644 > --- a/fs/super.c > +++ b/fs/super.c > @@ -1302,8 +1302,8 @@ int get_tree_bdev(struct fs_context *fc, > mutex_lock(&bdev->bd_fsfreeze_mutex); > if (bdev->bd_fsfreeze_count > 0) { > mutex_unlock(&bdev->bd_fsfreeze_mutex); > - blkdev_put(bdev, mode); > warnf(fc, "%pg: Can't mount, blockdev is frozen", > bdev); > + blkdev_put(bdev, mode); > return -EBUSY; > } > >