Re: [PATCH] Address Sparse Static Warning inside kernel/fork.c

From: Arnd Bergmann
Date: Thu Aug 06 2009 - 13:23:01 EST


On Thursday 06 August 2009, Subrata Modak wrote:
> --- a/kernel/fork.c 2009-08-05 12:00:51.000000000 +0530
> +++ b/kernel/fork.c 2009-08-06 22:26:30.000000000 +0530
> @@ -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

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 <><
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/