BPF List
 help / color / mirror / Atom feed
From: John Fastabend <john.fastabend@gmail.com>
To: bpf@vger.kernel.org, jiayuan.chen@linux.dev
Subject: Re: [PATCH bpf-next v2 1/2] bpf: fix ktls panic with sockmap
Date: Wed, 2 Apr 2025 16:15:48 -0700	[thread overview]
Message-ID: <20250402231548.5d242cty2r4msj52@gmail.com> (raw)
In-Reply-To: <20250219052015.274405-2-jiayuan.chen@linux.dev>

On 2025-04-02 16:10:21, John Fastabend wrote:
> From: Jiayuan Chen <jiayuan.chen@linux.dev>
> 
> [ 2172.936997] ------------[ cut here ]------------
> [ 2172.936999] kernel BUG at lib/iov_iter.c:629!
> ......
> [ 2172.944996] PKRU: 55555554
> [ 2172.945155] Call Trace:
> [ 2172.945299]  <TASK>
> [ 2172.945428]  ? die+0x36/0x90
> [ 2172.945601]  ? do_trap+0xdd/0x100
> [ 2172.945795]  ? iov_iter_revert+0x178/0x180
> [ 2172.946031]  ? iov_iter_revert+0x178/0x180
> [ 2172.946267]  ? do_error_trap+0x7d/0x110
> [ 2172.946499]  ? iov_iter_revert+0x178/0x180
> [ 2172.946736]  ? exc_invalid_op+0x50/0x70
> [ 2172.946961]  ? iov_iter_revert+0x178/0x180
> [ 2172.947197]  ? asm_exc_invalid_op+0x1a/0x20
> [ 2172.947446]  ? iov_iter_revert+0x178/0x180
> [ 2172.947683]  ? iov_iter_revert+0x5c/0x180
> [ 2172.947913]  tls_sw_sendmsg_locked.isra.0+0x794/0x840
> [ 2172.948206]  tls_sw_sendmsg+0x52/0x80
> [ 2172.948420]  ? inet_sendmsg+0x1f/0x70
> [ 2172.948634]  __sys_sendto+0x1cd/0x200
> [ 2172.948848]  ? find_held_lock+0x2b/0x80
> [ 2172.949072]  ? syscall_trace_enter+0x140/0x270
> [ 2172.949330]  ? __lock_release.isra.0+0x5e/0x170
> [ 2172.949595]  ? find_held_lock+0x2b/0x80
> [ 2172.949817]  ? syscall_trace_enter+0x140/0x270
> [ 2172.950211]  ? lockdep_hardirqs_on_prepare+0xda/0x190
> [ 2172.950632]  ? ktime_get_coarse_real_ts64+0xc2/0xd0
> [ 2172.951036]  __x64_sys_sendto+0x24/0x30
> [ 2172.951382]  do_syscall_64+0x90/0x170
> ......

Sorry for the broken send there I hit send on accident. New laptop
doesn't have all the right config yet.

> 
> Fixes: fcb14cb1bdac ("new iov_iter flavour - ITER_UBUF")
> Fixes: d3b18ad31f93 ("tls: add bpf support to sk_msg handling")
> Signed-off-by: Jiayuan Chen <jiayuan.chen@linux.dev>
> ---
>  net/tls/tls_sw.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)

I tend to agree this is not a good situation. Returning 0 is probably
suspect as well and likely breaks some applications. But considering
we already have this behavior I think its best not to change here
if its not causing trouble.

And not panic'ing is clearly better. So...

Acked-by: John Fastabend <john.fastabend@gmail.com>

> 
> diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c
> index 914d4e1516a3..f3d7d19482da 100644
> --- a/net/tls/tls_sw.c
> +++ b/net/tls/tls_sw.c
> @@ -1120,9 +1120,13 @@ static int tls_sw_sendmsg_locked(struct sock *sk, struct msghdr *msg,
>  					num_async++;
>  				else if (ret == -ENOMEM)
>  					goto wait_for_memory;
> -				else if (ctx->open_rec && ret == -ENOSPC)
> +				else if (ctx->open_rec && ret == -ENOSPC) {
> +					if (msg_pl->cork_bytes) {
> +						ret = 0;
> +						goto send_end;
> +					}
>  					goto rollback_iter;
> -				else if (ret != -EAGAIN)
> +				} else if (ret != -EAGAIN)
>  					goto send_end;
>  			}
>  			continue;
> -- 
> 2.47.1
> 
> 

  parent reply	other threads:[~2025-04-02 23:16 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-19  5:20 [PATCH bpf-next v2 0/2] bpf: fix ktls panic with sockmap and add tests Jiayuan Chen
2025-02-19  5:20 ` [PATCH bpf-next v2 1/2] bpf: fix ktls panic with sockmap Jiayuan Chen
2025-04-02 23:10   ` John Fastabend
2025-04-02 23:15   ` John Fastabend [this message]
2025-04-08 15:04     ` Jiayuan Chen
2025-02-19  5:20 ` [PATCH bpf-next v2 2/2] selftests/bpf: add ktls selftest Jiayuan Chen
2025-04-02 23:49   ` John Fastabend
2025-04-10  3:00 ` [PATCH bpf-next v2 0/2] bpf: fix ktls panic with sockmap and add tests patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250402231548.5d242cty2r4msj52@gmail.com \
    --to=john.fastabend@gmail.com \
    --cc=bpf@vger.kernel.org \
    --cc=jiayuan.chen@linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox