Page MenuHomeFreeBSD

D27961.diff
No OneTemporary

D27961.diff

diff --git a/sys/contrib/ipfilter/netinet/mlfk_ipl.c b/sys/contrib/ipfilter/netinet/mlfk_ipl.c
--- a/sys/contrib/ipfilter/netinet/mlfk_ipl.c
+++ b/sys/contrib/ipfilter/netinet/mlfk_ipl.c
@@ -367,77 +367,51 @@
}
/*
- * In the VIMAGE case kern_sysctl.c already adds the vnet base address given
- * we set CTLFLAG_VNET to get proper access checks. Have to undo this.
- * Then we add the given offset to the specific malloced struct hanging off
- * virtualized ipmain struct.
+ * arg2 holds the offset of the relevant member in the virtualized
+ * ipfmain structure.
*/
static int
sysctl_ipf_int_nat ( SYSCTL_HANDLER_ARGS )
{
+ ipf_nat_softc_t *nat_softc;
- if (arg1) {
- ipf_nat_softc_t *nat_softc;
+ nat_softc = V_ipfmain.ipf_nat_soft;
+ arg1 = (void *)((uintptr_t)nat_softc + arg2);
- nat_softc = V_ipfmain.ipf_nat_soft;
-#ifdef VIMAGE
- arg1 = (void *)((uintptr_t)arg1 - curvnet->vnet_data_base);
-#endif
- arg1 = (void *)((uintptr_t)nat_softc + (uintptr_t)arg1);
- }
-
- return (sysctl_ipf_int(oidp, arg1, arg2, req));
+ return (sysctl_ipf_int(oidp, arg1, 0, req));
}
static int
sysctl_ipf_int_state ( SYSCTL_HANDLER_ARGS )
{
+ ipf_state_softc_t *state_softc;
- if (arg1) {
- ipf_state_softc_t *state_softc;
-
- state_softc = V_ipfmain.ipf_state_soft;
-#ifdef VIMAGE
- arg1 = (void *)((uintptr_t)arg1 - curvnet->vnet_data_base);
-#endif
- arg1 = (void *)((uintptr_t)state_softc + (uintptr_t)arg1);
- }
+ state_softc = V_ipfmain.ipf_state_soft;
+ arg1 = (void *)((uintptr_t)state_softc + arg2);
- return (sysctl_ipf_int(oidp, arg1, arg2, req));
+ return (sysctl_ipf_int(oidp, arg1, 0, req));
}
static int
sysctl_ipf_int_auth ( SYSCTL_HANDLER_ARGS )
{
+ ipf_auth_softc_t *auth_softc;
- if (arg1) {
- ipf_auth_softc_t *auth_softc;
+ auth_softc = V_ipfmain.ipf_auth_soft;
+ arg1 = (void *)((uintptr_t)auth_softc + arg2);
- auth_softc = V_ipfmain.ipf_auth_soft;
-#ifdef VIMAGE
- arg1 = (void *)((uintptr_t)arg1 - curvnet->vnet_data_base);
-#endif
- arg1 = (void *)((uintptr_t)auth_softc + (uintptr_t)arg1);
- }
-
- return (sysctl_ipf_int(oidp, arg1, arg2, req));
+ return (sysctl_ipf_int(oidp, arg1, 0, req));
}
static int
sysctl_ipf_int_frag ( SYSCTL_HANDLER_ARGS )
{
+ ipf_frag_softc_t *frag_softc;
- if (arg1) {
- ipf_frag_softc_t *frag_softc;
-
- frag_softc = V_ipfmain.ipf_frag_soft;
-#ifdef VIMAGE
- arg1 = (void *)((uintptr_t)arg1 - curvnet->vnet_data_base);
-#endif
- arg1 = (void *)((uintptr_t)frag_softc + (uintptr_t)arg1);
- }
+ frag_softc = V_ipfmain.ipf_frag_soft;
+ arg1 = (void *)((uintptr_t)frag_softc + arg2);
- return (sysctl_ipf_int(oidp, arg1, arg2, req));
+ return (sysctl_ipf_int(oidp, arg1, 0, req));
}
#endif
@@ -645,29 +619,29 @@
sysctl_ctx_init(&ipf_clist);
SYSCTL_DYN_IPF_NAT(_net_inet_ipf, OID_AUTO, "fr_defnatage", CTLFLAG_RWO,
- (void *)offsetof(ipf_nat_softc_t, ipf_nat_defage), 0, "");
+ NULL, offsetof(ipf_nat_softc_t, ipf_nat_defage), "");
SYSCTL_DYN_IPF_STATE(_net_inet_ipf, OID_AUTO, "fr_statesize", CTLFLAG_RWO,
- (void *)offsetof(ipf_state_softc_t, ipf_state_size), 0, "");
+ NULL, offsetof(ipf_state_softc_t, ipf_state_size), "");
SYSCTL_DYN_IPF_STATE(_net_inet_ipf, OID_AUTO, "fr_statemax", CTLFLAG_RWO,
- (void *)offsetof(ipf_state_softc_t, ipf_state_max), 0, "");
+ NULL, offsetof(ipf_state_softc_t, ipf_state_max), "");
SYSCTL_DYN_IPF_NAT(_net_inet_ipf, OID_AUTO, "ipf_nattable_max", CTLFLAG_RWO,
- (void *)offsetof(ipf_nat_softc_t, ipf_nat_table_max), 0, "");
+ NULL, offsetof(ipf_nat_softc_t, ipf_nat_table_max), "");
SYSCTL_DYN_IPF_NAT(_net_inet_ipf, OID_AUTO, "ipf_nattable_sz", CTLFLAG_RWO,
- (void *)offsetof(ipf_nat_softc_t, ipf_nat_table_sz), 0, "");
+ NULL, offsetof(ipf_nat_softc_t, ipf_nat_table_sz), "");
SYSCTL_DYN_IPF_NAT(_net_inet_ipf, OID_AUTO, "ipf_natrules_sz", CTLFLAG_RWO,
- (void *)offsetof(ipf_nat_softc_t, ipf_nat_maprules_sz), 0, "");
+ NULL, offsetof(ipf_nat_softc_t, ipf_nat_maprules_sz), "");
SYSCTL_DYN_IPF_NAT(_net_inet_ipf, OID_AUTO, "ipf_rdrrules_sz", CTLFLAG_RWO,
- (void *)offsetof(ipf_nat_softc_t, ipf_nat_rdrrules_sz), 0, "");
+ NULL, offsetof(ipf_nat_softc_t, ipf_nat_rdrrules_sz), "");
SYSCTL_DYN_IPF_NAT(_net_inet_ipf, OID_AUTO, "ipf_hostmap_sz", CTLFLAG_RWO,
- (void *)offsetof(ipf_nat_softc_t, ipf_nat_hostmap_sz), 0, "");
+ NULL, offsetof(ipf_nat_softc_t, ipf_nat_hostmap_sz), "");
SYSCTL_DYN_IPF_AUTH(_net_inet_ipf, OID_AUTO, "fr_authsize", CTLFLAG_RWO,
- (void *)offsetof(ipf_auth_softc_t, ipf_auth_size), 0, "");
+ NULL, offsetof(ipf_auth_softc_t, ipf_auth_size), "");
SYSCTL_DYN_IPF_AUTH(_net_inet_ipf, OID_AUTO, "fr_authused", CTLFLAG_RD,
- (void *)offsetof(ipf_auth_softc_t, ipf_auth_used), 0, "");
+ NULL, offsetof(ipf_auth_softc_t, ipf_auth_used), "");
SYSCTL_DYN_IPF_AUTH(_net_inet_ipf, OID_AUTO, "fr_defaultauthage", CTLFLAG_RW,
- (void *)offsetof(ipf_auth_softc_t, ipf_auth_defaultage), 0, "");
+ NULL, offsetof(ipf_auth_softc_t, ipf_auth_defaultage), "");
SYSCTL_DYN_IPF_FRAG(_net_inet_ipf, OID_AUTO, "fr_ipfrttl", CTLFLAG_RW,
- (void *)offsetof(ipf_frag_softc_t, ipfr_ttl), 0, "");
+ NULL, offsetof(ipf_frag_softc_t, ipfr_ttl), "");
return 0;
}

File Metadata

Mime Type
text/plain
Expires
Mon, Mar 16, 8:39 PM (16 h, 19 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29786557
Default Alt Text
D27961.diff (5 KB)

Event Timeline