[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9cfa70cca3cb1dd20bb2cab70a213e5a4dd28f89.camel@redhat.com>
Date: Thu, 27 Jul 2023 10:21:07 +0200
From: Paolo Abeni <pabeni@...hat.com>
To: Jakub Kicinski <kuba@...nel.org>, Zheng Wang <zyytlz.wz@....com>
Cc: s.shtylyov@....ru, lee@...nel.org, linyunsheng@...wei.com,
davem@...emloft.net, edumazet@...gle.com, richardcochran@...il.com,
p.zabel@...gutronix.de, geert+renesas@...der.be, magnus.damm@...il.com,
yoshihiro.shimoda.uh@...esas.com, biju.das.jz@...renesas.com,
wsa+renesas@...g-engineering.com, netdev@...r.kernel.org,
linux-renesas-soc@...r.kernel.org, linux-kernel@...r.kernel.org,
hackerzheng666@...il.com, 1395428693sheep@...il.com, alex000young@...il.com
Subject: Re: [PATCH v4] net: ravb: Fix possible UAF bug in ravb_remove
On Tue, 2023-07-25 at 20:19 -0700, Jakub Kicinski wrote:
> On Tue, 25 Jul 2023 11:00:26 +0800 Zheng Wang wrote:
> > diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
> > index 4d6b3b7d6abb..ce2da5101e51 100644
> > --- a/drivers/net/ethernet/renesas/ravb_main.c
> > +++ b/drivers/net/ethernet/renesas/ravb_main.c
> > @@ -2885,6 +2885,9 @@ static int ravb_remove(struct platform_device *pdev)
> > struct ravb_private *priv = netdev_priv(ndev);
> > const struct ravb_hw_info *info = priv->info;
> >
> > + netif_carrier_off(ndev);
> > + netif_tx_disable(ndev);
> > + cancel_work_sync(&priv->work);
>
> Still racy, the carrier can come back up after canceling the work.
I must admit I don't see how/when this driver sets the carrier on ?!?
> But whatever, this is a non-issue in the first place.
Do you mean the UaF can't happen? I think that is real.
> The fact that ravb_tx_timeout_work doesn't take any locks seems much
> more suspicious.
Indeed! But that should be a different patch, right?
Waiting a little more for feedback from renesas.
/P
Powered by blists - more mailing lists