Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ffb20847 authored by Ralf Baechle's avatar Ralf Baechle Committed by David S. Miller
Browse files

AX.25: Fix sysctl registration if !CONFIG_AX25_DAMA_SLAVE



Since 49ffcf8f ("sysctl: update
sysctl_check_table") setting struct ctl_table.procname = NULL does no
longer work as it used to the way the AX.25 code is expecting it to
resulting in the AX.25 sysctl registration code to break if
CONFIG_AX25_DAMA_SLAVE was not set as in some distribution kernels.
Kernel releases from 2.6.24 are affected.

Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ff2a79a5
Loading
Loading
Loading
Loading
+4 −10
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ static struct ctl_path ax25_path[] = {
	{ .procname = "ax25", .ctl_name = NET_AX25, },
	{ }
};

static const ctl_table ax25_param_table[] = {
	{
		.ctl_name	= NET_AX25_IP_DEFAULT_MODE,
@@ -167,6 +168,7 @@ static const ctl_table ax25_param_table[] = {
		.extra1		= &min_proto,
		.extra2		= &max_proto
	},
#ifdef CONFIG_AX25_DAMA_SLAVE
	{
		.ctl_name	= NET_AX25_DAMA_SLAVE_TIMEOUT,
		.procname	= "dama_slave_timeout",
@@ -177,6 +179,8 @@ static const ctl_table ax25_param_table[] = {
		.extra1		= &min_ds_timeout,
		.extra2		= &max_ds_timeout
	},
#endif

	{ .ctl_name = 0 }	/* that's all, folks! */
};

@@ -210,16 +214,6 @@ void ax25_register_sysctl(void)
		ax25_table[n].procname     = ax25_dev->dev->name;
		ax25_table[n].mode         = 0555;

#ifndef CONFIG_AX25_DAMA_SLAVE
		/*
		 * We do not wish to have a representation of this parameter
		 * in /proc/sys/ when configured *not* to include the
		 * AX.25 DAMA slave code, do we?
		 */

		child[AX25_VALUES_DS_TIMEOUT].procname = NULL;
#endif

		child[AX25_MAX_VALUES].ctl_name = 0;	/* just in case... */

		for (k = 0; k < AX25_MAX_VALUES; k++)