2020-04-11 13:10:25

by Xiaoming Ni

[permalink] [raw]
Subject: [PATCH] parisc: add sysctl file interface panic_on_stackoverflow

The variable sysctl_panic_on_stackoverflow is used in
arch/parisc/kernel/irq.c and arch/x86/kernel/irq_32.c, but the sysctl file
interface panic_on_stackoverflow only exists on x86.

Add sysctl file interface panic_on_stackoverflow for parisc

Signed-off-by: Xiaoming Ni <[email protected]>
---
kernel/sysctl.c | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 8a176d8..b9ff323 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -994,30 +994,32 @@ static int sysrq_sysctl_handler(struct ctl_table *table, int write,
.proc_handler = proc_dointvec,
},
#endif
-#if defined(CONFIG_X86)
+
+#if (defined(CONFIG_X86_32) || defined(CONFIG_PARISC)) && \
+ defined(CONFIG_DEBUG_STACKOVERFLOW)
{
- .procname = "panic_on_unrecovered_nmi",
- .data = &panic_on_unrecovered_nmi,
+ .procname = "panic_on_stackoverflow",
+ .data = &sysctl_panic_on_stackoverflow,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = proc_dointvec,
},
+#endif
+#if defined(CONFIG_X86)
{
- .procname = "panic_on_io_nmi",
- .data = &panic_on_io_nmi,
+ .procname = "panic_on_unrecovered_nmi",
+ .data = &panic_on_unrecovered_nmi,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = proc_dointvec,
},
-#ifdef CONFIG_DEBUG_STACKOVERFLOW
{
- .procname = "panic_on_stackoverflow",
- .data = &sysctl_panic_on_stackoverflow,
+ .procname = "panic_on_io_nmi",
+ .data = &panic_on_io_nmi,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = proc_dointvec,
},
-#endif
{
.procname = "bootloader_type",
.data = &bootloader_type,
--
1.8.5.6


2020-04-16 01:15:33

by Luis Chamberlain

[permalink] [raw]
Subject: Re: [PATCH] parisc: add sysctl file interface panic_on_stackoverflow

On Sat, Apr 11, 2020 at 09:06:19PM +0800, Xiaoming Ni wrote:
> The variable sysctl_panic_on_stackoverflow is used in
> arch/parisc/kernel/irq.c and arch/x86/kernel/irq_32.c, but the sysctl file
> interface panic_on_stackoverflow only exists on x86.
>
> Add sysctl file interface panic_on_stackoverflow for parisc
>
> Signed-off-by: Xiaoming Ni <[email protected]>

Reviewed-by: Luis Chamberlain <[email protected]>

Luis

2020-05-08 21:39:51

by Helge Deller

[permalink] [raw]
Subject: Re: [PATCH] parisc: add sysctl file interface panic_on_stackoverflow

On 11.04.20 15:06, Xiaoming Ni wrote:
> The variable sysctl_panic_on_stackoverflow is used in
> arch/parisc/kernel/irq.c and arch/x86/kernel/irq_32.c, but the sysctl file
> interface panic_on_stackoverflow only exists on x86.
>
> Add sysctl file interface panic_on_stackoverflow for parisc
>
> Signed-off-by: Xiaoming Ni <[email protected]>

Acked-by: Helge Deller <[email protected]>

Helge


> ---
> kernel/sysctl.c | 20 +++++++++++---------
> 1 file changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/kernel/sysctl.c b/kernel/sysctl.c
> index 8a176d8..b9ff323 100644
> --- a/kernel/sysctl.c
> +++ b/kernel/sysctl.c
> @@ -994,30 +994,32 @@ static int sysrq_sysctl_handler(struct ctl_table *table, int write,
> .proc_handler = proc_dointvec,
> },
> #endif
> -#if defined(CONFIG_X86)
> +
> +#if (defined(CONFIG_X86_32) || defined(CONFIG_PARISC)) && \
> + defined(CONFIG_DEBUG_STACKOVERFLOW)
> {
> - .procname = "panic_on_unrecovered_nmi",
> - .data = &panic_on_unrecovered_nmi,
> + .procname = "panic_on_stackoverflow",
> + .data = &sysctl_panic_on_stackoverflow,
> .maxlen = sizeof(int),
> .mode = 0644,
> .proc_handler = proc_dointvec,
> },
> +#endif
> +#if defined(CONFIG_X86)
> {
> - .procname = "panic_on_io_nmi",
> - .data = &panic_on_io_nmi,
> + .procname = "panic_on_unrecovered_nmi",
> + .data = &panic_on_unrecovered_nmi,
> .maxlen = sizeof(int),
> .mode = 0644,
> .proc_handler = proc_dointvec,
> },
> -#ifdef CONFIG_DEBUG_STACKOVERFLOW
> {
> - .procname = "panic_on_stackoverflow",
> - .data = &sysctl_panic_on_stackoverflow,
> + .procname = "panic_on_io_nmi",
> + .data = &panic_on_io_nmi,
> .maxlen = sizeof(int),
> .mode = 0644,
> .proc_handler = proc_dointvec,
> },
> -#endif
> {
> .procname = "bootloader_type",
> .data = &bootloader_type,
>