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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox