Deleted Added
full compact
1c1
< /* $FreeBSD: head/sys/contrib/ipfilter/netinet/ip_nat.c 172776 2007-10-18 21:52:14Z darrenr $ */
---
> /* $FreeBSD: head/sys/contrib/ipfilter/netinet/ip_nat.c 173181 2007-10-30 15:23:27Z darrenr $ */
120c120
< static const char rcsid[] = "@(#)$FreeBSD: head/sys/contrib/ipfilter/netinet/ip_nat.c 172776 2007-10-18 21:52:14Z darrenr $";
---
> static const char rcsid[] = "@(#)$FreeBSD: head/sys/contrib/ipfilter/netinet/ip_nat.c 173181 2007-10-30 15:23:27Z darrenr $";
193,194c193,194
< static int fr_natgetent __P((caddr_t));
< static int fr_natgetsz __P((caddr_t));
---
> static int fr_natgetent __P((caddr_t, int));
> static int fr_natgetsz __P((caddr_t, int));
823,825d822
< if (getlock) {
< READ_ENTER(&ipf_nat);
< }
828c825,834
< if (nat_lookupredir(&nl) != NULL) {
---
> void *ptr;
>
> if (getlock) {
> READ_ENTER(&ipf_nat);
> }
> ptr = nat_lookupredir(&nl);
> if (getlock) {
> RWLOCK_EXIT(&ipf_nat);
> }
> if (ptr != NULL) {
834,836d839
< if (getlock) {
< RWLOCK_EXIT(&ipf_nat);
< }
891,897c894
< if (getlock) {
< READ_ENTER(&ipf_nat);
< }
< error = fr_natgetsz(data);
< if (getlock) {
< RWLOCK_EXIT(&ipf_nat);
< }
---
> error = fr_natgetsz(data, getlock);
904,910c901
< if (getlock) {
< READ_ENTER(&ipf_nat);
< }
< error = fr_natgetent(data);
< if (getlock) {
< RWLOCK_EXIT(&ipf_nat);
< }
---
> error = fr_natgetent(data, getlock);
1205c1196
< static int fr_natgetsz(data)
---
> static int fr_natgetsz(data, getlock)
1206a1198
> int getlock;
1214a1207,1210
> if (getlock) {
> READ_ENTER(&ipf_nat);
> }
>
1222a1219,1221
> if (getlock) {
> RWLOCK_EXIT(&ipf_nat);
> }
1236c1235,1238
< if (!n)
---
> if (n == NULL) {
> if (getlock) {
> RWLOCK_EXIT(&ipf_nat);
> }
1237a1240
> }
1249a1253,1255
> if (getlock) {
> RWLOCK_EXIT(&ipf_nat);
> }
1267c1273
< static int fr_natgetent(data)
---
> static int fr_natgetent(data, getlock)
1268a1275
> int getlock;
1285a1293,1296
> if (getlock) {
> READ_ENTER(&ipf_nat);
> }
>
1355a1367,1370
> if (getlock) {
> RWLOCK_EXIT(&ipf_nat);
> getlock = 0;
> }
1359a1375,1377
> if (getlock) {
> RWLOCK_EXIT(&ipf_nat);
> }