[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c5bd368e-bd4b-4001-b612-b5293a8b2c1a@stanley.mountain>
Date: Tue, 17 Dec 2024 23:07:32 +0300
From: Dan Carpenter <dan.carpenter@...aro.org>
To: Chris Packham <chris.packham@...iedtelesis.co.nz>
Cc: Simon Horman <horms@...nel.org>, linux-kernel@...r.kernel.org
Subject: Re: smatch usage (was Re: [PATCH v2 4/4] net: mdio: Add RTL9300 MDIO
driver)
On Wed, Dec 18, 2024 at 08:40:08AM +1300, Chris Packham wrote:
> (culled the cc list)
>
> On 17/12/2024 23:35, Simon Horman wrote:
> > + Dan Carpenter
> >
> > On Tue, Dec 17, 2024 at 10:47:10AM +1300, Chris Packham wrote:
> > > On 17/12/2024 05:48, Simon Horman wrote:
> > > > On Mon, Dec 16, 2024 at 04:13:46PM +1300, Chris Packham wrote:
> > > > > Add a driver for the MDIO controller on the RTL9300 family of Ethernet
> > > > > switches with integrated SoC. There are 4 physical SMI interfaces on the
> > > > > RTL9300 but access is done using the switch ports so a single MDIO bus
> > > > > is presented to the rest of the system.
> > > > >
> > > > > Signed-off-by: Chris Packham <chris.packham@...iedtelesis.co.nz>
> > ...
> >
> > > > > + if (smi_addr[0] > MAX_SMI_BUSSES)
> > > > Hi Chris,
> > > >
> > > > Should this condition be
> > > >
> > > > if (smi_addr[0] >= MAX_SMI_BUSSES)
> > > Yes. You are correct.
> > > > > + return dev_err_probe(dev, -EINVAL, "illegal smi bus number %d\n",
> > > > > + smi_addr[0]);
> > > > > +
> > > > > + if (smi_addr[1] > MAX_SMI_ADDR)
> > > > > + return dev_err_probe(dev, -EINVAL, "illegal smi addr %d\n", smi_addr[1]);
> > > > > +
> > > > > + if (fwnode_device_is_compatible(child, "ethernet-phy-ieee802.3-c45"))
> > > > > + priv->smi_bus_isc45[smi_addr[0]] = true;
> > > > Otherwise it seems that smi_bus_isc45 may overflow here.
> > > >
> > > > Flagged by Smatch.
> > > Sounds like something I should start looking at for myself. Have you got a
> > > link to share?
> > Hi Chris,
> >
> > Smatch is here: https://github.com/error27/smatch
> > And my usage of it is informed by
> > https://blogs.oracle.com/linux/post/smatch-static-analysis-tool-overview-by-dan-carpenter
>
> Thanks, I did find the repo.or.cz mirror and
> https://lwn.net/Articles/691882/ after I searched a bit.
>
> >
> > FWIIW, I run it usking kchecker on individual source files.
> >
> > I've also CCed the author, Dan Carpenter, for good measure.
>
> Odd thing is I can't seem to reproduce any error report on my buggy code.
> I've tried `make O=build_smatch CHECK="~/src/smatch/smatch -p=kernel" C=1`
> and `O=build_smatch ~/src/smatch/smatch_scripts/kchecker --spammy
> drivers/net/mdio/mdio-realtek-rtl.c`
>
I wasn't able to use O=... with the kchecker script but if I call make
directly then it works for me:
make O=/home/dcarpenter/progs/kernel/build/build_smatch/ allyesconfig
make O=/home/dcarpenter/progs/kernel/build/build_smatch/ C=2 'CHECK= /home/dcarpenter/progs/smatch/release/smatch_scripts/../smatch --project=kernel --succeed ' drivers/net/mdio/mdio-realtek-rtl.o
regards,
dan carpenter
Powered by blists - more mailing lists