Page MenuHomeFreeBSD

D34880.diff
No OneTemporary

D34880.diff

Index: sys/netpfil/pf/pf_ioctl.c
===================================================================
--- sys/netpfil/pf/pf_ioctl.c
+++ sys/netpfil/pf/pf_ioctl.c
@@ -3396,6 +3396,7 @@
}
#define ERROUT(x) ERROUT_IOCTL(DIOCCHANGERULE_error, x)
+ PF_CONFIG_LOCK();
PF_RULES_WLOCK();
#ifdef PF_WANT_32_TO_64_COUNTER
if (newrule != NULL) {
@@ -3504,6 +3505,7 @@
if (error) {
pf_free_rule(newrule);
PF_RULES_WUNLOCK();
+ PF_CONFIG_UNLOCK();
break;
}
@@ -3526,6 +3528,7 @@
if (newrule != NULL)
pf_free_rule(newrule);
PF_RULES_WUNLOCK();
+ PF_CONFIG_UNLOCK();
error = EINVAL;
break;
}
@@ -3561,11 +3564,13 @@
pf_remove_if_empty_kruleset(ruleset);
PF_RULES_WUNLOCK();
+ PF_CONFIG_UNLOCK();
break;
#undef ERROUT
DIOCCHANGERULE_error:
PF_RULES_WUNLOCK();
+ PF_CONFIG_UNLOCK();
pf_krule_free(newrule);
pf_kkif_free(kif);
break;

File Metadata

Mime Type
text/plain
Expires
Wed, Nov 20, 12:33 AM (21 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14726167
Default Alt Text
D34880.diff (919 B)

Event Timeline