svn commit: r344113 - in stable: 10/sys/contrib/ipfilter/netinet 11/sys/contrib/ipfilter/netinet 12/sys/contrib/ipfilter/netinet
Cy Schubert
cy at FreeBSD.org
Thu Feb 14 00:52:04 UTC 2019
Author: cy
Date: Thu Feb 14 00:52:03 2019
New Revision: 344113
URL: https://svnweb.freebsd.org/changeset/base/344113
Log:
MFC r343591:
Do not obtain an already held read lock. This causes a witness panic when
ipfs is invoked. This is the second of two panics resolving PR 235110.
PR: 235110
Reported by: David.Boyd49 at twc.com
Modified:
stable/10/sys/contrib/ipfilter/netinet/ip_nat.c
Directory Properties:
stable/10/ (props changed)
Changes in other areas also in this revision:
Modified:
stable/11/sys/contrib/ipfilter/netinet/ip_nat.c
stable/12/sys/contrib/ipfilter/netinet/ip_nat.c
Directory Properties:
stable/11/ (props changed)
stable/12/ (props changed)
Modified: stable/10/sys/contrib/ipfilter/netinet/ip_nat.c
==============================================================================
--- stable/10/sys/contrib/ipfilter/netinet/ip_nat.c Wed Feb 13 20:13:40 2019 (r344112)
+++ stable/10/sys/contrib/ipfilter/netinet/ip_nat.c Thu Feb 14 00:52:03 2019 (r344113)
@@ -1909,20 +1909,16 @@ ipf_nat_getent(softc, data, getlock)
}
}
if (error == 0) {
- if (getlock) {
- READ_ENTER(&softc->ipf_nat);
- getlock = 0;
- }
error = ipf_outobjsz(softc, data, ipn, IPFOBJ_NATSAVE,
ipns.ipn_dsize);
}
finished:
- if (getlock) {
- READ_ENTER(&softc->ipf_nat);
- }
if (ipn != NULL) {
KFREES(ipn, ipns.ipn_dsize);
+ }
+ if (getlock) {
+ RWLOCK_EXIT(&softc->ipf_nat);
}
return error;
}
More information about the svn-src-all
mailing list