rpms/kernel/F-9 patch-2.6.27.5.bz2.sign, NONE, 1.1 .cvsignore, 1.831, 1.832 kernel.spec, 1.840, 1.841 linux-2.6-upstream-reverts.patch, 1.13, 1.14 sources, 1.792, 1.793 upstream, 1.711, 1.712 linux-2.6-input-dell-keyboard-keyup.patch, 1.1, NONE linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch, 1.1, NONE linux-2.6-net-tcp-option-ordering.patch, 1.1, NONE linux-2.6-r8169-fix-RxMissed-register-access.patch, 1.1, NONE linux-2.6-r8169-wake-up-the-phy-of-the-8168.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.3, 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 linux-2.6.27.5-stable-queue-reverts.patch, 1.1, NONE linux-2.6.27.5-stable-queue.patch, 1.1, NONE patch-2.6.27.4.bz2.sign, 1.1, NONE
Chuck Ebbert
cebbert at fedoraproject.org
Fri Nov 7 22:20:47 UTC 2008
Author: cebbert
Update of /cvs/pkgs/rpms/kernel/F-9
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv6233
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-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-r8169-fix-RxMissed-register-access.patch
linux-2.6-r8169-wake-up-the-phy-of-the-8168.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
linux-2.6.27.5-stable-queue-reverts.patch
linux-2.6.27.5-stable-queue.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
--- 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-9/.cvsignore,v
retrieving revision 1.831
retrieving revision 1.832
diff -u -r1.831 -r1.832
--- .cvsignore 30 Oct 2008 04:41:10 -0000 1.831
+++ .cvsignore 7 Nov 2008 22:20:15 -0000 1.832
@@ -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-9/kernel.spec,v
retrieving revision 1.840
retrieving revision 1.841
diff -u -r1.840 -r1.841
--- kernel.spec 7 Nov 2008 21:32:21 -0000 1.840
+++ kernel.spec 7 Nov 2008 22:20:15 -0000 1.841
@@ -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
@@ -595,18 +595,14 @@
Patch09: linux-2.6-upstream-reverts.patch
Patch10: linux-2.6-hotfixes.patch
# patches queued for the next -stable release
-Patch11: linux-2.6.27.5-stable-queue.patch
-Patch12: linux-2.6.27.5-stable-queue-reverts.patch
+#Patch11: linux-2.6.27.5-stable-queue.patch
+#Patch12: linux-2.6.27.5-stable-queue-reverts.patch
Patch21: linux-2.6-utrace.patch
Patch22: linux-2.6-x86-tracehook.patch
Patch23: linux-2.6.27-x86-tracehook-syscall-arg-order.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
Patch70: linux-2.6-x86-tune-generic.patch
Patch75: linux-2.6-x86-debug-boot.patch
@@ -634,8 +630,6 @@
Patch381: linux-2.6-pciehp-update.patch
Patch382: linux-2.6-defaults-pciehp.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-ignore-ae_not_found-error-of-ec-reg-method.patch
Patch400: linux-2.6-scsi-cpqarray-set-master.patch
@@ -645,17 +639,13 @@
Patch421: 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
# hush pci bar allocation failures
Patch520: linux-2.6.27-pci-hush-allocation-failures.patch
-# EC storms aren't anything you can fix, shut up already
-Patch530: linux-2.6.27-acpi-ec-drizzle.patch
Patch570: linux-2.6-selinux-mprotect-checks.patch
Patch580: linux-2.6-sparc-selinux-mprotect-checks.patch
@@ -663,7 +653,6 @@
# libata
Patch670: linux-2.6-ata-quirk.patch
Patch672: linux-2.6-sata-eeepc-faster.patch
-Patch676: linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch
Patch678: linux-2.6-libata-sata_nv-disable-swncq.patch
Patch679: linux-2.6-libata-avoid-overflow-with-large-disks.patch
@@ -695,8 +684,6 @@
Patch2003: linux-2.6-e1000e-add-support-for-new-82574L-part.patch
# r8169 fixes
-Patch2005: linux-2.6-r8169-fix-RxMissed-register-access.patch
-Patch2006: linux-2.6-r8169-wake-up-the-phy-of-the-8168.patch
Patch2007: linux-2.6-netdev-r8169-2.6.28.patch
# atl2 network driver
@@ -710,16 +697,10 @@
# make USB EHCI driver respect "nousb" parameter
Patch2300: linux-2.6-usb-ehci-hcd-respect-nousb.patch
-# fix jmicron usb/sata bridge
-Patch2310: linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch
# get rid of imacfb and make efifb work everywhere it was used
Patch2600: linux-2.6-merge-efifb-imacfb.patch
-# fix RTC
-Patch2800: linux-2.6-rtc-cmos-look-for-pnp-rtc-first.patch
-Patch2810: linux-2.6-x86-register-platform-rtc-if-pnp-doesnt-describe-it.patch
-
# ext4 fun - new & improved, now with less dev!
Patch2900: linux-2.6.27-ext4-stable-patch-queue.patch
Patch2901: linux-2.6.27-fs-disable-fiemap.patch
@@ -1081,8 +1062,10 @@
%if !%{nopatches}
ApplyPatch linux-2.6-hotfixes.patch
-ApplyPatch linux-2.6.27.5-stable-queue.patch
-ApplyPatch linux-2.6.27.5-stable-queue-reverts.patch -R
+
+# -stable patch queue
+#ApplyPatch linux-2.6.27.5-stable-queue.patch
+#ApplyPatch linux-2.6.27.5-stable-queue-reverts.patch -R
# revert patches from upstream that conflict or that we get via other means
C=$(wc -l $RPM_SOURCE_DIR/linux-2.6-upstream-reverts.patch | awk '{print $1}')
@@ -1098,9 +1081,7 @@
# enable sysrq-c on all kernels, not only kexec
ApplyPatch linux-2.6-sysrq-c.patch
-# scheduler patches approved for -stable
-#ApplyPatch linux-2.6-sched-features-disable-hrtick.patch
-#ApplyPatch linux-2.6-sched_clock-prevent-scd-clock-from-moving-backwards
+# scheduler patches
# Architecture patches
# x86(-64)
@@ -1109,7 +1090,6 @@
# don't oops if there's no IRQ stack available
ApplyPatch linux-2.6-x86-check-for-null-irq-context.patch
# don't try to read memory beyond end-of-stack
-#ApplyPatch linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch
#
# PowerPC
@@ -1153,12 +1133,8 @@
# actually honor the nousb parameter
ApplyPatch linux-2.6-usb-ehci-hcd-respect-nousb.patch
# fix jmicron usb/sata bridge
-#ApplyPatch linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch
# ACPI
-# reboot / resume fixes from F10
-#ApplyPatch linux-2.6-acpi-clear-wake-status.patch
-#ApplyPatch linux-2.6-acpi-ignore-reset_reg_sup.patch
# fix cpu detection (f10#435653)
ApplyPatch linux-2.6-acpi-ignore-ae_not_found-error-of-ec-reg-method.patch
@@ -1213,14 +1189,10 @@
# Networking
# Disable easy to trigger printk's.
ApplyPatch linux-2.6-net-silence-noisy-printks.patch
-# fix tcp option ordering broken in .27
-#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
@@ -1230,8 +1202,6 @@
ApplyPatch linux-2.6-silence-noise.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
# Fix the SELinux mprotect checks on executable mappings
ApplyPatch linux-2.6-selinux-mprotect-checks.patch
@@ -1243,8 +1213,6 @@
# libata
# ia64 ata quirk
ApplyPatch linux-2.6-ata-quirk.patch
-# fix it821x
-#ApplyPatch linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch
# Make Eee disk faster.
ApplyPatch linux-2.6-sata-eeepc-faster.patch
# disable swncq on sata_nv
@@ -1284,10 +1252,7 @@
ApplyPatch linux-2.6-e1000e-add-support-for-82567LM-3-and-82567LF-3-ICH10D-parts.patch
ApplyPatch linux-2.6-e1000e-add-support-for-new-82574L-part.patch
-#ApplyPatch linux-2.6-r8169-fix-RxMissed-register-access.patch
-#ApplyPatch linux-2.6-r8169-wake-up-the-phy-of-the-8168.patch
ApplyPatch linux-2.6-netdev-r8169-2.6.28.patch
-
ApplyPatch linux-2.6-netdev-atl2.patch
ApplyPatch linux-2.6-net-tulip-interrupt.patch
@@ -1319,10 +1284,6 @@
# get rid of imacfb and make efifb work everywhere it was used
ApplyPatch linux-2.6-merge-efifb-imacfb.patch
-# fix RTC
-#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
-
# END OF PATCH APPLICATIONS
%endif
@@ -1926,6 +1887,22 @@
%kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL}.xen -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.xen.conf %{with_xen} xen
%changelog
+* Fri Nov 07 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.27.5-28
+- 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
+
* Fri Nov 07 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.27.4-27
- Make UTF-8 the default for FAT/VFTA filesystems again.
linux-2.6-upstream-reverts.patch:
Index: linux-2.6-upstream-reverts.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-9/linux-2.6-upstream-reverts.patch,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- linux-2.6-upstream-reverts.patch 30 Oct 2008 04:41:12 -0000 1.13
+++ linux-2.6-upstream-reverts.patch 7 Nov 2008 22:20:15 -0000 1.14
@@ -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-9/sources,v
retrieving revision 1.792
retrieving revision 1.793
diff -u -r1.792 -r1.793
--- sources 30 Oct 2008 04:41:21 -0000 1.792
+++ sources 7 Nov 2008 22:20:15 -0000 1.793
@@ -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-9/upstream,v
retrieving revision 1.711
retrieving revision 1.712
diff -u -r1.711 -r1.712
--- upstream 30 Oct 2008 04:41:21 -0000 1.711
+++ upstream 7 Nov 2008 22:20:16 -0000 1.712
@@ -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-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-r8169-fix-RxMissed-register-access.patch DELETED ---
--- linux-2.6-r8169-wake-up-the-phy-of-the-8168.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 ---
--- linux-2.6.27.5-stable-queue-reverts.patch DELETED ---
--- linux-2.6.27.5-stable-queue.patch DELETED ---
--- patch-2.6.27.4.bz2.sign DELETED ---
More information about the fedora-extras-commits
mailing list