]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
crypto: af_alg - use sock_kmemdup in alg_setkey_by_key_serial
authorThorsten Blum <thorsten.blum@linux.dev>
Sun, 5 Apr 2026 19:49:41 +0000 (21:49 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sun, 12 Apr 2026 08:47:10 +0000 (16:47 +0800)
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>
crypto/af_alg.c

index 0bb609fbec7d9e3338053057baf0baf2122a6993..b491e5477c7004fa95c8594aebda8a606530c340 100644 (file)
@@ -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);