OSDN Git Service

net/tls: Init routines in create_ctx
authorAtul Gupta <atul.gupta@chelsio.com>
Tue, 11 Dec 2018 10:19:40 +0000 (02:19 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 14 Dec 2018 21:39:39 +0000 (13:39 -0800)
create_ctx is called from tls_init and tls_hw_prot
hence initialize function pointers in common routine.

Signed-off-by: Atul Gupta <atul.gupta@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tls/tls_main.c

index 311cec8..4920803 100644 (file)
@@ -543,6 +543,9 @@ static struct tls_context *create_ctx(struct sock *sk)
                return NULL;
 
        icsk->icsk_ulp_data = ctx;
+       ctx->setsockopt = sk->sk_prot->setsockopt;
+       ctx->getsockopt = sk->sk_prot->getsockopt;
+       ctx->sk_proto_close = sk->sk_prot->close;
        return ctx;
 }
 
@@ -675,9 +678,6 @@ static int tls_init(struct sock *sk)
                rc = -ENOMEM;
                goto out;
        }
-       ctx->setsockopt = sk->sk_prot->setsockopt;
-       ctx->getsockopt = sk->sk_prot->getsockopt;
-       ctx->sk_proto_close = sk->sk_prot->close;
 
        /* Build IPv6 TLS whenever the address of tcpv6 _prot changes */
        if (ip_ver == TLSV6 &&