All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Jeremy Kerr <jk@codeconstruct.com.au>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	Matt Johnston <matt@codeconstruct.com.au>,
	stable <stable@kernel.org>
Subject: Re: [PATCH net] net: mctp: usb: properly drop the usb interface on probe error
Date: Mon, 23 Feb 2026 22:18:25 -0800	[thread overview]
Message-ID: <2026022314-retiring-accustom-ca7b@gregkh> (raw)
In-Reply-To: <0fc4daf8261ea1b163c81c5618aba74f248bc3a9.camel@codeconstruct.com.au>

On Tue, Feb 24, 2026 at 09:50:09AM +0800, Jeremy Kerr wrote:
> Hi Greg,
> 
> On a second look:
> 
> > diff --git a/drivers/net/mctp/mctp-usb.c b/drivers/net/mctp/mctp-usb.c
> > index ef860cfc629f..eef17ae89298 100644
> > --- a/drivers/net/mctp/mctp-usb.c
> > +++ b/drivers/net/mctp/mctp-usb.c
> > @@ -355,6 +355,7 @@ static int mctp_usb_probe(struct usb_interface *intf,
> >         usb_free_urb(dev->tx_urb);
> >         usb_free_urb(dev->rx_urb);
> >         free_netdev(netdev);
> > +       usb_put_dev(dev->usbdev);
> >         return rc;
> >  }
> 
> Should we not do the usb_put_dev() before the free_netdev()?

Why?  The usb_put_dev() doesn't really do anything, except for the fact
that you have to do it because you did a usb_get_dev() earlier.  In
reality, no USB driver needs to call get/put on a usb device at all,
that is a bad pattern I made years ago for no good reason, sorry about
that.

I really should just sweep the tree to fix that up one of these days,
odds are a coccinelle script can do that...

> Given we're in NETREG_UNINITIALIZED state, we're likely to be
> immediately freeing netdev there, which includes the netdev_priv data,
> ie., dev.

That's great, but again, the usb device will still be around as the usb
core ensures that for the lifetime of probe/remove, the device will be
there with a reference.  So there's no real reason to put it anywhere in
this list, other than last as that mirrors when this was grabbed, right?

thanks,

greg k-h

  reply	other threads:[~2026-02-24  6:18 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-23 11:33 [PATCH net] net: mctp: usb: properly drop the usb interface on probe error Greg Kroah-Hartman
2026-02-24  1:41 ` Jeremy Kerr
2026-02-24  1:50 ` Jeremy Kerr
2026-02-24  6:18   ` Greg Kroah-Hartman [this message]
2026-02-24  6:31     ` Jeremy Kerr
2026-02-25 14:35       ` Greg Kroah-Hartman

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=2026022314-retiring-accustom-ca7b@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=jk@codeconstruct.com.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt@codeconstruct.com.au \
    --cc=netdev@vger.kernel.org \
    --cc=stable@kernel.org \
    /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.