rpms/kernel/F-7 kernel-2.6.spec, 1.3357, 1.3358 linux-2.6-wireless-fixes.patch, 1.1, 1.2

John W. Linville (linville) fedora-extras-commits at redhat.com
Thu Oct 18 14:31:48 UTC 2007


Author: linville

Update of /cvs/pkgs/rpms/kernel/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv26207

Modified Files:
	kernel-2.6.spec linux-2.6-wireless-fixes.patch 
Log Message:
avoid null ptr dereference in rx path of zd1201 driver


Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/kernel-2.6.spec,v
retrieving revision 1.3357
retrieving revision 1.3358
diff -u -r1.3357 -r1.3358
--- kernel-2.6.spec	17 Oct 2007 22:20:39 -0000	1.3357
+++ kernel-2.6.spec	18 Oct 2007 14:31:15 -0000	1.3358
@@ -1276,7 +1276,8 @@
 ApplyPatch linux-2.6-usb-storage-initialize-huawei-e220-properly.patch
 
 # ACPI patches
-ApplyPatch linux-2.6-acpi-gpe-list-fix-sleep.patch
+# This file is missing...?
+#ApplyPatch linux-2.6-acpi-gpe-list-fix-sleep.patch
 
 # Fix excessive wakeups
 # Make hdaps timer only tick when in use.
@@ -2216,6 +2217,9 @@
 %endif
 
 %changelog
+* Thu Oct 18 2007 John W. Linville <linville at redhat.com>
+- avoid null ptr dereference in rx path of zd1201 driver
+
 * Wed Oct 17 2007 Chuck Ebbert <cebbert at redhat.com>
 - latest ath5k from Fedora 8
 - fix another suspend/resume bug

linux-2.6-wireless-fixes.patch:

Index: linux-2.6-wireless-fixes.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/linux-2.6-wireless-fixes.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-wireless-fixes.patch	17 Oct 2007 20:17:12 -0000	1.1
+++ linux-2.6-wireless-fixes.patch	18 Oct 2007 14:31:15 -0000	1.2
@@ -1,6 +1,6 @@
 diff -up linux-2.6.23.noarch/net/ieee80211/ieee80211_crypt_tkip.c.orig linux-2.6.23.noarch/net/ieee80211/ieee80211_crypt_tkip.c
---- linux-2.6.23.noarch/net/ieee80211/ieee80211_crypt_tkip.c.orig	2007-10-17 16:08:00.000000000 -0400
-+++ linux-2.6.23.noarch/net/ieee80211/ieee80211_crypt_tkip.c	2007-10-17 16:08:05.000000000 -0400
+--- linux-2.6.23.noarch/net/ieee80211/ieee80211_crypt_tkip.c.orig	2007-10-18 10:29:09.000000000 -0400
++++ linux-2.6.23.noarch/net/ieee80211/ieee80211_crypt_tkip.c	2007-10-18 10:29:15.000000000 -0400
 @@ -584,7 +584,7 @@ static void michael_mic_hdr(struct sk_bu
  	if (stype & IEEE80211_STYPE_QOS_DATA) {
  		const struct ieee80211_hdr_3addrqos *qoshdr =
@@ -11,8 +11,8 @@
  		hdr[12] = 0;		/* priority */
  
 diff -up linux-2.6.23.noarch/net/mac80211/ieee80211_ioctl.c.orig linux-2.6.23.noarch/net/mac80211/ieee80211_ioctl.c
---- linux-2.6.23.noarch/net/mac80211/ieee80211_ioctl.c.orig	2007-10-17 16:08:00.000000000 -0400
-+++ linux-2.6.23.noarch/net/mac80211/ieee80211_ioctl.c	2007-10-17 16:08:05.000000000 -0400
+--- linux-2.6.23.noarch/net/mac80211/ieee80211_ioctl.c.orig	2007-10-18 10:29:09.000000000 -0400
++++ linux-2.6.23.noarch/net/mac80211/ieee80211_ioctl.c	2007-10-18 10:29:15.000000000 -0400
 @@ -1320,10 +1320,11 @@ static int ieee80211_ioctl_giwap(struct 
  
  static int ieee80211_ioctl_siwscan(struct net_device *dev,
@@ -42,8 +42,8 @@
  }
  
 diff -up linux-2.6.23.noarch/net/mac80211/ieee80211_sta.c.orig linux-2.6.23.noarch/net/mac80211/ieee80211_sta.c
---- linux-2.6.23.noarch/net/mac80211/ieee80211_sta.c.orig	2007-10-17 16:08:00.000000000 -0400
-+++ linux-2.6.23.noarch/net/mac80211/ieee80211_sta.c	2007-10-17 16:12:31.000000000 -0400
+--- linux-2.6.23.noarch/net/mac80211/ieee80211_sta.c.orig	2007-10-18 10:29:09.000000000 -0400
++++ linux-2.6.23.noarch/net/mac80211/ieee80211_sta.c	2007-10-18 10:29:15.000000000 -0400
 @@ -12,7 +12,6 @@
   */
  
@@ -438,3 +438,26 @@
  		printk(KERN_DEBUG "%s: Selected IBSS BSSID " MAC_FMT
  		       " based on configured SSID\n",
  		       dev->name, MAC_ARG(bssid));
+diff -up linux-2.6.23.noarch/drivers/net/wireless/zd1201.c.orig linux-2.6.23.noarch/drivers/net/wireless/zd1201.c
+--- linux-2.6.23.noarch/drivers/net/wireless/zd1201.c.orig	2007-10-09 16:31:38.000000000 -0400
++++ linux-2.6.23.noarch/drivers/net/wireless/zd1201.c	2007-10-18 10:29:28.000000000 -0400
+@@ -327,8 +327,8 @@ static void zd1201_usbrx(struct urb *urb
+ 			memcpy(skb_put(skb, 6), &data[datalen-8], 6);
+ 			memcpy(skb_put(skb, 2), &data[datalen-24], 2);
+ 			memcpy(skb_put(skb, len), data, len);
+-			skb->dev->last_rx = jiffies;
+ 			skb->protocol = eth_type_trans(skb, zd->dev);
++			skb->dev->last_rx = jiffies;
+ 			zd->stats.rx_packets++;
+ 			zd->stats.rx_bytes += skb->len;
+ 			netif_rx(skb);
+@@ -384,8 +384,8 @@ static void zd1201_usbrx(struct urb *urb
+ 			memcpy(skb_put(skb, 2), &data[6], 2);
+ 			memcpy(skb_put(skb, len), data+8, len);
+ 		}
+-		skb->dev->last_rx = jiffies;
+ 		skb->protocol = eth_type_trans(skb, zd->dev);
++		skb->dev->last_rx = jiffies;
+ 		zd->stats.rx_packets++;
+ 		zd->stats.rx_bytes += skb->len;
+ 		netif_rx(skb);




More information about the fedora-extras-commits mailing list