Messages in this thread | | | Subject | Re: [PATCH v4] net: ravb: Fix possible UAF bug in ravb_remove | From | Paolo Abeni <> | Date | Thu, 27 Jul 2023 10:21:07 +0200 |
| |
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
| |