mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
signal: move show_unhandled_signals sysctl to its own file
The show_unhandled_signals sysctl is the only sysctl for debug left on kernel/sysctl.c. We've been moving the syctls out from kernel/sysctl.c so to help avoid merge conflicts as the shared array gets out of hand. This change incurs simplifies sysctl registration by localizing it where it should go for a penalty in size of increasing the kernel by 23 bytes, we accept this given recent cleanups have actually already saved us 1465 bytes in the prior commits. ./scripts/bloat-o-meter vmlinux.3-remove-dev-table vmlinux.4-remove-debug-table add/remove: 3/1 grow/shrink: 0/1 up/down: 177/-154 (23) Function old new delta signal_debug_table - 128 +128 init_signal_sysctls - 33 +33 __pfx_init_signal_sysctls - 16 +16 sysctl_init_bases 85 59 -26 debug_table 128 - -128 Total: Before=21256967, After=21256990, chg +0.00% Reviewed-by: Joel Granados <j.granados@samsung.com> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
This commit is contained in:
@@ -45,6 +45,7 @@
|
|||||||
#include <linux/posix-timers.h>
|
#include <linux/posix-timers.h>
|
||||||
#include <linux/cgroup.h>
|
#include <linux/cgroup.h>
|
||||||
#include <linux/audit.h>
|
#include <linux/audit.h>
|
||||||
|
#include <linux/sysctl.h>
|
||||||
|
|
||||||
#define CREATE_TRACE_POINTS
|
#define CREATE_TRACE_POINTS
|
||||||
#include <trace/events/signal.h>
|
#include <trace/events/signal.h>
|
||||||
@@ -4771,6 +4772,28 @@ static inline void siginfo_buildtime_checks(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(CONFIG_SYSCTL)
|
||||||
|
static struct ctl_table signal_debug_table[] = {
|
||||||
|
#ifdef CONFIG_SYSCTL_EXCEPTION_TRACE
|
||||||
|
{
|
||||||
|
.procname = "exception-trace",
|
||||||
|
.data = &show_unhandled_signals,
|
||||||
|
.maxlen = sizeof(int),
|
||||||
|
.mode = 0644,
|
||||||
|
.proc_handler = proc_dointvec
|
||||||
|
},
|
||||||
|
#endif
|
||||||
|
{ }
|
||||||
|
};
|
||||||
|
|
||||||
|
static int __init init_signal_sysctls(void)
|
||||||
|
{
|
||||||
|
register_sysctl_init("debug", signal_debug_table);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
early_initcall(init_signal_sysctls);
|
||||||
|
#endif /* CONFIG_SYSCTL */
|
||||||
|
|
||||||
void __init signals_init(void)
|
void __init signals_init(void)
|
||||||
{
|
{
|
||||||
siginfo_buildtime_checks();
|
siginfo_buildtime_checks();
|
||||||
|
|||||||
@@ -2319,19 +2319,6 @@ static struct ctl_table vm_table[] = {
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct ctl_table debug_table[] = {
|
|
||||||
#ifdef CONFIG_SYSCTL_EXCEPTION_TRACE
|
|
||||||
{
|
|
||||||
.procname = "exception-trace",
|
|
||||||
.data = &show_unhandled_signals,
|
|
||||||
.maxlen = sizeof(int),
|
|
||||||
.mode = 0644,
|
|
||||||
.proc_handler = proc_dointvec
|
|
||||||
},
|
|
||||||
#endif
|
|
||||||
{ }
|
|
||||||
};
|
|
||||||
|
|
||||||
int __init sysctl_init_bases(void)
|
int __init sysctl_init_bases(void)
|
||||||
{
|
{
|
||||||
register_sysctl_init("kernel", kern_table);
|
register_sysctl_init("kernel", kern_table);
|
||||||
@@ -2341,7 +2328,6 @@ int __init sysctl_init_bases(void)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
register_sysctl_init("vm", vm_table);
|
register_sysctl_init("vm", vm_table);
|
||||||
register_sysctl_init("debug", debug_table);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user