Commit 635470eb authored by Joel Granados's avatar Joel Granados Committed by David S. Miller

netfilter: Remove the now superfluous sentinel elements from ctl_table array

This commit comes at the tail end of a greater effort to remove the
empty elements at the end of the ctl_table arrays (sentinels) which will
reduce the overall build time size of the kernel and run time memory
bloat by ~64 bytes per sentinel (further information Link :
https://lore.kernel.org/all/ZO5Yx5JFogGi%2FcBo@bombadil.infradead.org/)

* Remove sentinel elements from ctl_table structs
* Remove instances where an array element is zeroed out to make it look
  like a sentinel. This is not longer needed and is safe after commit
  c899710f ("networking: Update to register_net_sysctl_sz") added
  the array size to the ctl_table registration
* Remove the need for having __NF_SYSCTL_CT_LAST_SYSCTL as the
  sysctl array size is now in NF_SYSCTL_CT_LAST_SYSCTL
* Remove extra element in ctl_table arrays declarations

Acked-by: Kees Cook <keescook@chromium.org> # loadpin & yama
Signed-off-by: default avatarJoel Granados <j.granados@samsung.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 73dbd8cf
...@@ -1226,7 +1226,6 @@ static struct ctl_table brnf_table[] = { ...@@ -1226,7 +1226,6 @@ static struct ctl_table brnf_table[] = {
.mode = 0644, .mode = 0644,
.proc_handler = brnf_sysctl_call_tables, .proc_handler = brnf_sysctl_call_tables,
}, },
{ }
}; };
static inline void br_netfilter_sysctl_default(struct brnf_net *brnf) static inline void br_netfilter_sysctl_default(struct brnf_net *brnf)
......
...@@ -62,7 +62,6 @@ static struct ctl_table nf_ct_frag6_sysctl_table[] = { ...@@ -62,7 +62,6 @@ static struct ctl_table nf_ct_frag6_sysctl_table[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_doulongvec_minmax, .proc_handler = proc_doulongvec_minmax,
}, },
{ }
}; };
static int nf_ct_frag6_sysctl_register(struct net *net) static int nf_ct_frag6_sysctl_register(struct net *net)
......
...@@ -2263,7 +2263,6 @@ static struct ctl_table vs_vars[] = { ...@@ -2263,7 +2263,6 @@ static struct ctl_table vs_vars[] = {
.proc_handler = proc_dointvec, .proc_handler = proc_dointvec,
}, },
#endif #endif
{ }
}; };
#endif #endif
...@@ -4286,10 +4285,8 @@ static int __net_init ip_vs_control_net_init_sysctl(struct netns_ipvs *ipvs) ...@@ -4286,10 +4285,8 @@ static int __net_init ip_vs_control_net_init_sysctl(struct netns_ipvs *ipvs)
return -ENOMEM; return -ENOMEM;
/* Don't export sysctls to unprivileged users */ /* Don't export sysctls to unprivileged users */
if (net->user_ns != &init_user_ns) { if (net->user_ns != &init_user_ns)
tbl[0].procname = NULL;
ctl_table_size = 0; ctl_table_size = 0;
}
} else } else
tbl = vs_vars; tbl = vs_vars;
/* Initialize sysctl defaults */ /* Initialize sysctl defaults */
......
...@@ -123,7 +123,6 @@ static struct ctl_table vs_vars_table[] = { ...@@ -123,7 +123,6 @@ static struct ctl_table vs_vars_table[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_dointvec_jiffies, .proc_handler = proc_dointvec_jiffies,
}, },
{ }
}; };
#endif #endif
...@@ -563,10 +562,8 @@ static int __net_init __ip_vs_lblc_init(struct net *net) ...@@ -563,10 +562,8 @@ static int __net_init __ip_vs_lblc_init(struct net *net)
return -ENOMEM; return -ENOMEM;
/* Don't export sysctls to unprivileged users */ /* Don't export sysctls to unprivileged users */
if (net->user_ns != &init_user_ns) { if (net->user_ns != &init_user_ns)
ipvs->lblc_ctl_table[0].procname = NULL;
vars_table_size = 0; vars_table_size = 0;
}
} else } else
ipvs->lblc_ctl_table = vs_vars_table; ipvs->lblc_ctl_table = vs_vars_table;
......
...@@ -294,7 +294,6 @@ static struct ctl_table vs_vars_table[] = { ...@@ -294,7 +294,6 @@ static struct ctl_table vs_vars_table[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_dointvec_jiffies, .proc_handler = proc_dointvec_jiffies,
}, },
{ }
}; };
#endif #endif
...@@ -749,10 +748,8 @@ static int __net_init __ip_vs_lblcr_init(struct net *net) ...@@ -749,10 +748,8 @@ static int __net_init __ip_vs_lblcr_init(struct net *net)
return -ENOMEM; return -ENOMEM;
/* Don't export sysctls to unprivileged users */ /* Don't export sysctls to unprivileged users */
if (net->user_ns != &init_user_ns) { if (net->user_ns != &init_user_ns)
ipvs->lblcr_ctl_table[0].procname = NULL;
vars_table_size = 0; vars_table_size = 0;
}
} else } else
ipvs->lblcr_ctl_table = vs_vars_table; ipvs->lblcr_ctl_table = vs_vars_table;
ipvs->sysctl_lblcr_expiration = DEFAULT_EXPIRATION; ipvs->sysctl_lblcr_expiration = DEFAULT_EXPIRATION;
......
...@@ -616,11 +616,9 @@ enum nf_ct_sysctl_index { ...@@ -616,11 +616,9 @@ enum nf_ct_sysctl_index {
NF_SYSCTL_CT_LWTUNNEL, NF_SYSCTL_CT_LWTUNNEL,
#endif #endif
__NF_SYSCTL_CT_LAST_SYSCTL, NF_SYSCTL_CT_LAST_SYSCTL,
}; };
#define NF_SYSCTL_CT_LAST_SYSCTL (__NF_SYSCTL_CT_LAST_SYSCTL + 1)
static struct ctl_table nf_ct_sysctl_table[] = { static struct ctl_table nf_ct_sysctl_table[] = {
[NF_SYSCTL_CT_MAX] = { [NF_SYSCTL_CT_MAX] = {
.procname = "nf_conntrack_max", .procname = "nf_conntrack_max",
...@@ -957,7 +955,6 @@ static struct ctl_table nf_ct_sysctl_table[] = { ...@@ -957,7 +955,6 @@ static struct ctl_table nf_ct_sysctl_table[] = {
.proc_handler = nf_hooks_lwtunnel_sysctl_handler, .proc_handler = nf_hooks_lwtunnel_sysctl_handler,
}, },
#endif #endif
{}
}; };
static struct ctl_table nf_ct_netfilter_table[] = { static struct ctl_table nf_ct_netfilter_table[] = {
...@@ -968,7 +965,6 @@ static struct ctl_table nf_ct_netfilter_table[] = { ...@@ -968,7 +965,6 @@ static struct ctl_table nf_ct_netfilter_table[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_dointvec, .proc_handler = proc_dointvec,
}, },
{ }
}; };
static void nf_conntrack_standalone_init_tcp_sysctl(struct net *net, static void nf_conntrack_standalone_init_tcp_sysctl(struct net *net,
......
...@@ -395,7 +395,7 @@ static const struct seq_operations nflog_seq_ops = { ...@@ -395,7 +395,7 @@ static const struct seq_operations nflog_seq_ops = {
#ifdef CONFIG_SYSCTL #ifdef CONFIG_SYSCTL
static char nf_log_sysctl_fnames[NFPROTO_NUMPROTO-NFPROTO_UNSPEC][3]; static char nf_log_sysctl_fnames[NFPROTO_NUMPROTO-NFPROTO_UNSPEC][3];
static struct ctl_table nf_log_sysctl_table[NFPROTO_NUMPROTO+1]; static struct ctl_table nf_log_sysctl_table[NFPROTO_NUMPROTO];
static struct ctl_table_header *nf_log_sysctl_fhdr; static struct ctl_table_header *nf_log_sysctl_fhdr;
static struct ctl_table nf_log_sysctl_ftable[] = { static struct ctl_table nf_log_sysctl_ftable[] = {
...@@ -406,7 +406,6 @@ static struct ctl_table nf_log_sysctl_ftable[] = { ...@@ -406,7 +406,6 @@ static struct ctl_table nf_log_sysctl_ftable[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_dointvec, .proc_handler = proc_dointvec,
}, },
{ }
}; };
static int nf_log_proc_dostring(struct ctl_table *table, int write, static int nf_log_proc_dostring(struct ctl_table *table, int write,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment