]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dm-verity: correctly handle dm_bufio_client_create() failure
authorEric Biggers <ebiggers@kernel.org>
Fri, 19 Dec 2025 19:29:08 +0000 (11:29 -0800)
committerMikulas Patocka <mpatocka@redhat.com>
Sun, 4 Jan 2026 19:35:32 +0000 (20:35 +0100)
If either of the calls to dm_bufio_client_create() in verity_fec_ctr()
fails, then dm_bufio_client_destroy() is later called with an ERR_PTR()
argument.  That causes a crash.  Fix this.

Fixes: a739ff3f543a ("dm verity: add support for forward error correction")
Cc: stable@vger.kernel.org
Reviewed-by: Sami Tolvanen <samitolvanen@google.com>
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
drivers/md/dm-verity-fec.c

index ef9970b889aaf4dac194a39fab424b760a27a3e6..7583607a8aa6274149a1b72cda0dac34f769518b 100644 (file)
@@ -501,9 +501,9 @@ void verity_fec_dtr(struct dm_verity *v)
        mempool_exit(&f->output_pool);
        kmem_cache_destroy(f->cache);
 
-       if (f->data_bufio)
+       if (!IS_ERR_OR_NULL(f->data_bufio))
                dm_bufio_client_destroy(f->data_bufio);
-       if (f->bufio)
+       if (!IS_ERR_OR_NULL(f->bufio))
                dm_bufio_client_destroy(f->bufio);
 
        if (f->dev)