rpms/kernel/F-10 patch-2.6.27.5.bz2.sign, NONE, 1.1 .cvsignore, 1.952, 1.953 kernel.spec, 1.1122, 1.1123 linux-2.6-upstream-reverts.patch, 1.4, 1.5 sources, 1.914, 1.915 upstream, 1.826, 1.827 linux-2.6-acpi-clear-wake-status.patch, 1.2, NONE linux-2.6-acpi-ignore-reset_reg_sup.patch, 1.2, NONE linux-2.6-agp-intel-cantiga-fix.patch, 1.1, NONE linux-2.6-input-dell-keyboard-keyup.patch, 1.2, NONE linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch, 1.3, NONE linux-2.6-net-tcp-option-ordering.patch, 1.1, NONE linux-2.6-rtc-cmos-look-for-pnp-rtc-first.patch, 1.1, NONE linux-2.6-sched-features-disable-hrtick.patch, 1.1, NONE linux-2.6-sched_clock-prevent-scd-clock-from-moving-backwards, 1.1, NONE linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch, 1.1, NONE linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch, 1.1, NONE linux-2.6-x86-register-platform-rtc-if-pnp-doesnt-describe-it.patch, 1.1, NONE linux-2.6.27-acpi-ec-drizzle.patch, 1.1, NONE patch-2.6.27.4.bz2.sign, 1.1, NONE

Chuck Ebbert cebbert at fedoraproject.org
Fri Nov 7 23:05:35 UTC 2008


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12224

Modified Files:
	.cvsignore kernel.spec linux-2.6-upstream-reverts.patch 
	sources upstream 
Added Files:
	patch-2.6.27.5.bz2.sign 
Removed Files:
	linux-2.6-acpi-clear-wake-status.patch 
	linux-2.6-acpi-ignore-reset_reg_sup.patch 
	linux-2.6-agp-intel-cantiga-fix.patch 
	linux-2.6-input-dell-keyboard-keyup.patch 
	linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch 
	linux-2.6-net-tcp-option-ordering.patch 
	linux-2.6-rtc-cmos-look-for-pnp-rtc-first.patch 
	linux-2.6-sched-features-disable-hrtick.patch 
	linux-2.6-sched_clock-prevent-scd-clock-from-moving-backwards 
	linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch 
	linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch 
	linux-2.6-x86-register-platform-rtc-if-pnp-doesnt-describe-it.patch 
	linux-2.6.27-acpi-ec-drizzle.patch patch-2.6.27.4.bz2.sign 
Log Message:
Linux 2.6.27.5
  Dropped Patches:
    linux-2.6-sched-features-disable-hrtick.patch
    linux-2.6-sched_clock-prevent-scd-clock-from-moving-backwards
    linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch
    linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch
    linux-2.6-acpi-clear-wake-status.patch
    linux-2.6-acpi-ignore-reset_reg_sup.patch
    linux-2.6-net-tcp-option-ordering.patch
    linux-2.6-input-dell-keyboard-keyup.patch
    linux-2.6.27-acpi-ec-drizzle.patch
    linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch
    linux-2.6-rtc-cmos-look-for-pnp-rtc-first.patch
    linux-2.6-x86-register-platform-rtc-if-pnp-doesnt-describe-it.patch
    linux-2.6-agp-intel-cantiga-fix.patch
  Reverted from upstream:
    firewire-fix-ioctl-return-code.patch
    firewire-fix-setting-tag-and-sy-in-iso-transmission.patch
    firewire-fix-struct-fw_node-memory-leak.patch
    firewire-fw-sbp2-delay-first-login-to-avoid-retries.patch
    firewire-fw-sbp2-fix-races.patch
    firewire-survive-more-than-256-bus-resets.patch


--- NEW FILE patch-2.6.27.5.bz2.sign ---
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: See http://www.kernel.org/signature.html for info

iD8DBQBJFIVSyGugalF9Dw4RAt5eAJ91snaoYe6LlPcekhH0NKt+aRF3BgCfQIHg
aqOtuth+CaDki6koyxLC3OM=
=vet/
-----END PGP SIGNATURE-----


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/.cvsignore,v
retrieving revision 1.952
retrieving revision 1.953
diff -u -r1.952 -r1.953
--- .cvsignore	26 Oct 2008 11:45:01 -0000	1.952
+++ .cvsignore	7 Nov 2008 23:05:01 -0000	1.953
@@ -4,4 +4,4 @@
 temp-*
 kernel-2.6.27
 linux-2.6.27.tar.bz2
-patch-2.6.27.4.bz2
+patch-2.6.27.5.bz2


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/kernel.spec,v
retrieving revision 1.1122
retrieving revision 1.1123
diff -u -r1.1122 -r1.1123
--- kernel.spec	7 Nov 2008 22:44:15 -0000	1.1122
+++ kernel.spec	7 Nov 2008 23:05:01 -0000	1.1123
@@ -36,7 +36,7 @@
 %if 0%{?released_kernel}
 
 # Do we have a -stable update to apply?
-%define stable_update 4
+%define stable_update 5
 # Is it a -stable RC?
 %define stable_rc 0
 # Set rpm version accordingly
@@ -589,10 +589,6 @@
 Patch30: linux-2.6-x86-mtrr-kill-bogus-warning.patch
 
 Patch41: linux-2.6-sysrq-c.patch
-Patch44: linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch
-
-Patch60: linux-2.6-sched-features-disable-hrtick.patch
-Patch61: linux-2.6-sched_clock-prevent-scd-clock-from-moving-backwards
 
 Patch140: linux-2.6-ps3-ehci-iso.patch
 Patch141: linux-2.6-ps3-storage-alias.patch
@@ -618,15 +614,11 @@
 Patch382: linux-2.6-defaults-pciehp.patch
 Patch390: linux-2.6-defaults-acpi-video.patch
 Patch391: linux-2.6-acpi-video-dos.patch
-Patch392: linux-2.6-acpi-clear-wake-status.patch
-Patch393: linux-2.6-acpi-ignore-reset_reg_sup.patch
 Patch394: linux-2.6-acpi-handle-ec-init-failure.patch
 Patch400: linux-2.6-scsi-cpqarray-set-master.patch
 Patch420: linux-2.6-squashfs.patch
 Patch430: linux-2.6-net-silence-noisy-printks.patch
-Patch440: linux-2.6-net-tcp-option-ordering.patch
 Patch450: linux-2.6-input-kill-stupid-messages.patch
-Patch451: linux-2.6-input-dell-keyboard-keyup.patch
 Patch452: linux-2.6.27-hwmon-applesmc-2.6.28.patch
 Patch460: linux-2.6-serial-460800.patch
 Patch510: linux-2.6-silence-noise.patch
@@ -635,7 +627,6 @@
 Patch580: linux-2.6-sparc-selinux-mprotect-checks.patch
 
 Patch670: linux-2.6-ata-quirk.patch
-Patch671: linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch
 Patch672: linux-2.6-libata-avoid-overflow-with-large-disks.patch
 
 #Patch680: linux-2.6-iwlwifi-use-dma_alloc_coherent.patch
@@ -659,7 +650,6 @@
 
 # nouveau + drm fixes
 Patch1800: nvidia-agp.patch
-Patch1801: linux-2.6-agp-intel-cantiga-fix.patch
 Patch1810: drm-next.patch
 Patch1811: drm-intel-gem-x86-64-faster.patch
 Patch1812: drm-modesetting-radeon.patch
@@ -699,7 +689,6 @@
 
 # make USB EHCI driver respect "nousb" parameter
 Patch2300: linux-2.6-usb-ehci-hcd-respect-nousb.patch
-Patch2301: linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch
 
 # Add fips_enable flag
 Patch2400: linux-2.6-crypto-fips_enable.patch
@@ -718,8 +707,6 @@
 Patch2803: linux-2.6-amd64-yes-i-know-you-live.patch
 # hush pci bar allocation failures
 Patch2804: linux-2.6.27-pci-hush-allocation-failures.patch
-# EC storms aren't anything you can fix, shut up already
-Patch2805: linux-2.6.27-acpi-ec-drizzle.patch
 
 # ext4 fun - new & improved, now with less dev!
 Patch2900: linux-2.6.27-ext4-stable-patch-queue.patch
@@ -730,10 +717,6 @@
 # cciss sysfs links are broken
 Patch3000: linux-2.6-blk-cciss-fix-regression-sysfs-symlink-missing.patch
 
-# RTC fixes for systems that don't expose the device via PnP
-Patch3010: linux-2.6-rtc-cmos-look-for-pnp-rtc-first.patch
-Patch3020: linux-2.6-x86-register-platform-rtc-if-pnp-doesnt-describe-it.patch
-
 # Sony Vaio suspend fix
 Patch3100: linux-2.6.27-sony-laptop-suspend-fix.patch
 
@@ -1111,13 +1094,9 @@
 ApplyPatch linux-2.6-sysrq-c.patch
 
 # scheduler
-ApplyPatch linux-2.6-sched-features-disable-hrtick.patch
-ApplyPatch linux-2.6-sched_clock-prevent-scd-clock-from-moving-backwards
 
 # Architecture patches
 # x86(-64)
-# don't oops in get_wchan()
-ApplyPatch linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch
 
 #
 # PowerPC
@@ -1169,18 +1148,13 @@
 
 # USB
 ApplyPatch linux-2.6-usb-ehci-hcd-respect-nousb.patch
-# fix I/O errors on jmicron usb-ata bridge
-ApplyPatch linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch
 
 # Add the ability to turn FIPS-compliant mode on or off at boot
 ApplyPatch linux-2.6-crypto-fips_enable.patch
 
 # ACPI
-
 ApplyPatch linux-2.6-defaults-acpi-video.patch
 ApplyPatch linux-2.6-acpi-video-dos.patch
-ApplyPatch linux-2.6-acpi-clear-wake-status.patch
-ApplyPatch linux-2.6-acpi-ignore-reset_reg_sup.patch
 ApplyPatch linux-2.6-acpi-handle-ec-init-failure.patch
 
 # Various low-impact patches to aid debugging.
@@ -1224,14 +1198,10 @@
 # Networking
 # Disable easy to trigger printk's.
 ApplyPatch linux-2.6-net-silence-noisy-printks.patch
-# Fix tcp option ordering.
-ApplyPatch linux-2.6-net-tcp-option-ordering.patch
 
 # Misc fixes
 # The input layer spews crap no-one cares about.
 ApplyPatch linux-2.6-input-kill-stupid-messages.patch
-# Dell can't make keyboards
-ApplyPatch linux-2.6-input-dell-keyboard-keyup.patch
 # kill annoying applesmc debug messages
 ApplyPatch linux-2.6.27-hwmon-applesmc-2.6.28.patch
 
@@ -1252,8 +1222,6 @@
 
 # ia64 ata quirk
 ApplyPatch linux-2.6-ata-quirk.patch
-# fix it821x raid volumes
-ApplyPatch linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch
 # fix overlow with large disk
 ApplyPatch linux-2.6-libata-avoid-overflow-with-large-disks.patch
 
@@ -1291,10 +1259,6 @@
 # fix sysfs links for the cciss driver
 ApplyPatch linux-2.6-blk-cciss-fix-regression-sysfs-symlink-missing.patch
 
-# fix RTC on systems with broken PnP
-ApplyPatch linux-2.6-rtc-cmos-look-for-pnp-rtc-first.patch
-ApplyPatch linux-2.6-x86-register-platform-rtc-if-pnp-doesnt-describe-it.patch
-
 ApplyPatch linux-2.6-e1000-ich9.patch
 
 ApplyPatch linux-2.6-e1000e-add-support-for-the-82567LM-4-device.patch
@@ -1316,7 +1280,6 @@
 
 # Nouveau DRM + drm fixes
 ApplyPatch nvidia-agp.patch
-ApplyPatch linux-2.6-agp-intel-cantiga-fix.patch
 ApplyPatch drm-next.patch
 ApplyPatch drm-intel-gem-x86-64-faster.patch
 ApplyPatch drm-modesetting-radeon.patch
@@ -1348,8 +1311,6 @@
 ApplyPatch linux-2.6-amd64-yes-i-know-you-live.patch
 # hush pci bar allocation failures
 ApplyPatch linux-2.6.27-pci-hush-allocation-failures.patch
-# EC storms aren't anything you can fix, shut up already
-ApplyPatch linux-2.6.27-acpi-ec-drizzle.patch
 
 # SELinux on ppc64 without plymouth can't boot
 ApplyPatch linux-2.6-selinux-empty-tty-files.patch
@@ -1929,6 +1890,30 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Fri Nov 07 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.27.5-87
+- Linux 2.6.27.5
+  Dropped Patches:
+    linux-2.6-sched-features-disable-hrtick.patch
+    linux-2.6-sched_clock-prevent-scd-clock-from-moving-backwards
+    linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch
+    linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch
+    linux-2.6-acpi-clear-wake-status.patch
+    linux-2.6-acpi-ignore-reset_reg_sup.patch
+    linux-2.6-net-tcp-option-ordering.patch
+    linux-2.6-input-dell-keyboard-keyup.patch
+    linux-2.6.27-acpi-ec-drizzle.patch
+    linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch
+    linux-2.6-rtc-cmos-look-for-pnp-rtc-first.patch
+    linux-2.6-x86-register-platform-rtc-if-pnp-doesnt-describe-it.patch
+    linux-2.6-agp-intel-cantiga-fix.patch
+  Reverted from upstream:
+    firewire-fix-ioctl-return-code.patch
+    firewire-fix-setting-tag-and-sy-in-iso-transmission.patch
+    firewire-fix-struct-fw_node-memory-leak.patch
+    firewire-fw-sbp2-delay-first-login-to-avoid-retries.patch
+    firewire-fw-sbp2-fix-races.patch
+    firewire-survive-more-than-256-bus-resets.patch
+
 * Fri Nov 07 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.27.4-86
 - Update the r8169 network driver to the 2.6.28 version.
 

linux-2.6-upstream-reverts.patch:

Index: linux-2.6-upstream-reverts.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/linux-2.6-upstream-reverts.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- linux-2.6-upstream-reverts.patch	24 Oct 2008 23:44:38 -0000	1.4
+++ linux-2.6-upstream-reverts.patch	7 Nov 2008 23:05:01 -0000	1.5
@@ -281,3 +281,325 @@
  			/* corrupt size?  Maybe no more blocks to read */
  			if (filp->f_pos > inode->i_blocks << 9)
  				break;
+Revert these patches from the stable queue:
+firewire-fix-ioctl-return-code.patch
+firewire-fix-setting-tag-and-sy-in-iso-transmission.patch
+firewire-fix-struct-fw_node-memory-leak.patch
+firewire-fw-sbp2-delay-first-login-to-avoid-retries.patch
+firewire-fw-sbp2-fix-races.patch
+firewire-survive-more-than-256-bus-resets.patch
+
+From stefanr at s5r6.in-berlin.de  Tue Nov  4 13:55:39 2008
+From: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Date: Mon, 27 Oct 2008 23:26:35 +0100 (CET)
+Subject: firewire: fix ioctl() return code
+To: stable at kernel.org
+Cc: linux1394-devel at lists.sourceforge.net, linux-kernel at vger.kernel.org
+Message-ID: <tkrat.509dbd5216c80cfd at s5r6.in-berlin.de>
+Content-Disposition: INLINE
+
+
+From: Stefan Richter <stefanr at s5r6.in-berlin.de>
+
+commit 99692f71ee04c6f249d0bf6a581359f32f409a38 upstream
+
+Reported by Jay Fenlason:  ioctl() did not return as intended
+  - the size of data read into ioctl_send_request,
+  - the number of datagrams enqueued by ioctl_queue_iso.
+
+
+Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+
+---
+ drivers/firewire/fw-cdev.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/firewire/fw-cdev.c
++++ b/drivers/firewire/fw-cdev.c
+@@ -913,7 +913,7 @@ dispatch_ioctl(struct client *client, un
+ 			return -EFAULT;
+ 	}
+ 
+-	return 0;
++	return retval;
+ }
+ 
+ static long
+From stefanr at s5r6.in-berlin.de  Tue Nov  4 13:54:50 2008
+From: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Date: Mon, 27 Oct 2008 23:26:00 +0100 (CET)
+Subject: firewire: fix setting tag and sy in iso transmission
+To: stable at kernel.org
+Cc: linux1394-devel at lists.sourceforge.net, linux-kernel at vger.kernel.org
+Message-ID: <tkrat.c6c9e197bd5d3af2 at s5r6.in-berlin.de>
+Content-Disposition: INLINE
+
+From: Stefan Richter <stefanr at s5r6.in-berlin.de>
+
+commit 7a1003449c693f0d57443c8786bbf19717921ae0 upstream
+
+Reported by Jay Fenlason:
+The iso packet control accessors in fw-cdev.c had bogus masks.
+
+Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+
+---
+ drivers/firewire/fw-cdev.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/firewire/fw-cdev.c
++++ b/drivers/firewire/fw-cdev.c
+@@ -720,8 +720,8 @@ static int ioctl_create_iso_context(stru
+ #define GET_PAYLOAD_LENGTH(v)	((v) & 0xffff)
+ #define GET_INTERRUPT(v)	(((v) >> 16) & 0x01)
+ #define GET_SKIP(v)		(((v) >> 17) & 0x01)
+-#define GET_TAG(v)		(((v) >> 18) & 0x02)
+-#define GET_SY(v)		(((v) >> 20) & 0x04)
++#define GET_TAG(v)		(((v) >> 18) & 0x03)
++#define GET_SY(v)		(((v) >> 20) & 0x0f)
+ #define GET_HEADER_LENGTH(v)	(((v) >> 24) & 0xff)
+ 
+ static int ioctl_queue_iso(struct client *client, void *buffer)
+From stefanr at s5r6.in-berlin.de  Tue Nov  4 13:57:03 2008
+From: Jay Fenlason <fenlason at redhat.com>
+Date: Mon, 27 Oct 2008 23:28:14 +0100 (CET)
+Subject: firewire: fix struct fw_node memory leak
+To: stable at kernel.org
+Cc: linux1394-devel at lists.sourceforge.net, linux-kernel at vger.kernel.org
+Message-ID: <tkrat.e499a05eaa0ec529 at s5r6.in-berlin.de>
+Content-Disposition: INLINE
+
+From: Jay Fenlason <fenlason at redhat.com>
+
+commit 77e557191701afa55ae7320d42ad6458a2ad292e upstream
+
+With the bus_resets patch applied, it is easy to see this memory leak
+by repeatedly resetting the firewire bus while running slabtop in
+another window.  Just watch kmalloc-32 grow and grow...
+
+Signed-off-by: Jay Fenlason <fenlason at redhat.com>
+Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
+
+---
+ drivers/firewire/fw-topology.c |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/drivers/firewire/fw-topology.c
++++ b/drivers/firewire/fw-topology.c
+@@ -413,7 +413,7 @@ static void
+ update_tree(struct fw_card *card, struct fw_node *root)
+ {
+ 	struct list_head list0, list1;
+-	struct fw_node *node0, *node1;
++	struct fw_node *node0, *node1, *next1;
+ 	int i, event;
+ 
+ 	INIT_LIST_HEAD(&list0);
+@@ -485,7 +485,9 @@ update_tree(struct fw_card *card, struct
+ 		}
+ 
+ 		node0 = fw_node(node0->link.next);
+-		node1 = fw_node(node1->link.next);
++		next1 = fw_node(node1->link.next);
++		fw_node_put(node1);
++		node1 = next1;
+ 	}
+ }
+ 
+From stefanr at s5r6.in-berlin.de  Tue Nov  4 13:57:36 2008
+From: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Date: Mon, 27 Oct 2008 23:29:00 +0100 (CET)
+Subject: firewire: fw-sbp2: delay first login to avoid retries
+To: stable at kernel.org
+Cc: linux1394-devel at lists.sourceforge.net, linux-kernel at vger.kernel.org
+Message-ID: <tkrat.9bc21c3b6a97bebe at s5r6.in-berlin.de>
+Content-Disposition: INLINE
+
+From: Stefan Richter <stefanr at s5r6.in-berlin.de>
+
+commit 0dcfeb7e3c8695c5aa3677dda8efb9bef2e7e64d upstream
+
+This optimizes firewire-sbp2's device probe for the case that the local
+node and the SBP-2 node were discovered at the same time.  In this case,
+fw-core's bus management work and fw-sbp2's login and SCSI probe work
+are scheduled in parallel (in the globally shared workqueue and in
+fw-sbp2's workqueue, respectively).  The bus reset from fw-core may then
+disturb and extremely delay the login and SCSI probe because the latter
+fails with several command timeouts and retries and has to be retried
+from scratch.
+
+We avoid this particular situation of sbp2_login() and fw_card_bm_work()
+running in parallel by delaying the first sbp2_login() a little bit.
+
+This is meant to be a short-term fix for
+https://bugzilla.redhat.com/show_bug.cgi?id=466679.  In the long run,
+the SCSI probe, i.e. fw-sbp2's call of __scsi_add_device(), should be
+parallelized with sbp2_reconnect().
+
+Problem reported and fix tested and confirmed by Alex Kanavin.
+
+Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+
+---
+ drivers/firewire/fw-sbp2.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/firewire/fw-sbp2.c
++++ b/drivers/firewire/fw-sbp2.c
+@@ -1158,7 +1158,7 @@ static int sbp2_probe(struct device *dev
+ 
+ 	/* Do the login in a workqueue so we can easily reschedule retries. */
+ 	list_for_each_entry(lu, &tgt->lu_list, link)
+-		sbp2_queue_work(lu, 0);
++		sbp2_queue_work(lu, DIV_ROUND_UP(HZ, 5));
+ 	return 0;
+ 
+  fail_tgt_put:
+From stefanr at s5r6.in-berlin.de  Tue Nov  4 13:58:11 2008
+From: Jay Fenlason <fenlason at redhat.com>
+Date: Mon, 27 Oct 2008 23:29:32 +0100 (CET)
+Subject: firewire: fw-sbp2: fix races
+To: stable at kernel.org
+Cc: linux1394-devel at lists.sourceforge.net, linux-kernel at vger.kernel.org
+Message-ID: <tkrat.84265bc39337ceb3 at s5r6.in-berlin.de>
+
+From: Jay Fenlason <fenlason at redhat.com>
+
+Same as commit cd1f70fdb4823c97328a1f151f328eb36fafd579 upstream
+
+1: There is a small race between queue_delayed_work() and its
+   corresponding kref_get().  Do the kref_get first, and _put it again
+   if the queue_delayed_work() failed, so there is no chance of the
+   kref going to zero while the work is scheduled.
+2: An SBP2_LOGOUT_REQUEST could be sent out with a login_id full of
+   garbage.  Initialize it to an invalid value so we can tell if we
+   ever got a valid login_id.
+3: The node ID and generation may have changed but the new values may
+   not yet have been recorded in lu and tgt when the final logout is
+   attempted.  Use the latest values from the device in
+   sbp2_release_target().
+
+Signed-off-by: Jay Fenlason <fenlason at redhat.com>
+Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+
+---
+ drivers/firewire/fw-sbp2.c |   36 ++++++++++++++++++++++++++----------
+ 1 file changed, 26 insertions(+), 10 deletions(-)
+
+--- a/drivers/firewire/fw-sbp2.c
++++ b/drivers/firewire/fw-sbp2.c
+@@ -172,6 +172,9 @@ struct sbp2_target {
+ 	int blocked;	/* ditto */
+ };
+ 
++/* Impossible login_id, to detect logout attempt before successful login */
++#define INVALID_LOGIN_ID 0x10000
++
+ /*
+  * Per section 7.4.8 of the SBP-2 spec, a mgt_ORB_timeout value can be
+  * provided in the config rom. Most devices do provide a value, which
+@@ -791,9 +794,20 @@ static void sbp2_release_target(struct k
+ 			scsi_remove_device(sdev);
+ 			scsi_device_put(sdev);
+ 		}
+-		sbp2_send_management_orb(lu, tgt->node_id, lu->generation,
+-				SBP2_LOGOUT_REQUEST, lu->login_id, NULL);
+-
++		if (lu->login_id != INVALID_LOGIN_ID) {
++			int generation, node_id;
++			/*
++			 * tgt->node_id may be obsolete here if we failed
++			 * during initial login or after a bus reset where
++			 * the topology changed.
++			 */
++			generation = device->generation;
++			smp_rmb(); /* node_id vs. generation */
++			node_id    = device->node_id;
++			sbp2_send_management_orb(lu, node_id, generation,
++						 SBP2_LOGOUT_REQUEST,
++						 lu->login_id, NULL);
++		}
+ 		fw_core_remove_address_handler(&lu->address_handler);
+ 		list_del(&lu->link);
+ 		kfree(lu);
+@@ -808,19 +822,20 @@ static void sbp2_release_target(struct k
+ 
+ static struct workqueue_struct *sbp2_wq;
+ 
++static void sbp2_target_put(struct sbp2_target *tgt)
++{
++	kref_put(&tgt->kref, sbp2_release_target);
++}
++
+ /*
+  * Always get the target's kref when scheduling work on one its units.
+  * Each workqueue job is responsible to call sbp2_target_put() upon return.
+  */
+ static void sbp2_queue_work(struct sbp2_logical_unit *lu, unsigned long delay)
+ {
+-	if (queue_delayed_work(sbp2_wq, &lu->work, delay))
+-		kref_get(&lu->tgt->kref);
+-}
+-
+-static void sbp2_target_put(struct sbp2_target *tgt)
+-{
+-	kref_put(&tgt->kref, sbp2_release_target);
++	kref_get(&lu->tgt->kref);
++	if (!queue_delayed_work(sbp2_wq, &lu->work, delay))
++		sbp2_target_put(lu->tgt);
+ }
+ 
+ static void
+@@ -993,6 +1008,7 @@ static int sbp2_add_logical_unit(struct 
+ 
+ 	lu->tgt      = tgt;
+ 	lu->lun      = lun_entry & 0xffff;
++	lu->login_id = INVALID_LOGIN_ID;
+ 	lu->retries  = 0;
+ 	lu->has_sdev = false;
+ 	lu->blocked  = false;
+From stefanr at s5r6.in-berlin.de  Tue Nov  4 13:56:10 2008
+From: Jay Fenlason <fenlason at redhat.com>
+Date: Mon, 27 Oct 2008 23:27:37 +0100 (CET)
+Subject: firewire: Survive more than 256 bus resets
+To: stable at kernel.org
+Cc: linux1394-devel at lists.sourceforge.net, linux-kernel at vger.kernel.org
+Message-ID: <tkrat.6faab57f3da8f9b9 at s5r6.in-berlin.de>
+Content-Disposition: INLINE
+
+From: Jay Fenlason <fenlason at redhat.com>
+
+Same as commit 4f9740d4f5a17fa6a1b097fa3ccdfb7246660307 upstream
+
+The "color" is used during the topology building after a bus reset,
+hovever in "struct fw_node"s it is stored in a u8, but in struct fw_card
+it is stored in an int.  When the value wraps in one struct, but not
+the other, disaster strikes.
+
+Fixes http://bugzilla.kernel.org/show_bug.cgi?id=10922 -
+machine locks up solid if a series of bus resets occurs.
+
+
+Signed-off-by: Jay Fenlason <fenlason at redhat.com>
+Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+
+---
+ drivers/firewire/fw-transaction.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/firewire/fw-transaction.h
++++ b/drivers/firewire/fw-transaction.h
+@@ -248,7 +248,7 @@ struct fw_card {
+ 	struct fw_node *local_node;
+ 	struct fw_node *root_node;
+ 	struct fw_node *irm_node;
+-	int color;
++	u8 color; /* must be u8 to match the definition in struct fw_node */
+ 	int gap_count;
+ 	bool beta_repeaters_present;
+ 


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/sources,v
retrieving revision 1.914
retrieving revision 1.915
diff -u -r1.914 -r1.915
--- sources	26 Oct 2008 11:45:02 -0000	1.914
+++ sources	7 Nov 2008 23:05:02 -0000	1.915
@@ -1,2 +1,2 @@
 b3e78977aa79d3754cb7f8143d7ddabd  linux-2.6.27.tar.bz2
-fa7cb6cf1ee5e796e89905806ffc6f01  patch-2.6.27.4.bz2
+5ae2b4af08b35b9ecc3653c8fc6c1905  patch-2.6.27.5.bz2


Index: upstream
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/upstream,v
retrieving revision 1.826
retrieving revision 1.827
diff -u -r1.826 -r1.827
--- upstream	26 Oct 2008 11:45:02 -0000	1.826
+++ upstream	7 Nov 2008 23:05:02 -0000	1.827
@@ -1,2 +1,2 @@
 linux-2.6.27.tar.bz2
-patch-2.6.27.4.bz2
+patch-2.6.27.5.bz2


--- linux-2.6-acpi-clear-wake-status.patch DELETED ---


--- linux-2.6-acpi-ignore-reset_reg_sup.patch DELETED ---


--- linux-2.6-agp-intel-cantiga-fix.patch DELETED ---


--- linux-2.6-input-dell-keyboard-keyup.patch DELETED ---


--- linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch DELETED ---


--- linux-2.6-net-tcp-option-ordering.patch DELETED ---


--- linux-2.6-rtc-cmos-look-for-pnp-rtc-first.patch DELETED ---


--- linux-2.6-sched-features-disable-hrtick.patch DELETED ---


--- linux-2.6-sched_clock-prevent-scd-clock-from-moving-backwards DELETED ---


--- linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch DELETED ---


--- linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch DELETED ---


--- linux-2.6-x86-register-platform-rtc-if-pnp-doesnt-describe-it.patch DELETED ---


--- linux-2.6.27-acpi-ec-drizzle.patch DELETED ---


--- patch-2.6.27.4.bz2.sign DELETED ---




More information about the fedora-extras-commits mailing list