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: Mon, 11 Jul 2011 11:53:49 +0200	[thread overview]
Message-ID: <4E1AC82D.3020205@hale.at> (raw)
In-Reply-To: <CAJaTeTpXocZhUQOv=8O58wbxLozsZGYScctcjDnpKm46q4BwRw@mail.gmail.com>

On 07/07/2011 07:46 PM, Mike Frysinger wrote:
>
> those NULL checks should not be necessary either.  a correctly written
> networking driver should only register itself with the miiphy layer
> when it has successfully registered itself with the eth layer.  thus
> any of the miiphy callbacks should always come in with a name that is
> found via eth_get_dev_by_name().
>
You are right, in a perfect world nobody ever falters.

> checking for NULLs here and gracefully returning is unnecessary
> overhead imo as you're only catering to broken code.  fix the broken
> drivers instead.

I could not find drivers that have the potential of delivering NULLs to 
the miiphy_read and write functions, I simply refused to test at  this 
level. Either there is a potential of having NULL passed then the test 
should be in eth_get_dev_by_name() or there is none then we should 
simply leave it away.
I'm rather indifferent to either solution.
And about 'catering to broken code': It must be broken in 2 ways, first 
it must pass a NULL to the function and second it must ignore the return 
code.

> by your logic, why put the NULL check in eth_get_dev_by_name() ?  why
> not handle strcmp(NULL, NULL) too ?  then eth_get_dev_by_name() would
> automatically get "fixed" as would all other call points.
>
For strcmp() you have several issues at hand: Compatibility, performance 
and even a logical problem. What should be the result in case one of the 
arguments is NULL (or both). The logic for eth_get_dev_by_name() is 
completely sane "There is no ethernet device named (NULL)", performance 
and compatibility don't matter. Your comparison is flawed.

And finally we are discussing a few _chararacters_ of code and a 
probably a single assembly instruction.

Helmut


--
Scanned by MailScanner.

  reply	other threads:[~2011-07-11  9:53 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 [this message]
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
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=4E1AC82D.3020205@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.