Re: [PATCH] tcp: Do not reset the icsk_ca_initialized in tcp_init_transfer.
From: Nguyen Dinh Phi <hidden>
Date: 2021-06-29 07:17:30
Also in:
bpf, lkml, netdev
On June 29, 2021 1:20:19 AM GMT+08:00, Neal Cardwell [off-list ref] wrote:
) On Mon, Jun 28, 2021 at 1:15 PM Phi Nguyen [off-list ref] wrote:quoted
On 6/29/2021 12:24 AM, Neal Cardwell wrote:quoted
Thanks. Can you also please provide a summary of the event sequence that triggers the bug? Based on your Reported-by tag, I guess this isbasedquoted
quoted
on the syzbot reproducer:https://groups.google.com/g/syzkaller-bugs/c/VbHoSsBz0hk/m/cOxOoTgPCAAJquoted
quoted
but perhaps you can give a summary of the event sequence thatcausesquoted
quoted
the bug? Is it that the call: setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000000)='cdg\x00', 0x4) initializes the CC and happens before the connection isestablished,quoted
quoted
and then when the connection is established, the line that sets: icsk->icsk_ca_initialized = 0; is incorrect, causing the CC to be initialized again without first calling the cleanup code that deallocates the CDG-allocated memory? thanks, nealHi Neal, The gdb stack trace that lead to init_transfer_input() is as bellow,thequoted
current sock state is TCP_SYN_RECV.Thanks. That makes sense as a snapshot of time for tcp_init_transfer(), but I think what would be more useful would be a description of the sequence of events, including when the CC was initialized previous to that point (as noted above, was it that the setsockopt(TCP_CONGESTION) completed before that point?). thanks, neal
I resend my message because I accidently used html format in last one. I am very sorry for the inconvenience caused. --- Yes, the CC had been initialized by the setsockopt, after that, it was initialized again in function tcp_init_transfer() because of setting isck_ca_initialized to 0. Regards, Phi. _______________________________________________ Linux-kernel-mentees mailing list Linux-kernel-mentees@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees