Re: [PATCH-next] i3c: master: Fix potentially uninit variable
From: Alexandre Belloni
Date: Tue Nov 26 2024 - 17:48:57 EST
On 27/11/2024 01:26:08+0530, Advait Dhamorikar wrote:
> Hello,
>
> I would really appreciate it if I could get some feedback on this patch,
> I would like to know if this approach is the right way to proceed.
>
Yes and no, I don't think -ENODEV is allowed here, see platform_uevent
and i2c_device_uevent.
> Thanks and regards,
> Advait
>
> On Tue, 19 Nov 2024 at 21:09, Advait Dhamorikar
> <advaitdhamorikar@xxxxxxxxx> wrote:
> >
> > devinfo is uninitialized if the condition is not satisfied,
> > add an else condition to prevent unexpected behaviour.
> >
> > The variable will contain an arbitrary value left from earlier
> > computations in `i3c_device_uevent`.
> >
> > Signed-off-by: Advait Dhamorikar <advaitdhamorikar@xxxxxxxxx>
> > ---
> > drivers/i3c/master.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c
> > index 42310c9a00c2..7594d3793eb0 100644
> > --- a/drivers/i3c/master.c
> > +++ b/drivers/i3c/master.c
> > @@ -284,6 +284,8 @@ static int i3c_device_uevent(const struct device *dev, struct kobj_uevent_env *e
> >
> > if (i3cdev->desc)
> > devinfo = i3cdev->desc->info;
> > + else
> > + return -ENODEV;
> > manuf = I3C_PID_MANUF_ID(devinfo.pid);
> > part = I3C_PID_PART_ID(devinfo.pid);
> > ext = I3C_PID_EXTRA_INFO(devinfo.pid);
> > --
> > 2.34.1
> >
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com