2023-05-17 13:19:30

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] kdb: include header in signal handling code

From: Arnd Bergmann <[email protected]>

kdb_send_sig() is defined in the signal code and called from kdb,
but the declaration is part of the kdb internal code.
Include this from signal.c as well to avoid the warning:

kernel/signal.c:4789:6: error: no previous prototype for 'kdb_send_sig' [-Werror=missing-prototypes]

Signed-off-by: Arnd Bergmann <[email protected]>
---
kernel/signal.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/kernel/signal.c b/kernel/signal.c
index 8f6330f0e9ca..d38df14f71ac 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -4780,6 +4780,8 @@ void __init signals_init(void)

#ifdef CONFIG_KGDB_KDB
#include <linux/kdb.h>
+#include "debug/kdb/kdb_private.h"
+
/*
* kdb_send_sig - Allows kdb to send signals without exposing
* signal internals. This function checks if the required locks are
--
2.39.2



2023-05-17 15:50:47

by Doug Anderson

[permalink] [raw]
Subject: Re: [PATCH] kdb: include header in signal handling code

Hi,

On Wed, May 17, 2023 at 5:54 AM Arnd Bergmann <[email protected]> wrote:
>
> From: Arnd Bergmann <[email protected]>
>
> kdb_send_sig() is defined in the signal code and called from kdb,
> but the declaration is part of the kdb internal code.
> Include this from signal.c as well to avoid the warning:
>
> kernel/signal.c:4789:6: error: no previous prototype for 'kdb_send_sig' [-Werror=missing-prototypes]
>
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> kernel/signal.c | 2 ++
> 1 file changed, 2 insertions(+)

Reviewed-by: Douglas Anderson <[email protected]>

2023-05-17 19:07:34

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH] kdb: include header in signal handling code

On Wed, May 17, 2023 at 02:54:09PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> kdb_send_sig() is defined in the signal code and called from kdb,
> but the declaration is part of the kdb internal code.
> Include this from signal.c as well to avoid the warning:
>
> kernel/signal.c:4789:6: error: no previous prototype for 'kdb_send_sig' [-Werror=missing-prototypes]
>
> Signed-off-by: Arnd Bergmann <[email protected]>

Reviewed-by: Kees Cook <[email protected]>

--
Kees Cook

2023-06-30 15:28:41

by Daniel Thompson

[permalink] [raw]
Subject: Re: [PATCH] kdb: include header in signal handling code

On Wed, May 17, 2023 at 02:54:09PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> kdb_send_sig() is defined in the signal code and called from kdb,
> but the declaration is part of the kdb internal code.
> Include this from signal.c as well to avoid the warning:
>
> kernel/signal.c:4789:6: error: no previous prototype for 'kdb_send_sig' [-Werror=missing-prototypes]
>
> Signed-off-by: Arnd Bergmann <[email protected]>

Sorry to be so late with this feedback! I got as far as queuing this up
for merge before the penny dropped...

> ---
> kernel/signal.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/signal.c b/kernel/signal.c
> index 8f6330f0e9ca..d38df14f71ac 100644
> --- a/kernel/signal.c
> +++ b/kernel/signal.c
> @@ -4780,6 +4780,8 @@ void __init signals_init(void)
>
> #ifdef CONFIG_KGDB_KDB
> #include <linux/kdb.h>
> +#include "debug/kdb/kdb_private.h"
> +

Isn't is better to move the prototype for kdb_send_sig() into
linux/kdb.h instead?

That's what other kdb helpers spread across the kernel do
(kdb_walk_kallsyms() for example).


Daniel.

2023-06-30 16:15:52

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] kdb: include header in signal handling code

On Fri, Jun 30, 2023, at 17:24, Daniel Thompson wrote:
> On Wed, May 17, 2023 at 02:54:09PM +0200, Arnd Bergmann wrote:
>> diff --git a/kernel/signal.c b/kernel/signal.c
>> index 8f6330f0e9ca..d38df14f71ac 100644
>> --- a/kernel/signal.c
>> +++ b/kernel/signal.c
>> @@ -4780,6 +4780,8 @@ void __init signals_init(void)
>>
>> #ifdef CONFIG_KGDB_KDB
>> #include <linux/kdb.h>
>> +#include "debug/kdb/kdb_private.h"
>> +
>
> Isn't is better to move the prototype for kdb_send_sig() into
> linux/kdb.h instead?
>
> That's what other kdb helpers spread across the kernel do
> (kdb_walk_kallsyms() for example).

Right, that is probably better here. Not sure if it's worth
reworking the branch if you already merged it, the difference
seems rather minor.

Arnd

2023-06-30 16:29:04

by Daniel Thompson

[permalink] [raw]
Subject: Re: [PATCH] kdb: include header in signal handling code

On Fri, Jun 30, 2023 at 05:31:01PM +0200, Arnd Bergmann wrote:
> On Fri, Jun 30, 2023, at 17:24, Daniel Thompson wrote:
> > On Wed, May 17, 2023 at 02:54:09PM +0200, Arnd Bergmann wrote:
> >> diff --git a/kernel/signal.c b/kernel/signal.c
> >> index 8f6330f0e9ca..d38df14f71ac 100644
> >> --- a/kernel/signal.c
> >> +++ b/kernel/signal.c
> >> @@ -4780,6 +4780,8 @@ void __init signals_init(void)
> >>
> >> #ifdef CONFIG_KGDB_KDB
> >> #include <linux/kdb.h>
> >> +#include "debug/kdb/kdb_private.h"
> >> +
> >
> > Isn't is better to move the prototype for kdb_send_sig() into
> > linux/kdb.h instead?
> >
> > That's what other kdb helpers spread across the kernel do
> > (kdb_walk_kallsyms() for example).
>
> Right, that is probably better here. Not sure if it's worth
> reworking the branch if you already merged it, the difference
> seems rather minor.

I figure it will take me as long to rework the branch as it will to
write the covering letter on the pull-request to explain why kgdb/kdb
is messing around in kernel/signal.c ;-) .


Daniel.