mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
chelsio/chtls: fix panic when server is on ipv6
Netdev is filled in egress_dev when connection is established,
If connection is closed before establishment, then egress_dev
is NULL, Fix it using ip_dev_find() rather then extracting from
egress_dev.
Fixes: 6abde0b241
("crypto/chtls: IPv6 support for inline TLS")
Signed-off-by: Venkatesh Ellapu <venkatesh.e@chelsio.com>
Signed-off-by: Vinay Kumar Yadav <vinay.yadav@chelsio.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
81519d1f7d
commit
86cdf9ca44
1 changed files with 2 additions and 3 deletions
|
@ -736,14 +736,13 @@ void chtls_listen_stop(struct chtls_dev *cdev, struct sock *sk)
|
|||
|
||||
#if IS_ENABLED(CONFIG_IPV6)
|
||||
if (sk->sk_family == PF_INET6) {
|
||||
struct chtls_sock *csk;
|
||||
struct net_device *ndev = chtls_find_netdev(cdev, sk);
|
||||
int addr_type = 0;
|
||||
|
||||
csk = rcu_dereference_sk_user_data(sk);
|
||||
addr_type = ipv6_addr_type((const struct in6_addr *)
|
||||
&sk->sk_v6_rcv_saddr);
|
||||
if (addr_type != IPV6_ADDR_ANY)
|
||||
cxgb4_clip_release(csk->egress_dev, (const u32 *)
|
||||
cxgb4_clip_release(ndev, (const u32 *)
|
||||
&sk->sk_v6_rcv_saddr, 1);
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue