OSDN Git Service

net/tls: Use kmemdup to simplify the code
authorzhong jiang <zhongjiang@huawei.com>
Tue, 31 Jul 2018 16:50:24 +0000 (00:50 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 1 Aug 2018 16:47:47 +0000 (09:47 -0700)
Kmemdup is better than kmalloc+memcpy. So replace them.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tls/tls_device.c
net/tls/tls_sw.c

index 1e968d2..292742e 100644 (file)
@@ -716,12 +716,11 @@ int tls_set_device_offload(struct sock *sk, struct tls_context *ctx)
        memcpy(ctx->tx.iv + TLS_CIPHER_AES_GCM_128_SALT_SIZE, iv, iv_size);
 
        ctx->tx.rec_seq_size = rec_seq_size;
-       ctx->tx.rec_seq = kmalloc(rec_seq_size, GFP_KERNEL);
+       ctx->tx.rec_seq = kmemdup(rec_seq, rec_seq_size, GFP_KERNEL);
        if (!ctx->tx.rec_seq) {
                rc = -ENOMEM;
                goto free_iv;
        }
-       memcpy(ctx->tx.rec_seq, rec_seq, rec_seq_size);
 
        rc = tls_sw_fallback_init(sk, offload_ctx, crypto_info);
        if (rc)
index 33838f1..ff3a690 100644 (file)
@@ -1173,12 +1173,11 @@ int tls_set_sw_offload(struct sock *sk, struct tls_context *ctx, int tx)
        memcpy(cctx->iv, gcm_128_info->salt, TLS_CIPHER_AES_GCM_128_SALT_SIZE);
        memcpy(cctx->iv + TLS_CIPHER_AES_GCM_128_SALT_SIZE, iv, iv_size);
        cctx->rec_seq_size = rec_seq_size;
-       cctx->rec_seq = kmalloc(rec_seq_size, GFP_KERNEL);
+       cctx->rec_seq = kmemdup(rec_seq, rec_seq_size, GFP_KERNEL);
        if (!cctx->rec_seq) {
                rc = -ENOMEM;
                goto free_iv;
        }
-       memcpy(cctx->rec_seq, rec_seq, rec_seq_size);
 
        if (sw_ctx_tx) {
                sg_init_table(sw_ctx_tx->sg_encrypted_data,