* 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: [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@vger.kernel.org, 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@vger.kernel.org, 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@vger.kernel.org, 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@vger.kernel.org, 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
* 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
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 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).