rpms/kernel/devel kernel.spec, 1.454, 1.455 linux-2.6-firewire-git-pending.patch, 1.7, 1.8

Jarod Wilson (jwilson) fedora-extras-commits at redhat.com
Wed Feb 27 21:44:02 UTC 2008


Author: jwilson

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv9768

Modified Files:
	kernel.spec linux-2.6-firewire-git-pending.patch 
Log Message:
* Wed Feb 27 2008 Jarod Wilson <jwilson at redhat.com>
- firewire-sbp2: fix refcounting bug that prevented module unload
- firewire-sbp2: fix use-after-free bug



Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.454
retrieving revision 1.455
diff -u -r1.454 -r1.455
--- kernel.spec	27 Feb 2008 04:41:28 -0000	1.454
+++ kernel.spec	27 Feb 2008 21:43:12 -0000	1.455
@@ -1139,7 +1139,8 @@
 #ApplyPatch linux-2.6-firewire-git-update.patch
 C=$(wc -l $RPM_SOURCE_DIR/linux-2.6-firewire-git-pending.patch | awk '{print $1}')
 if [ "$C" -gt 10 ]; then
-ApplyPatch linux-2.6-firewire-git-pending.patch
+echo foo
+#ApplyPatch linux-2.6-firewire-git-pending.patch
 fi
 
 # usb video
@@ -1733,8 +1734,9 @@
 %kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
 
 %changelog
-* Tue Feb 26 2008 Jarod Wilson <jwilson at redhat.com>
+* Wed Feb 27 2008 Jarod Wilson <jwilson at redhat.com>
 - firewire-sbp2: fix refcounting bug that prevented module unload
+- firewire-sbp2: fix use-after-free bug
 
 * Tue Feb 26 2008 Dave Jones <davej at redhat.com>
 - 2.6.25-rc3-git1

linux-2.6-firewire-git-pending.patch:

Index: linux-2.6-firewire-git-pending.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-firewire-git-pending.patch,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- linux-2.6-firewire-git-pending.patch	27 Feb 2008 04:41:28 -0000	1.7
+++ linux-2.6-firewire-git-pending.patch	27 Feb 2008 21:43:12 -0000	1.8
@@ -524,13 +524,15 @@
 Update:  Refreshed to be applicable after patch "firewire: fw-sbp2:
 better fix for NULL pointer dereference in scsi_remove_device".
 
+Update 2:  Update 1 had a use-after-free bug. #-|
+
 
  drivers/firewire/fw-card.c        |   10 +++++++++-
  drivers/firewire/fw-device.c      |   21 ++++++---------------
  drivers/firewire/fw-device.h      |   16 ++++++++++++++--
- drivers/firewire/fw-sbp2.c        |    3 +++
+ drivers/firewire/fw-sbp2.c        |    4 ++++
  drivers/firewire/fw-transaction.h |    2 ++
- 5 files changed, 34 insertions(+), 18 deletions(-)
+ 5 files changed, 35 insertions(+), 18 deletions(-)
 
 Index: linux/drivers/firewire/fw-card.c
 ===================================================================
@@ -630,15 +632,23 @@
 ===================================================================
 --- linux.orig/drivers/firewire/fw-sbp2.c
 +++ linux/drivers/firewire/fw-sbp2.c
-@@ -791,6 +791,7 @@ static void sbp2_release_target(struct k
+@@ -769,6 +769,7 @@ static void sbp2_release_target(struct k
+ 	struct Scsi_Host *shost =
+ 		container_of((void *)tgt, struct Scsi_Host, hostdata[0]);
+ 	struct scsi_device *sdev;
++	struct fw_device *device = fw_device(tgt->unit->device.parent);
+ 
+ 	/* prevent deadlocks */
+ 	sbp2_unblock(tgt);
+@@ -791,6 +792,7 @@ static void sbp2_release_target(struct k
  
  	put_device(&tgt->unit->device);
  	scsi_host_put(shost);
-+	fw_device_put(fw_device(tgt->unit->device.parent));
++	fw_device_put(device);
  }
  
  static struct workqueue_struct *sbp2_wq;
-@@ -1088,6 +1089,8 @@ static int sbp2_probe(struct device *dev
+@@ -1088,6 +1090,8 @@ static int sbp2_probe(struct device *dev
  	if (scsi_add_host(shost, &unit->device) < 0)
  		goto fail_shost_put;
  
@@ -698,10 +708,11 @@
 
 -- 
 Stefan Richter
--=====-==--- --=- ==-=-
+-=====-==--- --=- ==-==
 http://arcgraph.de/sr/
 
 
+
 The card->kref became obsolete since patch "firewire: fix crash in
 automatic module unloading" added another counter of card users.
 
@@ -952,16 +963,16 @@
 ===================================================================
 --- linux.orig/drivers/firewire/fw-sbp2.c
 +++ linux/drivers/firewire/fw-sbp2.c
-@@ -789,7 +789,7 @@ static void sbp2_release_target(struct k
+@@ -790,7 +790,7 @@ static void sbp2_release_target(struct k
  	scsi_remove_host(shost);
  	fw_notify("released %s\n", tgt->bus_id);
  
 -	put_device(&tgt->unit->device);
 +	fw_unit_put(tgt->unit);
  	scsi_host_put(shost);
- 	fw_device_put(fw_device(tgt->unit->device.parent));
+ 	fw_device_put(device);
  }
-@@ -1090,7 +1090,7 @@ static int sbp2_probe(struct device *dev
+@@ -1091,7 +1091,7 @@ static int sbp2_probe(struct device *dev
  		goto fail_shost_put;
  
  	fw_device_get(device);
@@ -970,3 +981,10 @@
  
  	/* Initialize to values that won't match anything in our table. */
  	firmware_revision = 0xff000000;
+
+-- 
+Stefan Richter
+-=====-==--- --=- ==---
+http://arcgraph.de/sr/
+
+




More information about the fedora-extras-commits mailing list