]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dm_early_create: fix freeing used table on dm_resume failure
authorMikulas Patocka <mpatocka@redhat.com>
Thu, 9 Jul 2026 19:29:11 +0000 (21:29 +0200)
committerMikulas Patocka <mpatocka@redhat.com>
Fri, 10 Jul 2026 12:40:24 +0000 (14:40 +0200)
If dm_resume fails, the kernel attempts to free table with
dm_table_destroy, but the table was already instantiated with
dm_swap_table. This commit skips the call to dm_table_destroy in this
case.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Assisted-by: Claude:claude-opus-4.6
Fixes: 6bbc923dfcf5 ("dm: add support to directly boot to a mapped device")
Cc: stable@vger.kernel.org
drivers/md/dm-ioctl.c

index ac77dc0ca22553e272a12ea8af3033cf3e969ce7..1fa8bf835be06ac87bffec547ad55a7c0eba7fdb 100644 (file)
@@ -2473,7 +2473,7 @@ int __init dm_early_create(struct dm_ioctl *dmi,
        /* resume device */
        r = dm_resume(md);
        if (r)
-               goto err_destroy_table;
+               goto err_hash_remove;
 
        DMINFO("%s (%s) is ready", md->disk->disk_name, dmi->name);
        dm_put(md);