Address Sparse Static Warning inside kernel/fork.c
Subsystems (3)
PATCH 1/1 Address Sparse Static Warning inside kernel/fork.c
Hi Ingo,
The patch below fixes the following SPARSE warning:kernel/fork.c:81:5: warning: symbol 'max_threads' was not declared. Should it be static? kernel/fork.c:171:13: warning: symbol 'fork_init' was not declared. Should it be static?
To: Ingo Molnar <[email protected]>,
Cc: LKML <[email protected]>,
Cc: Balbir Singh <[email protected]>,
Cc: Sachin P Sant <[email protected]>,
---
kernel/fork.c +2 -2
@@ -78,7 +78,7 @@unsigned long total_forks;/* Handle normal Linux uptimes. */ int nr_threads;/* The idle threads do not count.. */ -int max_threads;/* tunable limit on nr_threads */ +static int max_threads;/* tunable limit on nr_threads */ DEFINE_PER_CPU(unsigned long, process_counts) = 0;
@@ -168,7 +168,7 @@ void __put_task_struct(struct task_struc#define arch_task_cache_init ()#endif -void __init fork_init (unsigned long mempages) +static void __init fork_init (unsigned long mempages) {#ifndef __HAVE_ARCH_TASK_STRUCT_ALLOCATOR#ifndef ARCH_MIN_TASKALIGN
Regards--
Subrata
Quoted 12 lines · Subrata Modak
kernel/fork.c +1
-1@@ -78,7 +78,7 @@unsigned long total_forks;/* Handle normal Linux uptimes. */ int nr_threads;/* The idle threads do not count.. */ -int max_threads;/* tunable limit on nr_threads */ +static int max_threads;/* tunable limit on nr_threads */ DEFINE_PER_CPU(unsigned long, process_counts) = 0;
kernel/fork.c void __put_task_struct(struct task_struc · line 174
Quoted 8 lines
kernel/fork.c +1
-1@@ -168,7 +168,7 @@ void __put_task_struct(struct task_struc#define arch_task_cache_init ()#endif -void __init fork_init (unsigned long mempages) +static void __init fork_init (unsigned long mempages) {#ifndef __HAVE_ARCH_TASK_STRUCT_ALLOCATOR#ifndef ARCH_MIN_TASKALIGN
These are both wrong (you didn't try compiling the kernel with that patch, did you?):fork_init() is called from init/main.c, max_threads is accessed in kernel/sysctl.c.
If you had tried building this, you would have seen a warning about unused symbols in the compile stage, followed by a linker error.
I would still be good to address these two though. Please do a patch that moves the extern declarations for these two symbols to an appropriate header file that is included in fork.c.
Arnd <><