Skip to content

Commit 1a0fad6

Browse files
vwaxherbertx
authored andcommitted
crypto: cryptd - Fix skcipher instance memory leak
cryptd_skcipher_free() fails to free the struct skcipher_instance allocated in cryptd_create_skcipher(), leading to a memory leak. This is detected by kmemleak on bootup on ARM64 platforms: unreferenced object 0xffff80003377b180 (size 1024): comm "cryptomgr_probe", pid 822, jiffies 4294894830 (age 52.760s) backtrace: kmem_cache_alloc_trace+0x270/0x2d0 cryptd_create+0x990/0x124c cryptomgr_probe+0x5c/0x1e8 kthread+0x258/0x318 ret_from_fork+0x10/0x1c Fixes: 4e0958d ("crypto: cryptd - Add support for skcipher") Cc: <[email protected]> Signed-off-by: Vincent Whitchurch <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
1 parent c8ea9fc commit 1a0fad6

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

crypto/cryptd.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,7 @@ static void cryptd_skcipher_free(struct skcipher_instance *inst)
393393
struct skcipherd_instance_ctx *ctx = skcipher_instance_ctx(inst);
394394

395395
crypto_drop_skcipher(&ctx->spawn);
396+
kfree(inst);
396397
}
397398

398399
static int cryptd_create_skcipher(struct crypto_template *tmpl,

0 commit comments

Comments
 (0)