chelsio/chtls: fix writing freed memory
authorVinay Kumar Yadav <vinay.yadav@chelsio.com>
Mon, 19 Oct 2020 11:50:25 +0000 (17:20 +0530)
committerJakub Kicinski <kuba@kernel.org>
Wed, 21 Oct 2020 00:29:17 +0000 (17:29 -0700)
When chtls_sock *csk is freed, same memory can be allocated
to different csk in chtls_sock_create().
csk->cdev = NULL; statement might ends up modifying wrong
csk, eventually causing kernel panic.
removing (csk->cdev = NULL) statement as it is not required.

Fixes: 3a0a97838923 ("crypto/chtls: Fix chtls crash in connection cleanup")
Signed-off-by: Vinay Kumar Yadav <vinay.yadav@chelsio.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c

index bdb53fa4102223d22ef7b388c0264ec9a74d06be..ec4f79049a061bda7109b686d1525ea238d52f9d 100644 (file)
@@ -483,7 +483,6 @@ void chtls_destroy_sock(struct sock *sk)
        chtls_purge_write_queue(sk);
        free_tls_keyid(sk);
        kref_put(&csk->kref, chtls_sock_release);
-       csk->cdev = NULL;
        if (sk->sk_family == AF_INET)
                sk->sk_prot = &tcp_prot;
 #if IS_ENABLED(CONFIG_IPV6)