Re: Easily reproducible stable/13 kernel crash

From: Matthew Grooms <mgrooms_at_shrew.net>
Date: Fri, 11 Jun 2021 13:49:04 UTC
On 6/11/2021 8:40 AM, Hans Petter Selasky wrote:
> Hi,
>
> Also need to update tcp_var.h:
>
> diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c
> index dff7767cd9c..33bc0549165 100644
> --- a/sys/netinet/tcp_subr.c
> +++ b/sys/netinet/tcp_subr.c
> @@ -1234,6 +1234,10 @@ tcp_init(void)
>         tcp_inp_lro_wokeup_queue = counter_u64_alloc(M_WAITOK);
>         tcp_inp_lro_compressed = counter_u64_alloc(M_WAITOK);
>         tcp_inp_lro_locks_taken = counter_u64_alloc(M_WAITOK);
> +       tcp_extra_mbuf = counter_u64_alloc(M_WAITOK);
> +       tcp_would_have_but = counter_u64_alloc(M_WAITOK);
> +       tcp_comp_total = counter_u64_alloc(M_WAITOK);
> +       tcp_uncomp_total = counter_u64_alloc(M_WAITOK);
>  #ifdef TCPPCAP
>         tcp_pcap_init();
>  #endif
> diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h
> index c9b337b3c3d..049aa0cc7b0 100644
> --- a/sys/netinet/tcp_var.h
> +++ b/sys/netinet/tcp_var.h
> @@ -984,6 +984,10 @@ extern counter_u64_t tcp_inp_lro_direct_queue;
>  extern counter_u64_t tcp_inp_lro_wokeup_queue;
>  extern counter_u64_t tcp_inp_lro_compressed;
>  extern counter_u64_t tcp_inp_lro_locks_taken;
> +extern counter_u64_t tcp_extra_mbuf;
> +extern counter_u64_t tcp_would_have_but;
> +extern counter_u64_t tcp_comp_total;
> +extern counter_u64_t tcp_uncomp_total;
>
>  #ifdef NETFLIX_EXP_DETECTION
>  /* Various SACK attack thresholds */
>
This patch fixes the crash for me. A sysctl -a now completes without an 
issue. Thanks for the fast response!

-Matthew