Skip to contentSkip to conversation

crypto: caam: Add check for kcalloc() in test_len()

PATCH In review Guangshuo Li 2 participants 2 messages Sep 23, 2025 – Oct 17, 2025

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 crypto: caam: Add check for kcalloc() in test_len()

As kcalloc() may fail, check its return value to avoid a NULL pointer dereference when passing the buffer to rng->read(). On allocation failure, log the error and return since test_len() returns void.

Fixes 2be0d806e25e ("crypto: caam - add a test for the RNG")

---
changelog:
v3:
- Fix build error: test_len() returns void; return without a value.
- No functional changes beyond the allocation failure path.

v2:
- Return on allocation failure to avoid possible NULL dereference.

---
 drivers/crypto/caam/caamrng.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/crypto/caam/caamrng.c +3 -1
index b3d14a7f4dd1..0eb43c862516 100644
@@ -181,7 +181,9 @@ static inline void test_len(struct hwrng *rng, size_t len, bool wait)
 	struct device *dev = ctx->ctrldev;
 
 	buf = kcalloc(CAAM_RNG_MAX_FIFO_STORE_SIZE, sizeof(u8), GFP_KERNEL);
-
+	if (!buf) {
+		return;
+	}
 	while (len > 0) {
 		read_len = rng->read(rng, buf, len, wait);
 
Signature · 1 line
2.43.0
maintainer
#1 lore raw
Quoted 13 lines · Guangshuo Li

As kcalloc() may fail, check its return value to avoid a NULL pointer dereference when passing the buffer to rng->read(). On allocation failure, log the error and return since test_len() returns void.

Fixes 2be0d806e25e ("crypto: caam - add a test for the RNG")

---
changelog:
v3:
- Fix build error: test_len() returns void; return without a value.
- No functional changes beyond the allocation failure path.

Quoted 5 lines

v2:
- Return on allocation failure to avoid possible NULL dereference.

---
 drivers/crypto/caam/caamrng.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Patch applied. Thanks.

Signature · 3 lines
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt