Date: Tue, 21 Jan 2020 11:43:26 +0000 (UTC) From: Hans Petter Selasky <hselasky@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r356938 - head/sys/kern Message-ID: <202001211143.00LBhQfT059272@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: hselasky Date: Tue Jan 21 11:43:25 2020 New Revision: 356938 URL: https://svnweb.freebsd.org/changeset/base/356938 Log: Make sure the VNET is properly set when calling tcp_drop() from the ktls taskqueue callback function. A valid VNET is needed when updating statistics. panic() tcp_state_change() tcp_drop() ktls_reset_send_tag() taskqueue_run_locked() taskqueue_thread_loop() Sponsored by: Mellanox Technologies Modified: head/sys/kern/uipc_ktls.c Modified: head/sys/kern/uipc_ktls.c ============================================================================== --- head/sys/kern/uipc_ktls.c Tue Jan 21 05:01:11 2020 (r356937) +++ head/sys/kern/uipc_ktls.c Tue Jan 21 11:43:25 2020 (r356938) @@ -1141,7 +1141,9 @@ ktls_reset_send_tag(void *context, int pending) if (!(inp->inp_flags & INP_TIMEWAIT) && !(inp->inp_flags & INP_DROPPED)) { tp = intotcpcb(inp); + CURVNET_SET(tp->t_vnet); tp = tcp_drop(tp, ECONNABORTED); + CURVNET_RESTORE(); if (tp != NULL) INP_WUNLOCK(inp); counter_u64_add(ktls_ifnet_reset_dropped, 1);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202001211143.00LBhQfT059272>