]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
crypto: drbg - Fix returning success on failure in CTR_DRBG
authorEric Biggers <ebiggers@kernel.org>
Mon, 20 Apr 2026 06:33:45 +0000 (23:33 -0700)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 7 May 2026 08:09:59 +0000 (16:09 +0800)
drbg_ctr_generate() sometimes returns success when it fails, leaving the
output buffer uninitialized.  Fix it.

Fixes: cde001e4c3c3 ("crypto: rng - RNGs must return 0 in success case")
Cc: stable@vger.kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/drbg.c

index 9204e6edb426821f607234850f4c07ecf5e7f179..e4eb78ed222b9044abb1ef17eba38286e95990bb 100644 (file)
@@ -377,7 +377,7 @@ static int drbg_ctr_generate(struct drbg_state *drbg,
        if (addtl && !list_empty(addtl)) {
                ret = drbg_ctr_update(drbg, addtl, 2);
                if (ret)
-                       return 0;
+                       return ret;
        }
 
        /* 10.2.1.5.2 step 4.1 */