[PATCH][next] KEYS: trusted: Fix missing null return from kzalloc call

From: Colin King
Date: Mon Apr 12 2021 - 12:01:15 EST


From: Colin Ian King <colin.king@xxxxxxxxxxxxx>

The kzalloc call can return null with the GFP_KERNEL flag so
add a null check and exit via a new error exit label. Use the
same exit error label for another error path too.

Addresses-Coverity: ("Dereference null return value")
Fixes: 830027e2cb55 ("KEYS: trusted: Add generic trusted keys framework")
Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
---
security/keys/trusted-keys/trusted_core.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/security/keys/trusted-keys/trusted_core.c b/security/keys/trusted-keys/trusted_core.c
index ec3a066a4b42..90774793f0b1 100644
--- a/security/keys/trusted-keys/trusted_core.c
+++ b/security/keys/trusted-keys/trusted_core.c
@@ -116,11 +116,13 @@ static struct trusted_key_payload *trusted_payload_alloc(struct key *key)

ret = key_payload_reserve(key, sizeof(*p));
if (ret < 0)
- return p;
+ goto err;
p = kzalloc(sizeof(*p), GFP_KERNEL);
+ if (!p)
+ goto err;

p->migratable = migratable;
-
+err:
return p;
}

--
2.30.2