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]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux