Re: [PATCH] watchdog: set variables watchdog_soft,hardlockup_user_enabled storage-class-specifier to static
From: Doug Anderson
Date: Tue May 23 2023 - 10:13:05 EST
Hi,
On Tue, May 23, 2023 at 5:23 AM Tom Rix <trix@xxxxxxxxxx> wrote:
>
> smatch reports
> kernel/watchdog.c:40:19: warning: symbol
> 'watchdog_hardlockup_user_enabled' was not declared. Should it be static?
> kernel/watchdog.c:41:19: warning: symbol
> 'watchdog_softlockup_user_enabled' was not declared. Should it be static?
>
> These variabled are only used in their defining file, so it should be static.
s/variabled/variables
>
> Signed-off-by: Tom Rix <trix@xxxxxxxxxx>
> ---
> kernel/watchdog.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
While your fix is valid (thanks!), it's only half the fix.
I wondered why smatch would have suddenly noticed this since the
change that touched this variable recently was only a rename. When I
dug deeper, I realized that the old names actually _were_ referenced
outside this file and my rename missed them. The reason I missed them
is that the only reference is an "extern" reference in
`include/linux/nmi.h`. The references in `include/linux/nmi.h`
probably should have been removed in commit dd0693fdf054 ("watchdog:
move watchdog sysctl interface to watchdog.c")
...so a more complete fix would also remove references to the old
names (nmi_watchdog_user_enabled and soft_watchdog_user_enabled) in
`include/linux/nmi.h`.
-Doug