]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dm-verity: fix unreliable memory allocation
authorMikulas Patocka <mpatocka@redhat.com>
Mon, 17 Nov 2025 20:42:02 +0000 (21:42 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 6 Dec 2025 21:24:59 +0000 (06:24 +0900)
commit fe680d8c747f4e676ac835c8c7fb0f287cd98758 upstream.

GFP_NOWAIT allocation may fail anytime. It needs to be changed to
GFP_NOIO. There's no need to handle an error because mempool_alloc with
GFP_NOIO can't fail.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Cc: stable@vger.kernel.org
Reviewed-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/md/dm-verity-fec.c

index 559b8179ac5025155d9a6f5d07c00b09ccbc0c9c..7d477ff6f26bb8c7f1f5648986ec37306529441c 100644 (file)
@@ -331,11 +331,7 @@ static int fec_alloc_bufs(struct dm_verity *v, struct dm_verity_fec_io *fio)
                if (fio->bufs[n])
                        continue;
 
-               fio->bufs[n] = mempool_alloc(&v->fec->prealloc_pool, GFP_NOWAIT);
-               if (unlikely(!fio->bufs[n])) {
-                       DMERR("failed to allocate FEC buffer");
-                       return -ENOMEM;
-               }
+               fio->bufs[n] = mempool_alloc(&v->fec->prealloc_pool, GFP_NOIO);
        }
 
        /* try to allocate the maximum number of buffers */