]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 Jul 2013 21:29:48 +0000 (14:29 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 Jul 2013 21:29:48 +0000 (14:29 -0700)
added patches:
nfsd4-fix-decoding-of-compounds-across-page-boundaries.patch
revert-sched-add-missing-call-to-calc_load_exit_idle.patch
scsi-sd-fix-parsing-of-temporary-cache-mode-prefix.patch

queue-3.4/nfsd4-fix-decoding-of-compounds-across-page-boundaries.patch [new file with mode: 0644]
queue-3.4/revert-sched-add-missing-call-to-calc_load_exit_idle.patch [new file with mode: 0644]
queue-3.4/scsi-sd-fix-parsing-of-temporary-cache-mode-prefix.patch [new file with mode: 0644]
queue-3.4/series

diff --git a/queue-3.4/nfsd4-fix-decoding-of-compounds-across-page-boundaries.patch b/queue-3.4/nfsd4-fix-decoding-of-compounds-across-page-boundaries.patch
new file mode 100644 (file)
index 0000000..1b8a2fa
--- /dev/null
@@ -0,0 +1,37 @@
+From 247500820ebd02ad87525db5d9b199e5b66f6636 Mon Sep 17 00:00:00 2001
+From: "J. Bruce Fields" <bfields@redhat.com>
+Date: Fri, 21 Jun 2013 11:48:11 -0400
+Subject: nfsd4: fix decoding of compounds across page boundaries
+
+From: "J. Bruce Fields" <bfields@redhat.com>
+
+commit 247500820ebd02ad87525db5d9b199e5b66f6636 upstream.
+
+A freebsd NFSv4.0 client was getting rare IO errors expanding a tarball.
+A network trace showed the server returning BAD_XDR on the final getattr
+of a getattr+write+getattr compound.  The final getattr started on a
+page boundary.
+
+I believe the Linux client ignores errors on the post-write getattr, and
+that that's why we haven't seen this before.
+
+Reported-by: Rick Macklem <rmacklem@uoguelph.ca>
+Signed-off-by: J. Bruce Fields <bfields@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/nfsd/nfs4xdr.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/fs/nfsd/nfs4xdr.c
++++ b/fs/nfsd/nfs4xdr.c
+@@ -161,8 +161,8 @@ static __be32 *read_buf(struct nfsd4_com
+        */
+       memcpy(p, argp->p, avail);
+       /* step to next page */
+-      argp->p = page_address(argp->pagelist[0]);
+       argp->pagelist++;
++      argp->p = page_address(argp->pagelist[0]);
+       if (argp->pagelen < PAGE_SIZE) {
+               argp->end = argp->p + (argp->pagelen>>2);
+               argp->pagelen = 0;
diff --git a/queue-3.4/revert-sched-add-missing-call-to-calc_load_exit_idle.patch b/queue-3.4/revert-sched-add-missing-call-to-calc_load_exit_idle.patch
new file mode 100644 (file)
index 0000000..71d686b
--- /dev/null
@@ -0,0 +1,32 @@
+From b9105adf13b35f45c6de0b3daaa3c99373880071 Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Thu, 11 Jul 2013 14:04:48 -0700
+Subject: Revert "sched: Add missing call to calc_load_exit_idle()"
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+This reverts commit 48f0f14ffb6ff4852922994d11fbda418d40100e which was
+commit 749c8814f08f12baa4a9c2812a7c6ede7d69507d upstream.
+
+It seems to be misapplied, and not needed for 3.4-stable
+
+Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com>
+Cc: Charles Wang <muming.wq@taobao.com>
+Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
+Cc: Ingo Molnar <mingo@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ kernel/time/tick-sched.c |    1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/kernel/time/tick-sched.c
++++ b/kernel/time/tick-sched.c
+@@ -145,7 +145,6 @@ static void tick_nohz_update_jiffies(kti
+       tick_do_update_jiffies64(now);
+       local_irq_restore(flags);
+-      calc_load_exit_idle();
+       touch_softlockup_watchdog();
+ }
diff --git a/queue-3.4/scsi-sd-fix-parsing-of-temporary-cache-mode-prefix.patch b/queue-3.4/scsi-sd-fix-parsing-of-temporary-cache-mode-prefix.patch
new file mode 100644 (file)
index 0000000..4dcff3e
--- /dev/null
@@ -0,0 +1,34 @@
+From 2ee3e26c673e75c05ef8b914f54fadee3d7b9c88 Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Mon, 27 May 2013 19:07:19 +0100
+Subject: SCSI: sd: Fix parsing of 'temporary ' cache mode prefix
+
+From: Ben Hutchings <ben@decadent.org.uk>
+
+commit 2ee3e26c673e75c05ef8b914f54fadee3d7b9c88 upstream.
+
+Commit 39c60a0948cc '[SCSI] sd: fix array cache flushing bug causing
+performance problems' added temp as a pointer to "temporary " and used
+sizeof(temp) - 1 as its length.  But sizeof(temp) is the size of the
+pointer, not the size of the string constant.  Change temp to a static
+array so that sizeof() does what was intended.
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: James Bottomley <JBottomley@Parallels.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/scsi/sd.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/scsi/sd.c
++++ b/drivers/scsi/sd.c
+@@ -140,7 +140,7 @@ sd_store_cache_type(struct device *dev,
+       char *buffer_data;
+       struct scsi_mode_data data;
+       struct scsi_sense_hdr sshdr;
+-      const char *temp = "temporary ";
++      static const char temp[] = "temporary ";
+       int len;
+       if (sdp->type != TYPE_DISK)
index 736bc58256b5650ef95dc11a3a11e0513adf3e43..6ce36b8fc48dd5b1e4aa8d4586b6324416256817 100644 (file)
@@ -6,3 +6,6 @@ block-do-not-pass-disk-names-as-format-strings.patch
 crypto-sanitize-argument-for-format-string.patch
 maintainers-add-stable_kernel_rules.txt-to-stable-maintainer-information.patch
 revert-serial-8250_pci-add-support-for-another-kind-of-netmos-technology-pci-9835-multi-i-o-controller.patch
+nfsd4-fix-decoding-of-compounds-across-page-boundaries.patch
+scsi-sd-fix-parsing-of-temporary-cache-mode-prefix.patch
+revert-sched-add-missing-call-to-calc_load_exit_idle.patch