svn commit: r356980 - head/sys/netinet
Gleb Smirnoff
glebius at FreeBSD.org
Wed Jan 22 06:04:57 UTC 2020
Author: glebius
Date: Wed Jan 22 06:04:56 2020
New Revision: 356980
URL: https://svnweb.freebsd.org/changeset/base/356980
Log:
Don't enter network epoch in tcp_usr_detach. A PCB removal doesn't
require that.
Modified:
head/sys/netinet/tcp_usrreq.c
Modified: head/sys/netinet/tcp_usrreq.c
==============================================================================
--- head/sys/netinet/tcp_usrreq.c Wed Jan 22 06:03:45 2020 (r356979)
+++ head/sys/netinet/tcp_usrreq.c Wed Jan 22 06:04:56 2020 (r356980)
@@ -214,7 +214,6 @@ tcp_detach(struct socket *so, struct inpcb *inp)
{
struct tcpcb *tp;
- INP_INFO_LOCK_ASSERT(&V_tcbinfo);
INP_WLOCK_ASSERT(inp);
KASSERT(so->so_pcb == inp, ("tcp_detach: so_pcb != inp"));
@@ -311,21 +310,13 @@ static void
tcp_usr_detach(struct socket *so)
{
struct inpcb *inp;
- int rlock = 0;
- struct epoch_tracker et;
inp = sotoinpcb(so);
KASSERT(inp != NULL, ("tcp_usr_detach: inp == NULL"));
- if (!INP_INFO_WLOCKED(&V_tcbinfo)) {
- NET_EPOCH_ENTER(et);
- rlock = 1;
- }
INP_WLOCK(inp);
KASSERT(inp->inp_socket != NULL,
("tcp_usr_detach: inp_socket == NULL"));
tcp_detach(so, inp);
- if (rlock)
- NET_EPOCH_EXIT(et);
}
#ifdef INET
More information about the svn-src-all
mailing list