2007-11-07 19:20:57

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] mm/memory.c: remove warning from an uninitialized spinlock. was: Re: 2.6.21-rc7-mm2

>
> Introduce a macro for suppressing gcc from generating a warning about a
> probable uninitialized state of a variable.
>
> Example:
>
> - spinlock_t *ptl;
> + spinlock_t *uninitialized_var(ptl);
>
> Not a happy solution, but those warnings are obnoxious.
>
> - Using the usual pointlessly-set-it-to-zero approach wastes several
> bytes of text.
>
> - Using a macro means we can (hopefully) do something else if gcc changes
> cause the `x = x' hack to stop working
>
> - Using a macro means that people who are worried about hiding true bugs
> can easily turn it off.
>
> Signed-off-by: Borislav Petkov <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>

I just stumbled across this being in the kernel. Well, I'm finally glad
it made it in, even though it was suggested one year earlier ;-)

http://lkml.org/lkml/2006/5/11/50

-- Steve


2007-11-08 05:16:05

by Borislav Petkov

[permalink] [raw]
Subject: Re: [PATCH] mm/memory.c: remove warning from an uninitialized spinlock. was: Re: 2.6.21-rc7-mm2

On Wed, Nov 07, 2007 at 02:20:03PM -0500, Steven Rostedt wrote:
> >
> > Introduce a macro for suppressing gcc from generating a warning about a
> > probable uninitialized state of a variable.
> >
> > Example:
> >
> > - spinlock_t *ptl;
> > + spinlock_t *uninitialized_var(ptl);
> >
> > Not a happy solution, but those warnings are obnoxious.
> >
> > - Using the usual pointlessly-set-it-to-zero approach wastes several
> > bytes of text.
> >
> > - Using a macro means we can (hopefully) do something else if gcc changes
> > cause the `x = x' hack to stop working
> >
> > - Using a macro means that people who are worried about hiding true bugs
> > can easily turn it off.
> >
> > Signed-off-by: Borislav Petkov <[email protected]>
> > Signed-off-by: Andrew Morton <[email protected]>
>
> I just stumbled across this being in the kernel. Well, I'm finally glad
> it made it in, even though it was suggested one year earlier ;-)
>
> http://lkml.org/lkml/2006/5/11/50

yeah, this was Andrew's idea. The version in the kernel, in
contrast to yours, doesn't have a config option so you still
have to make really sure you're not aiding any bugs with it.

--
Regards/Gru?,
Boris.