svn commit: r356938 - head/sys/kern
Hans Petter Selasky
hselasky at FreeBSD.org
Tue Jan 21 11:43:26 UTC 2020
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);
More information about the svn-src-head
mailing list