netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] net: hso: do not unregister if not registered
@ 2019-02-09 16:24 Yavuz, Tuba
  2019-02-09 17:35 ` David Miller
  0 siblings, 1 reply; 6+ messages in thread
From: Yavuz, Tuba @ 2019-02-09 16:24 UTC (permalink / raw)
  To: netdev



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>
---

--- 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 */
 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] net: hso: do not unregister if not registered
  2019-02-09 16:24 [PATCH] net: hso: do not unregister if not registered Yavuz, Tuba
@ 2019-02-09 17:35 ` David Miller
  0 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2019-02-09 17:35 UTC (permalink / raw)
  To: tuba; +Cc: netdev

From: "Yavuz, Tuba" <tuba@ece.ufl.edu>
Date: Sat, 9 Feb 2019 16:24:20 +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>

Your patch is still corrupted.

Email this patch to yourself and try to apply it to a source tree.
You will see that it won't work.

Please do not post this patch again until you have fixed this problem
and have also successfully applied a patch you have test emailed to
yourself.

Thanks.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] net: hso: do not unregister if not registered
  2019-02-09  0:02   ` Yavuz, Tuba
@ 2019-02-09  3:40     ` David Miller
  0 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2019-02-09  3:40 UTC (permalink / raw)
  To: tuba; +Cc: netdev

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.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] net: hso: do not unregister if not registered
  2019-02-08 23:08 ` David Miller
@ 2019-02-09  0:02   ` Yavuz, Tuba
  2019-02-09  3:40     ` David Miller
  0 siblings, 1 reply; 6+ messages in thread
From: Yavuz, Tuba @ 2019-02-09  0:02 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

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

Best,

Tuba 
________________________________________
From: David Miller <davem@davemloft.net>
Sent: Friday, February 8, 2019 6:08 PM
To: Yavuz, Tuba
Cc: netdev@vger.kernel.org
Subject: Re: [PATCH] net: hso: do not unregister if not registered

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.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] net: hso: do not unregister if not registered
  2019-02-06  0:40 Yavuz, Tuba
@ 2019-02-08 23:08 ` David Miller
  2019-02-09  0:02   ` Yavuz, Tuba
  0 siblings, 1 reply; 6+ messages in thread
From: David Miller @ 2019-02-08 23:08 UTC (permalink / raw)
  To: tuba; +Cc: netdev

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.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] net: hso: do not unregister if not registered
@ 2019-02-06  0:40 Yavuz, Tuba
  2019-02-08 23:08 ` David Miller
  0 siblings, 1 reply; 6+ messages in thread
From: Yavuz, Tuba @ 2019-02-06  0:40 UTC (permalink / raw)
  To: netdev


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>
---

--- 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 */



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-02-09 17:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-09 16:24 [PATCH] net: hso: do not unregister if not registered Yavuz, Tuba
2019-02-09 17:35 ` David Miller
  -- strict thread matches above, loose matches on Subject: below --
2019-02-06  0:40 Yavuz, Tuba
2019-02-08 23:08 ` David Miller
2019-02-09  0:02   ` Yavuz, Tuba
2019-02-09  3:40     ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).