md: fix double free of io_acct_set bioset
authorXiao Ni <xni@redhat.com>
Thu, 12 May 2022 09:21:09 +0000 (17:21 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jun 2022 08:23:32 +0000 (10:23 +0200)
commit 42b805af102471f53e3c7867b8c2b502ea4eef7e upstream.

Now io_acct_set is alloc and free in personality. Remove the codes that
free io_acct_set in md_free and md_stop.

Fixes: 0c031fd37f69 (md: Move alloc/free acct bioset in to personality)
Signed-off-by: Xiao Ni <xni@redhat.com>
Signed-off-by: Song Liu <song@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/md/md.c

index d890330..b553654 100644 (file)
@@ -5588,8 +5588,6 @@ static void md_free(struct kobject *ko)
 
        bioset_exit(&mddev->bio_set);
        bioset_exit(&mddev->sync_set);
-       if (mddev->level != 1 && mddev->level != 10)
-               bioset_exit(&mddev->io_acct_set);
        kfree(mddev);
 }
 
@@ -6277,8 +6275,6 @@ void md_stop(struct mddev *mddev)
        __md_stop(mddev);
        bioset_exit(&mddev->bio_set);
        bioset_exit(&mddev->sync_set);
-       if (mddev->level != 1 && mddev->level != 10)
-               bioset_exit(&mddev->io_acct_set);
 }
 
 EXPORT_SYMBOL_GPL(md_stop);