diff mbox series

net: hso: do not unregister if not registered

Message ID 1549413631237.66546@ece.ufl.edu
State Changes Requested
Delegated to: David Miller
Headers show
Series net: hso: do not unregister if not registered | expand

Commit Message

Yavuz, Tuba Feb. 6, 2019, 12:40 a.m. UTC
On an error path inside the hso_create_net_device function of the hso
driver, hso_free_net_device gets called. This causes potentially a
negative reference count in the net device if register_netdev has not
been called yet as hso_free_net_device calls unregister_netdev
regardless. I think the driver should distinguish these cases and call
unregister_netdev only if register_netdev has been called.

Signed-off-by: Tuba Yavuz <tuba@ece.ufl.edu>
---

Comments

David Miller Feb. 8, 2019, 11:08 p.m. UTC | #1
From: "Yavuz, Tuba" <tuba@ece.ufl.edu>
Date: Wed, 6 Feb 2019 00:40:31 +0000

> 
> On an error path inside the hso_create_net_device function of the hso
> driver, hso_free_net_device gets called. This causes potentially a
> negative reference count in the net device if register_netdev has not
> been called yet as hso_free_net_device calls unregister_netdev
> regardless. I think the driver should distinguish these cases and call
> unregister_netdev only if register_netdev has been called.
> 
> Signed-off-by: Tuba Yavuz <tuba@ece.ufl.edu>

This patch is corrupted by your email client.
Yavuz, Tuba Feb. 9, 2019, 12:02 a.m. UTC | #2
I just resubmitted the patch and made sure to send it in plaintext. Hopefully, it will work this time.

Best,

Tuba
David Miller Feb. 9, 2019, 3:40 a.m. UTC | #3
From: "Yavuz, Tuba" <tuba@ece.ufl.edu>
Date: Sat, 9 Feb 2019 00:02:56 +0000

> I just resubmitted the patch and made sure to send it in
> plaintext. Hopefully, it will work this time.

That's not the problem.

It's still corrupted.

Your email client is formatting the text, and this makes the
patch unusable.  Specifically, the last line of the patch
should have just a single space, but your mail client remove
that space and turned it into an empty line.

Please read the Documentation/email-clients.txt file, and it
should be able to show you how to do this properly.

Thank you.
diff mbox series

Patch

--- linux-stable/drivers/net/usb/hso.c.orig     2019-01-27 14:45:58.232683119 -0500
+++ linux-stable/drivers/net/usb/hso.c  2019-02-05 17:54:17.056496019 -0500
@@ -2377,7 +2377,9 @@  static void hso_free_net_device(struct h
 
        remove_net_device(hso_net->parent);
 
-       if (hso_net->net)
+       if (hso_net->net &&
+           hso_net->net->reg_state == NETREG_REGISTERED)
                unregister_netdev(hso_net->net);
 
        /* start freeing */