From: Adrian Bunk <bunk@stusta.de>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Daniel Walker <dwalker@mvista.com>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
akpm@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH -mm] sys_semctl gcc 4.1 warning fix
Date: Wed, 10 May 2006 18:24:05 +0200 [thread overview]
Message-ID: <20060510162404.GR3570@stusta.de> (raw)
In-Reply-To: <Pine.LNX.4.58.0605101116590.5532@gandalf.stny.rr.com>
On Wed, May 10, 2006 at 11:24:31AM -0400, Steven Rostedt wrote:
>
> On Wed, 10 May 2006, Daniel Walker wrote:
>
> > On Wed, 2006-05-10 at 16:09 +0100, Alan Cox wrote:
> > > On Mer, 2006-05-10 at 07:31 -0700, Daniel Walker wrote:
> > > > > Hiding warnings like this can be a hazard as it will hide real warnings
> > > > > later on.
> > > >
> > > > How could it hide real warnings? If anything these patch allow other
> > > > (real warnings) to be seen .
> > >
> > > Because while the warning is present people will check it now and again.
> >
> > But it's pointless to review it, in this case and for this warning .
> >
> > > If you set the variable to zero then you generate extra code and you
> > > ensure nobody will look in future.
> >
> > The extra code is a problem , I'll admit that . But the warning should
> > disappear , it's just a waste .
> >
>
> What is really needed is an attribute to add to function parameters, that
> tells gcc that the parameter, if a pointer, will be initialize via the
> function.
>
> For example:
>
> #define __assigned __attribute__((initialized))
>
> then declare a function:
>
> int my_init_variabl(__assigned struct mystruct *var);
>
> So gcc can know that the passed in variable will be updated. It could
> then check to see if the function actually does initialize the pointer,
> if the declaration is visible to the function definition itself.
>
> Any gcc developers watching :)
It seems you don't understand the problem at all:
First of all note that your example does not apply in this case:
copy_semid_from_user() does _not_ initialize sembuf in all cases.
And you do not understand where gcc's problem is:
gcc does in fact see that setbuf is always initialized if
copy_semid_from_user() returns 0.
setbuf is only initialized in the (cmd == IPC_SET) case and later only
used in the (cmd == IPC_SET) case. And cmd can't change between the two
occurences.
Therefore, gcc should in theory already have enough information to prove
that sembuf is always initialized before it's used.
> -- Steve
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
next prev parent reply other threads:[~2006-05-10 16:24 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-10 2:56 [PATCH -mm] sys_semctl gcc 4.1 warning fix Daniel Walker
2006-05-10 10:34 ` Alan Cox
2006-05-10 14:31 ` Daniel Walker
2006-05-10 15:09 ` Alan Cox
2006-05-10 15:06 ` Daniel Walker
2006-05-10 15:24 ` Steven Rostedt
2006-05-10 16:24 ` Adrian Bunk [this message]
2006-05-10 17:18 ` Steven Rostedt
2006-05-10 17:45 ` Steven Rostedt
2006-05-10 18:27 ` Stephen Hemminger
2006-05-10 19:07 ` Serge Belyshev
2006-05-10 20:24 ` Adrian Bunk
2006-05-10 20:35 ` Steven Rostedt
2006-05-10 20:36 ` Adrian Bunk
2006-05-10 20:53 ` Steven Rostedt
2006-05-10 19:20 ` Steven Rostedt
2006-05-10 19:49 ` Daniel Walker
2006-05-10 20:44 ` Steven Rostedt
2006-05-10 21:11 ` Daniel Walker
2006-05-10 21:20 ` Al Viro
2006-05-10 21:33 ` Daniel Walker
2006-05-10 21:39 ` Al Viro
2006-05-10 21:45 ` Daniel Walker
2006-05-10 21:48 ` Al Viro
2006-05-11 6:36 ` Steven Rostedt
2006-05-10 15:39 ` Alan Cox
2006-05-10 15:38 ` Daniel Walker
2006-05-10 16:21 ` Al Viro
2006-05-10 16:37 ` Daniel Walker
2006-05-10 16:42 ` Al Viro
2006-05-10 17:25 ` Daniel Walker
2006-05-10 19:55 ` Alistair John Strachan
2006-05-10 22:03 ` Andrew Morton
2006-05-10 22:10 ` Al Viro
2006-05-10 22:31 ` David S. Miller
2006-05-10 22:45 ` Al Viro
2006-05-10 23:05 ` Andrew Morton
2006-05-10 23:20 ` Al Viro
2006-05-10 23:45 ` Andrew Morton
2006-05-11 1:28 ` Al Viro
2006-05-11 8:11 ` Steven Rostedt
2006-05-11 10:07 ` [PATCH -mm] introduce a false positive macro Steven Rostedt
2006-05-11 20:40 ` [PATCH -mm] sys_semctl gcc 4.1 warning fix Adrian Bunk
2006-05-11 21:14 ` Al Viro
2006-05-10 23:06 ` Roland Dreier
2006-05-10 22:30 ` David S. Miller
2006-05-11 2:58 ` Mike Galbraith
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060510162404.GR3570@stusta.de \
--to=bunk@stusta.de \
--cc=akpm@osdl.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=dwalker@mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.