diff mbox series

: net : hso : do not call unregister_netdev if not registered

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

Commit Message

Yavuz, Tuba Jan. 28, 2019, 4:28 p.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.

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

Comments

David Miller Jan. 30, 2019, 9:58 p.m. UTC | #1
From: "Yavuz, Tuba" <tuba@ece.ufl.edu>
Date: Mon, 28 Jan 2019 16:28:38 +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.
> 
> Reported-by: Tuba Yavuz <tuba@ece.ufl.edu>
> Signed-off-by: Tuba Yavuz <tuba@ece.ufl.edu>

This does not apply cleanly to the net tree.

Also, please stop putting those spaces after the subsystem prefixes
in your Subject line.  Put the colon character immediately after
each subsystem prefix.

Thank you.
Yavuz, Tuba Jan. 30, 2019, 11:50 p.m. UTC | #2
Hi David,

I'll fix the spaces in the subject.

When I checked my patch it only had a p0 patch warning but I am not sure how to fix it. 

WARNING: patch prefix 'drivers' exists, appears to be a -p0 patch

total: 0 errors, 1 warnings, 0 checks, 8 lines checked

drivers/net/usb/hso.patch has style problems, please review.

So, please advise.

Best,


Tuba Yavuz, Ph.D.
Assistant Professor
Electrical and Computer Engineering Department
University of Florida
Gainesville, FL 32611
Webpage: http://www.tuba.ece.ufl.edu/
Email: tuba@ece.ufl.edu
Phone: (352) 846 0202
diff mbox series

Patch

--- drivers/net/usb/hso.c.orig	2019-01-27 14:45:58.232683119 -0500
+++ drivers/net/usb/hso.c	2019-01-27 14:47:43.592683629 -0500
@@ -2377,7 +2377,7 @@  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 */