Commit 73dbd8cf authored by Joel Granados's avatar Joel Granados Committed by David S. Miller
Browse files

net: Remove ctl_table sentinel elements from several networking subsystems

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/

)

To avoid lots of small commits, this commit brings together network
changes from (as they appear in MAINTAINERS) LLC, MPTCP, NETROM NETWORK
LAYER, PHONET PROTOCOL, ROSE NETWORK LAYER, RXRPC SOCKETS, SCTP
PROTOCOL, SHARED MEMORY COMMUNICATIONS (SMC), TIPC NETWORK LAYER and
NETWORKING [IPSEC]

* Remove sentinel element from ctl_table structs.
* Replace empty array registration with the register_net_sysctl_sz call
  in llc_sysctl_init
* Replace the for loop stop condition that tests for procname == NULL
  with one that depends on array size in sctp_sysctl_net_register
* Remove instances where an array element is zeroed out to make it look
  like a sentinel in xfrm_sysctl_init. 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
* Use a table_size variable to keep the value of ARRAY_SIZE

Signed-off-by: default avatarJoel Granados <j.granados@samsung.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ca5d1fce
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -44,11 +44,6 @@ static struct ctl_table llc2_timeout_table[] = {
		.mode		= 0644,
		.proc_handler   = proc_dointvec_jiffies,
	},
	{ },
};

static struct ctl_table llc_station_table[] = {
	{ },
};

static struct ctl_table_header *llc2_timeout_header;
@@ -56,8 +51,9 @@ static struct ctl_table_header *llc_station_header;

int __init llc_sysctl_init(void)
{
	struct ctl_table empty[1] = {};
	llc2_timeout_header = register_net_sysctl(&init_net, "net/llc/llc2/timeout", llc2_timeout_table);
	llc_station_header = register_net_sysctl(&init_net, "net/llc/station", llc_station_table);
	llc_station_header = register_net_sysctl_sz(&init_net, "net/llc/station", empty, 0);

	if (!llc2_timeout_header || !llc_station_header) {
		llc_sysctl_exit();
+0 −1
Original line number Diff line number Diff line
@@ -156,7 +156,6 @@ static struct ctl_table mptcp_sysctl_table[] = {
		.mode = 0644,
		.proc_handler = proc_dointvec_jiffies,
	},
	{}
};

static int mptcp_pernet_new_table(struct net *net, struct mptcp_pernet *pernet)
+0 −1
Original line number Diff line number Diff line
@@ -140,7 +140,6 @@ static struct ctl_table nr_table[] = {
		.extra1		= &min_reset,
		.extra2		= &max_reset
	},
	{ }
};

int __init nr_register_sysctl(void)
+0 −1
Original line number Diff line number Diff line
@@ -81,7 +81,6 @@ static struct ctl_table phonet_table[] = {
		.mode		= 0644,
		.proc_handler	= proc_local_port_range,
	},
	{ }
};

int __init phonet_sysctl_init(void)
+0 −1
Original line number Diff line number Diff line
@@ -112,7 +112,6 @@ static struct ctl_table rose_table[] = {
		.extra1		= &min_window,
		.extra2		= &max_window
	},
	{ }
};

void __init rose_register_sysctl(void)
Loading