summaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorThorsten Blum <thorsten.blum@linux.dev>2026-04-05 21:49:41 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2026-04-12 16:47:10 +0800
commit8879a3c110cb8ca5a69c937643f226697aa551d9 (patch)
tree11f4dd5b6876eb96030c960fa11788b5df0d6d3e /crypto
parentc697c5fcfb5e73c723ca7d9f003e37b2b9534520 (diff)
downloadlwn-8879a3c110cb8ca5a69c937643f226697aa551d9.tar.gz
lwn-8879a3c110cb8ca5a69c937643f226697aa551d9.zip
crypto: af_alg - use sock_kmemdup in alg_setkey_by_key_serial
Replace sock_kmalloc() followed by memcpy() with sock_kmemdup() to simplify alg_setkey_by_key_serial(). Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/af_alg.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/crypto/af_alg.c b/crypto/af_alg.c
index 0bb609fbec7d..b491e5477c70 100644
--- a/crypto/af_alg.c
+++ b/crypto/af_alg.c
@@ -324,15 +324,13 @@ static int alg_setkey_by_key_serial(struct alg_sock *ask, sockptr_t optval,
return PTR_ERR(ret);
}
- key_data = sock_kmalloc(&ask->sk, key_datalen, GFP_KERNEL);
+ key_data = sock_kmemdup(&ask->sk, ret, key_datalen, GFP_KERNEL);
if (!key_data) {
up_read(&key->sem);
key_put(key);
return -ENOMEM;
}
- memcpy(key_data, ret, key_datalen);
-
up_read(&key->sem);
key_put(key);