[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211224074646.1588903-1-jiasheng@iscas.ac.cn>
Date: Fri, 24 Dec 2021 15:46:46 +0800
From: Jiasheng Jiang <jiasheng@...as.ac.cn>
To: jmaloy@...hat.com, ying.xue@...driver.com, davem@...emloft.net,
kuba@...nel.org
Cc: netdev@...r.kernel.org, tipc-discussion@...ts.sourceforge.net,
linux-kernel@...r.kernel.org, Jiasheng Jiang <jiasheng@...as.ac.cn>
Subject: [PATCH] net/tipc: Check null mem pointer
For the possible alloc failure of the kmemdup(), it may return null
pointer.
Therefore, the returned pointer should be checked to guarantee the
success of the init.
Fixes: fc1b6d6de220 ("tipc: introduce TIPC encryption & authentication")
Signed-off-by: Jiasheng Jiang <jiasheng@...as.ac.cn>
---
net/tipc/crypto.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/net/tipc/crypto.c b/net/tipc/crypto.c
index c9391d38de85..19015e08e750 100644
--- a/net/tipc/crypto.c
+++ b/net/tipc/crypto.c
@@ -596,7 +596,14 @@ static int tipc_aead_init(struct tipc_aead **aead, struct tipc_aead_key *ukey,
tmp->mode = mode;
tmp->cloned = NULL;
tmp->authsize = TIPC_AES_GCM_TAG_SIZE;
+
tmp->key = kmemdup(ukey, tipc_aead_key_size(ukey), GFP_KERNEL);
+ if (!tmp->key) {
+ free_percpu(tmp->tfm_entry);
+ kfree_sensitive(tmp);
+ return -ENOMEM;
+ }
+
memcpy(&tmp->salt, ukey->key + keylen, TIPC_AES_GCM_SALT_SIZE);
atomic_set(&tmp->users, 0);
atomic64_set(&tmp->seqno, 0);
--
2.25.1
Powered by blists - more mailing lists