From: Qasim Ijaz <qasdev00@gmail.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, horms@kernel.org,
linux-usb@vger.kernel.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org,
syzbot <syzbot+3361c2d6f78a3e0892f9@syzkaller.appspotmail.com>
Subject: Re: [PATCH 1/4] net: fix uninitialised access in mii_nway_restart()
Date: Thu, 10 Apr 2025 23:15:23 +0100 [thread overview]
Message-ID: <Z_hC-9C7Bc2lPrig@qasdev.system> (raw)
In-Reply-To: <20250325063307.15336182@kernel.org>
On Tue, Mar 25, 2025 at 06:33:07AM -0700, Jakub Kicinski wrote:
> On Wed, 19 Mar 2025 11:21:53 +0000 Qasim Ijaz wrote:
> > --- a/drivers/net/mii.c
> > +++ b/drivers/net/mii.c
> > @@ -464,6 +464,8 @@ int mii_nway_restart (struct mii_if_info *mii)
> >
> > /* if autoneg is off, it's an error */
> > bmcr = mii->mdio_read(mii->dev, mii->phy_id, MII_BMCR);
> > + if (bmcr < 0)
> > + return bmcr;
> >
> > if (bmcr & BMCR_ANENABLE) {
> > bmcr |= BMCR_ANRESTART;
>
> We error check just one mdio_read() but there's a whole bunch of them
> in this file. What's the expected behavior then? Are all of them buggy?
>
Hi Jakub
Apologies for my delayed response, I had another look at this and I
think my patch may be off a bit. You are correct that there are multiple
mdio_read() calls and looking at the mii.c file we can see that calls to
functions like mdio_read (and a lot of others) dont check return values.
So in light of this I think a better patch would be to not edit the
mii.c file at all and just make ch9200_mdio_read return 0 on
error. This way if mdio_read fails and 0 is returned, the
check for "bmcr & BMCR_ANENABLE" won't be triggered and mii_nway_restart
will just return 0 and end. If we return a negative on error it may
contain the exact bit the function checks.
Similiar to this patch:
<https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=c68b2c9eba38>
If this sounds good, should i send another patch series with all the
changes?
> This patch should be split into core and driver parts.
> --
> pw-bot: cr
next prev parent reply other threads:[~2025-04-10 22:15 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-19 11:21 [PATCH 0/4] net: fix bugs and error handling in qinheng ch9200 driver and mii interface Qasim Ijaz
2025-03-19 11:21 ` [PATCH 1/4] net: fix uninitialised access in mii_nway_restart() Qasim Ijaz
2025-03-20 13:48 ` Simon Horman
2025-03-25 13:33 ` Jakub Kicinski
2025-04-10 22:15 ` Qasim Ijaz [this message]
2025-04-10 23:17 ` Jakub Kicinski
2025-04-11 1:12 ` Andrew Lunn
2025-04-12 18:30 ` Qasim Ijaz
2025-03-19 11:21 ` [PATCH 2/4] net: ch9200: remove extraneous return in control_write() to propagate failures Qasim Ijaz
2025-03-20 13:48 ` Simon Horman
2025-03-19 11:21 ` [PATCH 3/4] net: ch9200: improve error handling in get_mac_address() Qasim Ijaz
2025-03-20 13:38 ` Markus Elfring
2025-03-20 13:49 ` Simon Horman
2025-03-19 11:21 ` [PATCH 4/4] net: ch9200: add error handling in ch9200_bind() Qasim Ijaz
2025-03-20 13:49 ` Simon Horman
2025-03-20 14:00 ` Markus Elfring
[not found] <20250319111444.47843-1-qasdev00@gmail.com>
2025-03-19 11:14 ` [PATCH 1/4] net: fix uninitialised access in mii_nway_restart() Qasim Ijaz
[not found] <20250319105045.43385-1-qasdev00@gmail.com>
2025-03-19 10:50 ` Qasim Ijaz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Z_hC-9C7Bc2lPrig@qasdev.system \
--to=qasdev00@gmail.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=syzbot+3361c2d6f78a3e0892f9@syzkaller.appspotmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.