LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* drivers/net/chelsio/my3126.c: inconsequent NULL checking
@ 2006-12-07 11:34 Adrian Bunk
  2006-12-07 13:22 ` Jesper Juhl
  0 siblings, 1 reply; 2+ messages in thread
From: Adrian Bunk @ 2006-12-07 11:34 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: jgarzik, netdev, linux-kernel

The Coverity checker spotted the following inconsequent NULL checking 
introduced by commit f1d3d38af75789f1b82969b83b69cab540609789:

<--  snip  -->

...
static struct cphy *my3126_phy_create(adapter_t *adapter,
                        int phy_addr, struct mdio_ops *mdio_ops)
{
        struct cphy *cphy = kzalloc(sizeof (*cphy), GFP_KERNEL);

        if (cphy)
                cphy_init(cphy, adapter, phy_addr, &my3126_ops, mdio_ops);

        INIT_WORK(&cphy->phy_update, my3216_poll, cphy);
        cphy->bmsr = 0;

        return (cphy);
}
...

<--  snip  -->

It doesn't make sense to first check whether "cphy" is NULL and 
dereference it unconditionally later.

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: drivers/net/chelsio/my3126.c: inconsequent NULL checking
  2006-12-07 11:34 drivers/net/chelsio/my3126.c: inconsequent NULL checking Adrian Bunk
@ 2006-12-07 13:22 ` Jesper Juhl
  0 siblings, 0 replies; 2+ messages in thread
From: Jesper Juhl @ 2006-12-07 13:22 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Stephen Hemminger, jgarzik, netdev, linux-kernel

On 07/12/06, Adrian Bunk <bunk@stusta.de> wrote:
> The Coverity checker spotted the following inconsequent NULL checking
> introduced by commit f1d3d38af75789f1b82969b83b69cab540609789:
>
> <--  snip  -->
>
> ...
> static struct cphy *my3126_phy_create(adapter_t *adapter,
>                         int phy_addr, struct mdio_ops *mdio_ops)
> {
>         struct cphy *cphy = kzalloc(sizeof (*cphy), GFP_KERNEL);
>
>         if (cphy)
>                 cphy_init(cphy, adapter, phy_addr, &my3126_ops, mdio_ops);
>
>         INIT_WORK(&cphy->phy_update, my3216_poll, cphy);
>         cphy->bmsr = 0;
>
>         return (cphy);
> }
> ...
>
> <--  snip  -->
>
> It doesn't make sense to first check whether "cphy" is NULL and
> dereference it unconditionally later.
>

How about simply changing
         if (cphy)
                 cphy_init(cphy, adapter, phy_addr, &my3126_ops, mdio_ops);
into
         if (!cphy)
                 return NULL;

callers need to be able to handle that ofcourse, but I haven't checked that yet.

-- 
Jesper Juhl <jesper.juhl@gmail.com>
Don't top-post  http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please      http://www.expita.com/nomime.html

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-12-07 13:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-12-07 11:34 drivers/net/chelsio/my3126.c: inconsequent NULL checking Adrian Bunk
2006-12-07 13:22 ` Jesper Juhl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).