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 |
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.
I just resubmitted the patch and made sure to send it in plaintext. Hopefully, it will work this time. Best, Tuba
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.
--- 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 */
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> ---