Re: [PATCH 01/13] a2b: add A2B driver core

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, May 19, 2024 at 10:38:25AM GMT, Markus Elfring wrote:
> [Some people who received this message don't often get email from markus.elfring@xxxxxx. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
> 
> …
> > +++ b/drivers/a2b/a2b.c
> > @@ -0,0 +1,1252 @@
> …
> > +static int a2b_bus_of_add_node(struct a2b_bus *bus, struct device_node *np,
> > +                            unsigned int addr)
> > +{
> …
> > +     node = kzalloc(sizeof(*node), GFP_KERNEL);
> > +     if (IS_ERR(node))
> > +             return -ENOMEM;
> 
> Please improve the distinction for checks according to the handling of error/null pointers.

Right, I think it returns NULL on error. Thanks!

> 
> 
> …
> > +     ret = device_register(&node->dev);
> > +     if (ret)
> > +             goto err_put_device;
> > +
> > +     return 0;
> > +
> > +err_put_device:
> > +     put_device(&node->dev);
> > +
> > +     return ret;
> > +}
> 
> Did you overlook to release the node memory after a failed function call
> at such a source code place?

I think this is correct, per the comment to device_register():

| * NOTE: _Never_ directly free @dev after calling this function, even
| * if it returned an error! Always use put_device() to give up the
| * reference initialized in this function instead.

or?




[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux