All of lore.kernel.org
 help / color / mirror / Atom feed
From: Helmut Raiger <helmut.raiger@hale.at>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/2] net/eth.c: make eth_get_dev_by_name(NULL) safe
Date: Wed, 13 Jul 2011 08:32:37 +0200	[thread overview]
Message-ID: <4E1D3C05.9020808@hale.at> (raw)
In-Reply-To: <m2d3hfg8fo.fsf@ohwell.denx.de>

On 07/12/2011 11:22 AM, Detlev Zundel wrote:

> > i did go through the level of detail and showed the call graphs ...
> > none of
> > which should allow a driver tested as working to even once hit the
> > NULL path.
>
>  As I said, these are the call graphs currently existing...

This was also my trail.

> > what i wouldnt mind is annotating the prototype with gcc attributes
> > saying that the argument is nonnull. ... #define __nonnull(x)
> > __attribute__((__nonnull__ x)) ... extern struct eth_device
> > *eth_get_dev_by_name(const char *devname) __nonnull(1); ...
>
>  This can only catch calls the compiler can statically derive, but
>  still I think it is a good thing.
>

     __nonnull__ is actually a optimization attribute, gcc removes tests 
for NULL in the function body, warnings are only generated if one 
literally writes: eth_get_dev_by_name(NULL), so 'statically derive'
is already exageration.
This really is no help at all. It would indeed establish a precendence 
to using an IMHO quite flawed attribute in gcc. If I had a vote, I'd be 
against it.

The NDEBUG approach however, as Mike suggested,  was what I was looking 
for in the first place.

Helmut


--
Scanned by MailScanner.

  parent reply	other threads:[~2011-07-13  6:32 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-20  6:10 [U-Boot] [U-Boot PATCH MX31:] smc911x MII made available Helmut.Raiger at hale.at
2011-06-20 12:30 ` Stefano Babic
2011-06-20 14:36   ` Helmut Raiger
2011-06-27  7:22   ` [U-Boot] [PATCH] " helmut.raiger at hale.at
2011-06-27 19:29     ` Mike Frysinger
2011-06-29 10:12       ` helmut.raiger at hale.at
2011-06-30 13:57         ` Luca Ceresoli
2011-06-30 14:02           ` [U-Boot] [PATCH RFC] smc911x: enable mii commands Luca Ceresoli
2011-07-04  9:41             ` Helmut Raiger
2011-07-04 10:29               ` [U-Boot] [PATCH 1/2] net/eth.c: make eth_get_dev_by_name(NULL) safe helmut.raiger at hale.at
2011-07-04 10:29                 ` [U-Boot] [PATCH 2/2] smc911x MII made available helmut.raiger at hale.at
2011-09-07 12:33                   ` [U-Boot] [U-Boot,2/2] " Stefano Babic
2011-09-07 13:06                     ` Helmut Raiger
2011-09-07 13:12                       ` Stefano Babic
2011-09-07 21:50                   ` [U-Boot] [PATCH 2/2] " Wolfgang Denk
2011-09-08 11:04                   ` [U-Boot] [PATCH] smc911x: Fix build warnings Wolfgang Denk
2011-09-09 21:57                     ` Wolfgang Denk
2011-07-05  3:44                 ` [U-Boot] [PATCH 1/2] net/eth.c: make eth_get_dev_by_name(NULL) safe Mike Frysinger
2011-07-06  7:15                   ` Helmut Raiger
2011-07-06 19:38                     ` Mike Frysinger
2011-07-07  6:12                       ` Helmut Raiger
2011-07-07 10:24                         ` Detlev Zundel
2011-07-07 17:46                         ` Mike Frysinger
2011-07-11  9:53                           ` Helmut Raiger
2011-07-12  6:37                             ` Mike Frysinger
2011-07-12  9:22                               ` Detlev Zundel
2011-07-12 20:49                                 ` Mike Frysinger
2011-07-13 11:34                                   ` Detlev Zundel
2011-07-13  6:32                                 ` Helmut Raiger [this message]
2011-07-13 11:46                                   ` Detlev Zundel
2011-07-14  9:14                                     ` Helmut Raiger
2011-07-14 17:58                                       ` Mike Frysinger
2011-08-22  8:45                                     ` [U-Boot] [PATCH V2 1/2] net/eth.c: throw BUG for eth_get_dev_by_name(NULL) Helmut Raiger
2011-08-22 10:05                                       ` Sergei Shtylyov
2011-08-22 10:17                                         ` [U-Boot] [PATCH " Helmut Raiger
2011-08-22 16:05                                           ` Mike Frysinger
2011-09-08 11:08                                           ` Wolfgang Denk
2011-07-14 18:24                                   ` [U-Boot] [PATCH 1/2] net/eth.c: make eth_get_dev_by_name(NULL) safe Mike Frysinger
2011-07-07 16:46                 ` Albert ARIBAUD
2011-07-11 10:10                   ` Helmut Raiger
2011-07-14 13:53                     ` Albert ARIBAUD
2011-08-31  7:41 ` [U-Boot] Anything missing? Helmut Raiger
2011-08-31  7:45   ` Wolfgang Denk
2011-09-07  5:40 ` [U-Boot] [U-Boot PATCH MX31:] smc911x MII made available, ping? Helmut Raiger
2011-09-07 12:37   ` Stefano Babic
2011-09-07 21:47     ` Wolfgang Denk
2011-09-08  6:13       ` Helmut Raiger

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=4E1D3C05.9020808@hale.at \
    --to=helmut.raiger@hale.at \
    --cc=u-boot@lists.denx.de \
    /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.