Remove net lock from DIOC{S,G}ETLIMIT
authorkn <kn@openbsd.org>
Fri, 26 May 2023 12:13:26 +0000 (12:13 +0000)
committerkn <kn@openbsd.org>
Fri, 26 May 2023 12:13:26 +0000 (12:13 +0000)
commitd66d11b478f9a50073031ddedae40d5169d68237
tree0f83028e7a92c601b2294f35b4477f3c67a3aeae
parent38386b36694c0e53e1ee3f424fdfbaf800075e82
Remove net lock from DIOC{S,G}ETLIMIT

Grab the pf lock for pf_pool_limits[] in pfsync such that all access is
covered by the pf lock;  document accordingly.

Hard memory pool limits don't need the net lock for protection, pool(9)s
have their own internal lock and the pf lock fully covers limit values.

(pf_pool_limits[] access in DIOCXCOMMIT remains under pf *and net* lock
 until the rest in there gets pulled out of the net lock.)

OK sashan
sys/net/if_pfsync.c
sys/net/pf_ioctl.c
sys/net/pfvar.h