Author: rwatson
Date: Sat Mar 6 22:04:45 2010
New Revision: 204810
URL: http://svn.freebsd.org/changeset/base/204810
Log:
Remove unnecessary locking of divcbinfo lock from div_output(): this has not
been required since FreeBSD 7.0 when the so_pcb pointer leading to inp was
guaranteed to be stable when a valid socket reference is held (as it is in
the output path).
MFC after: 1 week
Reviewed by: bz
Sponsored by: Juniper Networks
Modified:
head/sys/netinet/ip_divert.c
Modified: head/sys/netinet/ip_divert.c
==============================================================================
--- head/sys/netinet/ip_divert.c Sat Mar 6 21:38:31 2010
(r204809)
+++ head/sys/netinet/ip_divert.c Sat Mar 6 22:04:45 2010
(r204810)
@@ -385,7 +385,6 @@ div_output(struct socket *so, struct mbu
struct inpcb *inp;
dt->info |= IPFW_IS_DIVERT | IPFW_INFO_OUT;
- INP_INFO_WLOCK(&V_divcbinfo);
inp = sotoinpcb(so);
INP_RLOCK(inp);
/*
@@ -396,7 +395,6 @@ div_output(struct socket *so, struct mbu
((u_short)ntohs(ip->ip_len) > m->m_pkthdr.len)) {
error = EINVAL;
INP_RUNLOCK(inp);
- INP_INFO_WUNLOCK(&V_divcbinfo);
m_freem(m);
} else {
/* Convert fields to host order for ip_output() */
@@ -437,7 +435,6 @@ div_output(struct socket *so, struct mbu
error = ENOBUFS;
}
INP_RUNLOCK(inp);
- INP_INFO_WUNLOCK(&V_divcbinfo);
if (error == ENOBUFS) {
m_freem(m);
return (error);
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"