Changeset View
Changeset View
Standalone View
Standalone View
sys/netpfil/pf/pf_ioctl.c
| Show First 20 Lines • Show All 2,945 Lines • ▼ Show 20 Lines | #define ERROUT(x) ERROUT_IOCTL(DIOCGETETHRULE_error, x) | ||||
| if (rule == NULL) { | if (rule == NULL) { | ||||
| PF_RULES_RUNLOCK(); | PF_RULES_RUNLOCK(); | ||||
| ERROUT(ENOENT); | ERROUT(ENOENT); | ||||
| } | } | ||||
| /* Make sure rule can't go away. */ | /* Make sure rule can't go away. */ | ||||
| NET_EPOCH_ENTER(et); | NET_EPOCH_ENTER(et); | ||||
| PF_RULES_RUNLOCK(); | PF_RULES_RUNLOCK(); | ||||
| nvl = pf_keth_rule_to_nveth_rule(rule); | nvl = pf_keth_rule_to_nveth_rule(rule); | ||||
| if (pf_keth_anchor_nvcopyout(rs, rule, nvl)) | if (pf_keth_anchor_nvcopyout(rs, rule, nvl)) { | ||||
| NET_EPOCH_EXIT(et); | |||||
| ERROUT(EBUSY); | ERROUT(EBUSY); | ||||
| } | |||||
| NET_EPOCH_EXIT(et); | NET_EPOCH_EXIT(et); | ||||
| if (nvl == NULL) | if (nvl == NULL) | ||||
| ERROUT(ENOMEM); | ERROUT(ENOMEM); | ||||
| nvlpacked = nvlist_pack(nvl, &nv->len); | nvlpacked = nvlist_pack(nvl, &nv->len); | ||||
| if (nvlpacked == NULL) | if (nvlpacked == NULL) | ||||
| ERROUT(ENOMEM); | ERROUT(ENOMEM); | ||||
| ▲ Show 20 Lines • Show All 3,905 Lines • Show Last 20 Lines | |||||