Hm, shouldn't we free all the tfm entries here?@@ -597,6 +597,11 @@ static int tipc_aead_init(struct tipc_aead **aead, struct tipc_aead_key *ukey,Acked-by: Jon Maloy<jmaloy@xxxxxxxxxx>
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;
+ }