[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89i+pgjE_zNSnnUAvC3NKyV1cvfz8=aG8KOW7W-jk-MPv1g@mail.gmail.com>
Date: Fri, 4 Apr 2025 20:12:57 +0200
From: Eric Dumazet <edumazet@...gle.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: davem@...emloft.net, netdev@...r.kernel.org, pabeni@...hat.com,
andrew+netdev@...n.ch, horms@...nel.org, borisp@...dia.com,
john.fastabend@...il.com, sd@...asysnail.net,
syzbot+b4cd76826045a1eb93c1@...kaller.appspotmail.com
Subject: Re: [PATCH net 1/2] net: tls: explicitly disallow disconnect
On Fri, Apr 4, 2025 at 8:03 PM Jakub Kicinski <kuba@...nel.org> wrote:
>
> syzbot discovered that it can disconnect a TLS socket and then
> run into all sort of unexpected corner cases. I have a vague
> recollection of Eric pointing this out to us a long time ago.
> Supporting disconnect is really hard, for one thing if offload
> is enabled we'd need to wait for all packets to be _acked_.
> Disconnect is not commonly used, disallow it.
Indeed.
We have sk->sk_disconnects for protocols that have/want to support disconnect.
Anyone interested would have to look at commit 419ce133ab928ab5 ("tcp:
allow again tcp_disconnect() when threads are waiting")
>
> The immediate problem syzbot run into is the warning in the strp,
> but that's just the easiest bug to trigger:
>
> WARNING: CPU: 0 PID: 5834 at net/tls/tls_strp.c:486 tls_strp_msg_load+0x72e/0xa80 net/tls/tls_strp.c:486
> RIP: 0010:tls_strp_msg_load+0x72e/0xa80 net/tls/tls_strp.c:486
> Call Trace:
> <TASK>
> tls_rx_rec_wait+0x280/0xa60 net/tls/tls_sw.c:1363
> tls_sw_recvmsg+0x85c/0x1c30 net/tls/tls_sw.c:2043
> inet6_recvmsg+0x2c9/0x730 net/ipv6/af_inet6.c:678
> sock_recvmsg_nosec net/socket.c:1023 [inline]
> sock_recvmsg+0x109/0x280 net/socket.c:1045
> __sys_recvfrom+0x202/0x380 net/socket.c:2237
>
> Fixes: 3c4d7559159b ("tls: kernel TLS support")
> Reported-by: syzbot+b4cd76826045a1eb93c1@...kaller.appspotmail.com
> Signed-off-by: Jakub Kicinski <kuba@...nel.org>
Reviewed-by: Eric Dumazet <edumazet@...gle.com>
Powered by blists - more mailing lists