* [bug report] phy: add driver for Microsemi Ocelot SerDes muxing
@ 2018-10-10 10:48 Dan Carpenter
2018-10-10 12:10 ` Quentin Schulz
0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2018-10-10 10:48 UTC (permalink / raw)
To: kernel-janitors
Hello Quentin Schulz,
The patch 51f6b410fc22: "phy: add driver for Microsemi Ocelot SerDes
muxing" from Oct 4, 2018, leads to the following static checker
warning:
drivers/phy/mscc/phy-ocelot-serdes.c:210 serdes_simple_xlate()
error: buffer overflow 'ctrl->phys' 8 <= 8
drivers/phy/mscc/phy-ocelot-serdes.c
197 static struct phy *serdes_simple_xlate(struct device *dev,
198 struct of_phandle_args *args)
199 {
200 struct serdes_ctrl *ctrl = dev_get_drvdata(dev);
201 unsigned int port, idx, i;
202
203 if (args->args_count != 2)
204 return ERR_PTR(-EINVAL);
205
206 port = args->args[0];
207 idx = args->args[1];
208
209 for (i = 0; i <= SERDES_MAX; i++) {
^^
Should this be < ?
210 struct serdes_macro *macro = phy_get_drvdata(ctrl->phys[i]);
^^^^^^^^^^^^^
Or is this array too small?
211
212 if (idx != macro->idx)
213 continue;
214
215 /* SERDES6G(0) is the only SerDes capable of QSGMII */
216 if (idx != SERDES6G(0) && macro->port >= 0)
217 return ERR_PTR(-EBUSY);
218
219 macro->port = port;
220 return ctrl->phys[i];
221 }
222
223 return ERR_PTR(-ENODEV);
224 }
regards,
dan carpenter
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [bug report] phy: add driver for Microsemi Ocelot SerDes muxing
2018-10-10 10:48 [bug report] phy: add driver for Microsemi Ocelot SerDes muxing Dan Carpenter
@ 2018-10-10 12:10 ` Quentin Schulz
0 siblings, 0 replies; 2+ messages in thread
From: Quentin Schulz @ 2018-10-10 12:10 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 1827 bytes --]
Hi Dan,
On Wed, Oct 10, 2018 at 01:48:23PM +0300, Dan Carpenter wrote:
> Hello Quentin Schulz,
>
> The patch 51f6b410fc22: "phy: add driver for Microsemi Ocelot SerDes
> muxing" from Oct 4, 2018, leads to the following static checker
> warning:
>
> drivers/phy/mscc/phy-ocelot-serdes.c:210 serdes_simple_xlate()
> error: buffer overflow 'ctrl->phys' 8 <= 8
>
> drivers/phy/mscc/phy-ocelot-serdes.c
> 197 static struct phy *serdes_simple_xlate(struct device *dev,
> 198 struct of_phandle_args *args)
> 199 {
> 200 struct serdes_ctrl *ctrl = dev_get_drvdata(dev);
> 201 unsigned int port, idx, i;
> 202
> 203 if (args->args_count != 2)
> 204 return ERR_PTR(-EINVAL);
> 205
> 206 port = args->args[0];
> 207 idx = args->args[1];
> 208
> 209 for (i = 0; i <= SERDES_MAX; i++) {
> ^^
> Should this be < ?
>
> 210 struct serdes_macro *macro = phy_get_drvdata(ctrl->phys[i]);
> ^^^^^^^^^^^^^
> Or is this array too small?
>
> 211
> 212 if (idx != macro->idx)
> 213 continue;
> 214
> 215 /* SERDES6G(0) is the only SerDes capable of QSGMII */
> 216 if (idx != SERDES6G(0) && macro->port >= 0)
> 217 return ERR_PTR(-EBUSY);
> 218
> 219 macro->port = port;
> 220 return ctrl->phys[i];
> 221 }
> 222
> 223 return ERR_PTR(-ENODEV);
> 224 }
>
A patch has already been suggested.
Thanks,
Quentin
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-10-10 12:10 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-10 10:48 [bug report] phy: add driver for Microsemi Ocelot SerDes muxing Dan Carpenter
2018-10-10 12:10 ` Quentin Schulz
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.