linux 3.1.3

This commit is contained in:
Chuck Ebbert 2011-11-27 14:57:00 -05:00
parent ab31f808d5
commit a54c47b488
4 changed files with 5 additions and 101 deletions

View File

@ -1,76 +0,0 @@
From 731abb9cb27aef6013ce60808a04e04a545f3f4e Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@redhat.com>
Date: Thu, 10 Nov 2011 15:10:23 +0000
Subject: [PATCH] ip6_tunnel: copy parms.name after register_netdevice
Commit 1c5cae815d removed an explicit call to dev_alloc_name in ip6_tnl_create
because register_netdevice will now create a valid name. This works for the
net_device itself.
However the tunnel keeps a copy of the name in the parms structure for the
ip6_tnl associated with the tunnel. parms.name is set by copying the net_device
name in ip6_tnl_dev_init_gen. That function is called from ip6_tnl_dev_init in
ip6_tnl_create, but it is done before register_netdevice is called so the name
is set to a bogus value in the parms.name structure.
This shows up if you do a simple tunnel add, followed by a tunnel show:
[root@localhost ~]# ip -6 tunnel add remote fec0::100 local fec0::200
[root@localhost ~]# ip -6 tunnel show
ip6tnl0: ipv6/ipv6 remote :: local :: encaplimit 0 hoplimit 0 tclass 0x00 flowlabel 0x00000 (flowinfo 0x00000000)
ip6tnl%d: ipv6/ipv6 remote fec0::100 local fec0::200 encaplimit 4 hoplimit 64 tclass 0x00 flowlabel 0x00000 (flowinfo 0x00000000)
[root@localhost ~]#
Fix this by moving the strcpy out of ip6_tnl_dev_init_gen, and calling it after
register_netdevice has successfully returned.
Cc: stable@vger.kernel.org
Signed-off-by: Josh Boyer <jwboyer@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
net/ipv6/ip6_tunnel.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
index bdc15c9..4e2e9ff 100644
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -289,6 +289,8 @@ static struct ip6_tnl *ip6_tnl_create(struct net *net, struct ip6_tnl_parm *p)
if ((err = register_netdevice(dev)) < 0)
goto failed_free;
+ strcpy(t->parms.name, dev->name);
+
dev_hold(dev);
ip6_tnl_link(ip6n, t);
return t;
@@ -1407,7 +1409,6 @@ ip6_tnl_dev_init_gen(struct net_device *dev)
struct ip6_tnl *t = netdev_priv(dev);
t->dev = dev;
- strcpy(t->parms.name, dev->name);
dev->tstats = alloc_percpu(struct pcpu_tstats);
if (!dev->tstats)
return -ENOMEM;
@@ -1487,6 +1488,7 @@ static void __net_exit ip6_tnl_destroy_tunnels(struct ip6_tnl_net *ip6n)
static int __net_init ip6_tnl_init_net(struct net *net)
{
struct ip6_tnl_net *ip6n = net_generic(net, ip6_tnl_net_id);
+ struct ip6_tnl *t = NULL;
int err;
ip6n->tnls[0] = ip6n->tnls_wc;
@@ -1507,6 +1509,10 @@ static int __net_init ip6_tnl_init_net(struct net *net)
err = register_netdev(ip6n->fb_tnl_dev);
if (err < 0)
goto err_register;
+
+ t = netdev_priv(ip6n->fb_tnl_dev);
+
+ strcpy(t->parms.name, ip6n->fb_tnl_dev->name);
return 0;
err_register:
--
1.7.6.2

View File

@ -68,7 +68,7 @@ Summary: The Linux kernel
# Do we have a -stable update to apply?
%define stable_update 3
# Is it a -stable RC?
%define stable_rc 1
%define stable_rc 0
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev %{stable_update}
@ -746,7 +746,6 @@ Patch12021: udlfb-bind-framebuffer-to-interface.patch
Patch12025: rcu-avoid-just-onlined-cpu-resched.patch
Patch12026: block-stray-block-put-after-teardown.patch
Patch12027: usb-add-quirk-for-logitech-webcams.patch
Patch12030: epoll-limit-paths.patch
Patch12031: HID-wacom-Set-input-bits-before-registration.patch
@ -757,9 +756,6 @@ Patch13003: efi-dont-map-boot-services-on-32bit.patch
Patch13009: hvcs_pi_buf_alloc.patch
#rhbz 751165
Patch13010: ip6_tunnel-copy-parms.name-after-register_netdevice.patch
Patch20000: utrace.patch
# Flattened devicetree support
@ -1409,7 +1405,6 @@ ApplyPatch udlfb-bind-framebuffer-to-interface.patch
ApplyPatch epoll-limit-paths.patch
ApplyPatch rcu-avoid-just-onlined-cpu-resched.patch
ApplyPatch block-stray-block-put-after-teardown.patch
#ApplyPatch usb-add-quirk-for-logitech-webcams.patch
ApplyPatch HID-wacom-Set-input-bits-before-registration.patch
# rhbz#605888
@ -1420,9 +1415,6 @@ ApplyPatch efi-dont-map-boot-services-on-32bit.patch
ApplyPatch hvcs_pi_buf_alloc.patch
#rhbz 751165
#ApplyPatch ip6_tunnel-copy-parms.name-after-register_netdevice.patch
ApplyPatch media-dib0700-correct-error-message.patch
# utrace.
@ -2185,6 +2177,9 @@ fi
# and build.
%changelog
* Sun Nov 26 2011 Chuck Ebbert <cebbert@redhat.com> 3.1.3-1
- Linux 3.1.3
* Wed Nov 23 2011 Chuck Ebbert <cebbert@redhat.com> 3.1.3-0.rc1.1
- Linux 3.1.3-rc1
- Comment out merged patches:

View File

@ -1,4 +1,3 @@
8d43453f8159b2332ad410b19d86a931 linux-3.1.tar.bz2
6693d8c42055f83f5701d9b65d47208a compat-wireless-3.2-rc1-1.tar.bz2
7487d8e6f00c077f6e15d6f4f9947c30 patch-3.1.2.bz2
756c229f0565dd6073605c8654fee4b9 patch-3.1.3-rc1.bz2
1efc18287f740528226af94a28349e11 patch-3.1.3.bz2

View File

@ -1,14 +0,0 @@
Add C600 ID from rhbz #742010
---
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -38,6 +38,9 @@ static const struct usb_device_id usb_quirk_list[] = {
/* Logitech Webcam B/C500 */
{ USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
+ /* Logitech Webcam C600 */
+ { USB_DEVICE(0x046d, 0x0808), .driver_info = USB_QUIRK_RESET_RESUME },
+
/* Logitech Webcam Pro 9000 */
{ USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME },