All of lore.kernel.org
 help / color / mirror / Atom feed
* pull-request: can 2013-06-19
@ 2013-06-19  7:02 Marc Kleine-Budde
  2013-06-19  7:02 ` [PATCH] can: usb_8dev: unregister netdev before free()ing Marc Kleine-Budde
  2013-06-19  7:48 ` pull-request: can 2013-06-19 David Miller
  0 siblings, 2 replies; 8+ messages in thread
From: Marc Kleine-Budde @ 2013-06-19  7:02 UTC (permalink / raw)
  To: netdev; +Cc: linux-can, davem

Hello David,

here are there fixes for the v3.10 release cycle:

Michael Olbrich reported an Oops (free_netdev() on registered netdev) with the
8devices USB CAN converter on xhci USB host controllers. I've created a patch
to fix the error path of the driver.

regards,
Marc

---

The following changes since commit 33be081a812098567898bbe23b581460331a986f:

  ipv6: ndisc: fix ndisc_send_redirect writing to the wrong skb (2013-06-17 22:59:12 -0700)

are available in the git repository at:

  git://gitorious.org/linux-can/linux-can.git fixes-for-3.10

for you to fetch changes up to 4afe2156eb639e563d6ef0c2706b66ea400348b2:

  can: usb_8dev: unregister netdev before free()ing (2013-06-19 08:56:10 +0200)

----------------------------------------------------------------
Marc Kleine-Budde (1):
      can: usb_8dev: unregister netdev before free()ing

 drivers/net/can/usb/usb_8dev.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)



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

* [PATCH] can: usb_8dev: unregister netdev before free()ing
  2013-06-19  7:02 pull-request: can 2013-06-19 Marc Kleine-Budde
@ 2013-06-19  7:02 ` Marc Kleine-Budde
  2013-06-19 16:29   ` Oliver Hartkopp
  2013-06-19  7:48 ` pull-request: can 2013-06-19 David Miller
  1 sibling, 1 reply; 8+ messages in thread
From: Marc Kleine-Budde @ 2013-06-19  7:02 UTC (permalink / raw)
  To: netdev; +Cc: linux-can, davem, Marc Kleine-Budde

The usb_8dev hardware has problems on some xhci USB hosts. The driver fails to
read the firmware revision in the probe function. This leads to the following
Oops:

    [ 3356.635912] kernel BUG at net/core/dev.c:5701!

The driver tries to free the netdev, which has already been registered, without
unregistering it.

This patch fixes the problem by unregistering the netdev in the error path.

Reported-by: Michael Olbrich <m.olbrich@pengutronix.de>
Reviewed-by: Bernd Krumboeck <krumboeck@universalnet.at>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 drivers/net/can/usb/usb_8dev.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/can/usb/usb_8dev.c b/drivers/net/can/usb/usb_8dev.c
index 6e15ef0..cbd388e 100644
--- a/drivers/net/can/usb/usb_8dev.c
+++ b/drivers/net/can/usb/usb_8dev.c
@@ -977,7 +977,7 @@ static int usb_8dev_probe(struct usb_interface *intf,
 	err = usb_8dev_cmd_version(priv, &version);
 	if (err) {
 		netdev_err(netdev, "can't get firmware version\n");
-		goto cleanup_cmd_msg_buffer;
+		goto cleanup_unregister_candev;
 	} else {
 		netdev_info(netdev,
 			 "firmware: %d.%d, hardware: %d.%d\n",
@@ -989,6 +989,9 @@ static int usb_8dev_probe(struct usb_interface *intf,
 
 	return 0;
 
+cleanup_unregister_candev:
+	unregister_netdev(priv->netdev);
+
 cleanup_cmd_msg_buffer:
 	kfree(priv->cmd_msg_buffer);
 
-- 
1.8.3.1

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

* Re: pull-request: can 2013-06-19
  2013-06-19  7:02 pull-request: can 2013-06-19 Marc Kleine-Budde
  2013-06-19  7:02 ` [PATCH] can: usb_8dev: unregister netdev before free()ing Marc Kleine-Budde
@ 2013-06-19  7:48 ` David Miller
  1 sibling, 0 replies; 8+ messages in thread
From: David Miller @ 2013-06-19  7:48 UTC (permalink / raw)
  To: mkl; +Cc: netdev, linux-can

From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: Wed, 19 Jun 2013 09:02:48 +0200

> here are there fixes for the v3.10 release cycle:
> 
> Michael Olbrich reported an Oops (free_netdev() on registered netdev) with the
> 8devices USB CAN converter on xhci USB host controllers. I've created a patch
> to fix the error path of the driver.

Pulled, thanks Marc.

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

* Re: [PATCH] can: usb_8dev: unregister netdev before free()ing
  2013-06-19  7:02 ` [PATCH] can: usb_8dev: unregister netdev before free()ing Marc Kleine-Budde
@ 2013-06-19 16:29   ` Oliver Hartkopp
  2013-06-21 19:04     ` Fwd: " Oliver Hartkopp
  0 siblings, 1 reply; 8+ messages in thread
From: Oliver Hartkopp @ 2013-06-19 16:29 UTC (permalink / raw)
  To: Marc Kleine-Budde; +Cc: netdev, linux-can, davem, stable, Bernd Krumböck

Hello Marc,

the usb_8dev driver was introduced in Linux 3.9 and therefore this reasonable
patch should be queued up for linux-3.9.y stable too.

Regards,
Oliver


On 19.06.2013 09:02, Marc Kleine-Budde wrote:
> The usb_8dev hardware has problems on some xhci USB hosts. The driver fails to
> read the firmware revision in the probe function. This leads to the following
> Oops:
> 
>     [ 3356.635912] kernel BUG at net/core/dev.c:5701!
> 
> The driver tries to free the netdev, which has already been registered, without
> unregistering it.
> 
> This patch fixes the problem by unregistering the netdev in the error path.
> 
> Reported-by: Michael Olbrich <m.olbrich@pengutronix.de>
> Reviewed-by: Bernd Krumboeck <krumboeck@universalnet.at>
> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
> ---
>  drivers/net/can/usb/usb_8dev.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/can/usb/usb_8dev.c b/drivers/net/can/usb/usb_8dev.c
> index 6e15ef0..cbd388e 100644
> --- a/drivers/net/can/usb/usb_8dev.c
> +++ b/drivers/net/can/usb/usb_8dev.c
> @@ -977,7 +977,7 @@ static int usb_8dev_probe(struct usb_interface *intf,
>  	err = usb_8dev_cmd_version(priv, &version);
>  	if (err) {
>  		netdev_err(netdev, "can't get firmware version\n");
> -		goto cleanup_cmd_msg_buffer;
> +		goto cleanup_unregister_candev;
>  	} else {
>  		netdev_info(netdev,
>  			 "firmware: %d.%d, hardware: %d.%d\n",
> @@ -989,6 +989,9 @@ static int usb_8dev_probe(struct usb_interface *intf,
>  
>  	return 0;
>  
> +cleanup_unregister_candev:
> +	unregister_netdev(priv->netdev);
> +
>  cleanup_cmd_msg_buffer:
>  	kfree(priv->cmd_msg_buffer);
>  
> 


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

* Fwd: Re: [PATCH] can: usb_8dev: unregister netdev before free()ing
  2013-06-19 16:29   ` Oliver Hartkopp
@ 2013-06-21 19:04     ` Oliver Hartkopp
  2013-06-21 19:17       ` Sergei Shtylyov
  2013-06-24 21:55       ` Greg Kroah-Hartman
  0 siblings, 2 replies; 8+ messages in thread
From: Oliver Hartkopp @ 2013-06-21 19:04 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-can, Linux Netdev List

Hello Greg,

can you please integrate this patch into stable 3.9 too?
The usb_8dev driver was introduced in Linux 3.9 and has now been fixed in
DaveMs net-tree for 3.10 some days ago.

Upstream commit 4afe2156eb639e563d6ef0c2706b66ea400348b2

http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=4afe2156eb639e563d6ef0c2706b66ea400348b2

I wanted to put stable@kernel.org in CC but that bounced.

Tnx,
Oliver


-------- Original Message --------
Subject: Re: [PATCH] can: usb_8dev: unregister netdev before free()ing
Date: Wed, 19 Jun 2013 18:29:12 +0200
From: Oliver Hartkopp <socketcan@hartkopp.net>
To: Marc Kleine-Budde <mkl@pengutronix.de>
CC: netdev@vger.kernel.org, linux-can@vger.kernel.org, davem@davemloft.net, stable@kernel.org, Bernd Krumböck  <krumboeck@universalnet.at>

Hello Marc,

the usb_8dev driver was introduced in Linux 3.9 and therefore this reasonable
patch should be queued up for linux-3.9.y stable too.

Regards,
Oliver


On 19.06.2013 09:02, Marc Kleine-Budde wrote:
> The usb_8dev hardware has problems on some xhci USB hosts. The driver fails to
> read the firmware revision in the probe function. This leads to the following
> Oops:
> 
>     [ 3356.635912] kernel BUG at net/core/dev.c:5701!
> 
> The driver tries to free the netdev, which has already been registered, without
> unregistering it.
> 
> This patch fixes the problem by unregistering the netdev in the error path.
> 
> Reported-by: Michael Olbrich <m.olbrich@pengutronix.de>
> Reviewed-by: Bernd Krumboeck <krumboeck@universalnet.at>
> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
> ---
>  drivers/net/can/usb/usb_8dev.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/can/usb/usb_8dev.c b/drivers/net/can/usb/usb_8dev.c
> index 6e15ef0..cbd388e 100644
> --- a/drivers/net/can/usb/usb_8dev.c
> +++ b/drivers/net/can/usb/usb_8dev.c
> @@ -977,7 +977,7 @@ static int usb_8dev_probe(struct usb_interface *intf,
>  	err = usb_8dev_cmd_version(priv, &version);
>  	if (err) {
>  		netdev_err(netdev, "can't get firmware version\n");
> -		goto cleanup_cmd_msg_buffer;
> +		goto cleanup_unregister_candev;
>  	} else {
>  		netdev_info(netdev,
>  			 "firmware: %d.%d, hardware: %d.%d\n",
> @@ -989,6 +989,9 @@ static int usb_8dev_probe(struct usb_interface *intf,
>  
>  	return 0;
>  
> +cleanup_unregister_candev:
> +	unregister_netdev(priv->netdev);
> +
>  cleanup_cmd_msg_buffer:
>  	kfree(priv->cmd_msg_buffer);
>  
> 


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

* Re: Fwd: Re: [PATCH] can: usb_8dev: unregister netdev before free()ing
  2013-06-21 19:04     ` Fwd: " Oliver Hartkopp
@ 2013-06-21 19:17       ` Sergei Shtylyov
  2013-06-22  7:08         ` Oliver Hartkopp
  2013-06-24 21:55       ` Greg Kroah-Hartman
  1 sibling, 1 reply; 8+ messages in thread
From: Sergei Shtylyov @ 2013-06-21 19:17 UTC (permalink / raw)
  To: Oliver Hartkopp; +Cc: Greg Kroah-Hartman, linux-can, Linux Netdev List

Hello.

On 06/21/2013 11:04 PM, Oliver Hartkopp wrote:

> can you please integrate this patch into stable 3.9 too?
> The usb_8dev driver was introduced in Linux 3.9 and has now been fixed in
> DaveMs net-tree for 3.10 some days ago.

> Upstream commit 4afe2156eb639e563d6ef0c2706b66ea400348b2

> http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=4afe2156eb639e563d6ef0c2706b66ea400348b2

> I wanted to put stable@kernel.org in CC but that bounced.

    Because it's now at stable@vger.kernel.org. You don't need to CC it 
in your mail, just add "Cc: stable@vger.kernel.org" line to the patch 
header after signoff. Though actually, Dave Miller doesn't like this 
protocol and queues the stable patches himself.

> Tnx,
> Oliver

WBR, Sergei


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

* Re: Fwd: Re: [PATCH] can: usb_8dev: unregister netdev before free()ing
  2013-06-21 19:17       ` Sergei Shtylyov
@ 2013-06-22  7:08         ` Oliver Hartkopp
  0 siblings, 0 replies; 8+ messages in thread
From: Oliver Hartkopp @ 2013-06-22  7:08 UTC (permalink / raw)
  To: Sergei Shtylyov, Greg Kroah-Hartman, David Miller
  Cc: linux-can, Linux Netdev List

Unfortunately the "Cc: stable@vger.kernel.org" was missing in the original patch.

I just wanted to make sure that it doesn't get lost for 3.9 stable.

Tnx & best regards,
Oliver

On 21.06.2013 21:17, Sergei Shtylyov wrote:
> Hello.
> 
> On 06/21/2013 11:04 PM, Oliver Hartkopp wrote:
> 
>> can you please integrate this patch into stable 3.9 too?
>> The usb_8dev driver was introduced in Linux 3.9 and has now been fixed in
>> DaveMs net-tree for 3.10 some days ago.
> 
>> Upstream commit 4afe2156eb639e563d6ef0c2706b66ea400348b2
> 
>> http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=4afe2156eb639e563d6ef0c2706b66ea400348b2
>>
> 
>> I wanted to put stable@kernel.org in CC but that bounced.
> 
>    Because it's now at stable@vger.kernel.org. You don't need to CC it in your
> mail, just add "Cc: stable@vger.kernel.org" line to the patch header after
> signoff. Though actually, Dave Miller doesn't like this protocol and queues
> the stable patches himself.
> 
>> Tnx,
>> Oliver
> 
> WBR, Sergei
> 


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

* Re: Fwd: Re: [PATCH] can: usb_8dev: unregister netdev before free()ing
  2013-06-21 19:04     ` Fwd: " Oliver Hartkopp
  2013-06-21 19:17       ` Sergei Shtylyov
@ 2013-06-24 21:55       ` Greg Kroah-Hartman
  1 sibling, 0 replies; 8+ messages in thread
From: Greg Kroah-Hartman @ 2013-06-24 21:55 UTC (permalink / raw)
  To: Oliver Hartkopp; +Cc: linux-can, Linux Netdev List

On Fri, Jun 21, 2013 at 09:04:23PM +0200, Oliver Hartkopp wrote:
> Hello Greg,
> 
> can you please integrate this patch into stable 3.9 too?
> The usb_8dev driver was introduced in Linux 3.9 and has now been fixed in
> DaveMs net-tree for 3.10 some days ago.
> 
> Upstream commit 4afe2156eb639e563d6ef0c2706b66ea400348b2
> 
> http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=4afe2156eb639e563d6ef0c2706b66ea400348b2
> 
> I wanted to put stable@kernel.org in CC but that bounced.

That commit is not in Linus's tree, so I can't do anything about it at
this point in time.  When it hits Linus's tree, please resend this
message to stable@vger.kernel.org, so we know to pick it up then.

Also, networking stable patches come from David Miller, so he should be
the one sending this to me...

thanks,

greg k-h

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

end of thread, other threads:[~2013-06-24 21:55 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-19  7:02 pull-request: can 2013-06-19 Marc Kleine-Budde
2013-06-19  7:02 ` [PATCH] can: usb_8dev: unregister netdev before free()ing Marc Kleine-Budde
2013-06-19 16:29   ` Oliver Hartkopp
2013-06-21 19:04     ` Fwd: " Oliver Hartkopp
2013-06-21 19:17       ` Sergei Shtylyov
2013-06-22  7:08         ` Oliver Hartkopp
2013-06-24 21:55       ` Greg Kroah-Hartman
2013-06-19  7:48 ` pull-request: can 2013-06-19 David Miller

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.