diff options
author | 2017-05-15 12:26:00 +0000 | |
---|---|---|
committer | 2017-05-15 12:26:00 +0000 | |
commit | 15ece216a76a558919b695fc79df35c449815136 (patch) | |
tree | ee6357fa89a02f944bbca595fcfe89891120ebb1 /sys/net/pf_ioctl.c | |
parent | clang warns on unused static const variables. Remove one such unused (diff) | |
download | wireguard-openbsd-15ece216a76a558919b695fc79df35c449815136.tar.xz wireguard-openbsd-15ece216a76a558919b695fc79df35c449815136.zip |
Enable the NET_LOCK(), take 3.
Recursions are still marked as XXXSMP.
ok deraadt@, bluhm@
Diffstat (limited to 'sys/net/pf_ioctl.c')
-rw-r--r-- | sys/net/pf_ioctl.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/sys/net/pf_ioctl.c b/sys/net/pf_ioctl.c index fac156bae3f..7cb7b92ed8a 100644 --- a/sys/net/pf_ioctl.c +++ b/sys/net/pf_ioctl.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pf_ioctl.c,v 1.311 2017/05/15 11:23:25 mikeb Exp $ */ +/* $OpenBSD: pf_ioctl.c,v 1.312 2017/05/15 12:26:00 mpi Exp $ */ /* * Copyright (c) 2001 Daniel Hartmeier @@ -111,7 +111,6 @@ void pf_qid2qname(u_int16_t, char *); void pf_qid_unref(u_int16_t); struct pf_rule pf_default_rule, pf_default_rule_new; -struct rwlock pf_consistency_lock = RWLOCK_INITIALIZER("pfcnslk"); struct { char statusif[IFNAMSIZ]; @@ -999,12 +998,7 @@ pfioctl(dev_t dev, u_long cmd, caddr_t addr, int flags, struct proc *p) return (EACCES); } - if (flags & FWRITE) - rw_enter_write(&pf_consistency_lock); - else - rw_enter_read(&pf_consistency_lock); - - s = splsoftnet(); + NET_LOCK(s); switch (cmd) { case DIOCSTART: @@ -2458,11 +2452,7 @@ pfioctl(dev_t dev, u_long cmd, caddr_t addr, int flags, struct proc *p) break; } fail: - splx(s); - if (flags & FWRITE) - rw_exit_write(&pf_consistency_lock); - else - rw_exit_read(&pf_consistency_lock); + NET_UNLOCK(s); return (error); } |