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.
next prev parent 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.