From: Greg Kroah-Hartman Date: Thu, 11 Jul 2013 21:29:48 +0000 (-0700) Subject: 3.4-stable patches X-Git-Tag: v3.0.86~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b511a06399daf9f100510325220cf4ba8753e4db;p=thirdparty%2Fkernel%2Fstable-queue.git 3.4-stable patches 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 --- 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 index 00000000000..1b8a2fa0ebc --- /dev/null +++ b/queue-3.4/nfsd4-fix-decoding-of-compounds-across-page-boundaries.patch @@ -0,0 +1,37 @@ +From 247500820ebd02ad87525db5d9b199e5b66f6636 Mon Sep 17 00:00:00 2001 +From: "J. Bruce Fields" +Date: Fri, 21 Jun 2013 11:48:11 -0400 +Subject: nfsd4: fix decoding of compounds across page boundaries + +From: "J. Bruce Fields" + +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 +Signed-off-by: J. Bruce Fields +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..71d686b6150 --- /dev/null +++ b/queue-3.4/revert-sched-add-missing-call-to-calc_load_exit_idle.patch @@ -0,0 +1,32 @@ +From b9105adf13b35f45c6de0b3daaa3c99373880071 Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Thu, 11 Jul 2013 14:04:48 -0700 +Subject: Revert "sched: Add missing call to calc_load_exit_idle()" + +From: Greg Kroah-Hartman + +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 +Cc: Charles Wang +Cc: Peter Zijlstra +Cc: Ingo Molnar +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..4dcff3e7d0a --- /dev/null +++ b/queue-3.4/scsi-sd-fix-parsing-of-temporary-cache-mode-prefix.patch @@ -0,0 +1,34 @@ +From 2ee3e26c673e75c05ef8b914f54fadee3d7b9c88 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Mon, 27 May 2013 19:07:19 +0100 +Subject: SCSI: sd: Fix parsing of 'temporary ' cache mode prefix + +From: Ben Hutchings + +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 +Signed-off-by: James Bottomley +Signed-off-by: Greg Kroah-Hartman + +--- + 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) diff --git a/queue-3.4/series b/queue-3.4/series index 736bc58256b..6ce36b8fc48 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -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