From: Greg Kroah-Hartman Date: Thu, 30 Jul 2015 19:41:33 +0000 (-0700) Subject: 3.10-stable patches X-Git-Tag: v4.1.4~31 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0d1c867db532b9f43b6ba250f6b5d670dd226caa;p=thirdparty%2Fkernel%2Fstable-queue.git 3.10-stable patches added patches: vtpm-set-virtual-device-before-passing-to-ibmvtpm_reset_crq.patch xfs-fix-remote-symlinks-on-v5-crc-filesystems.patch --- diff --git a/queue-3.10/series b/queue-3.10/series index 1ee83bfde97..232494c6629 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -53,3 +53,5 @@ drm-qxl-do-not-cause-spice-server-to-clean-our-objects.patch drm-radeon-take-the-mode_config-mutex-when-dealing-with-hpds-v2.patch drm-radeon-don-t-flush-the-gart-tlb-if-rdev-gart.ptr-null.patch drm-add-a-check-for-x-y-in-drm_mode_setcrtc.patch +xfs-fix-remote-symlinks-on-v5-crc-filesystems.patch +vtpm-set-virtual-device-before-passing-to-ibmvtpm_reset_crq.patch diff --git a/queue-3.10/vtpm-set-virtual-device-before-passing-to-ibmvtpm_reset_crq.patch b/queue-3.10/vtpm-set-virtual-device-before-passing-to-ibmvtpm_reset_crq.patch new file mode 100644 index 00000000000..07bfe135a38 --- /dev/null +++ b/queue-3.10/vtpm-set-virtual-device-before-passing-to-ibmvtpm_reset_crq.patch @@ -0,0 +1,45 @@ +From 9d75f08946e8485109458ccf16f714697c207f41 Mon Sep 17 00:00:00 2001 +From: "Hon Ching \\(Vicky\\) Lo" +Date: Fri, 22 May 2015 13:23:02 -0400 +Subject: vTPM: set virtual device before passing to ibmvtpm_reset_crq + +From: "Hon Ching \\(Vicky\\) Lo" + +commit 9d75f08946e8485109458ccf16f714697c207f41 upstream. + +tpm_ibmvtpm_probe() calls ibmvtpm_reset_crq(ibmvtpm) without having yet +set the virtual device in the ibmvtpm structure. So in ibmvtpm_reset_crq, +the phype call contains empty unit addresses, ibmvtpm->vdev->unit_address. + +Signed-off-by: Hon Ching(Vicky) Lo +Signed-off-by: Joy Latten +Reviewed-by: Ashley Lai +Fixes: 132f76294744 ("drivers/char/tpm: Add new device driver to support IBM vTPM") +Signed-off-by: Peter Huewe +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/char/tpm/tpm_ibmvtpm.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- a/drivers/char/tpm/tpm_ibmvtpm.c ++++ b/drivers/char/tpm/tpm_ibmvtpm.c +@@ -618,6 +618,9 @@ static int tpm_ibmvtpm_probe(struct vio_ + goto cleanup; + } + ++ ibmvtpm->dev = dev; ++ ibmvtpm->vdev = vio_dev; ++ + crq_q = &ibmvtpm->crq_queue; + crq_q->crq_addr = (struct ibmvtpm_crq *)get_zeroed_page(GFP_KERNEL); + if (!crq_q->crq_addr) { +@@ -662,8 +665,6 @@ static int tpm_ibmvtpm_probe(struct vio_ + + crq_q->index = 0; + +- ibmvtpm->dev = dev; +- ibmvtpm->vdev = vio_dev; + TPM_VPRIV(chip) = (void *)ibmvtpm; + + spin_lock_init(&ibmvtpm->rtce_lock); diff --git a/queue-3.10/xfs-fix-remote-symlinks-on-v5-crc-filesystems.patch b/queue-3.10/xfs-fix-remote-symlinks-on-v5-crc-filesystems.patch new file mode 100644 index 00000000000..f5293fe9b73 --- /dev/null +++ b/queue-3.10/xfs-fix-remote-symlinks-on-v5-crc-filesystems.patch @@ -0,0 +1,49 @@ +From 2ac56d3d4bd625450a54d4c3f9292d58f6b88232 Mon Sep 17 00:00:00 2001 +From: Eric Sandeen +Date: Mon, 22 Jun 2015 09:42:48 +1000 +Subject: xfs: fix remote symlinks on V5/CRC filesystems + +From: Eric Sandeen + +commit 2ac56d3d4bd625450a54d4c3f9292d58f6b88232 upstream. + +If we create a CRC filesystem, mount it, and create a symlink with +a path long enough that it can't live in the inode, we get a very +strange result upon remount: + +# ls -l mnt +total 4 +lrwxrwxrwx. 1 root root 929 Jun 15 16:58 link -> XSLM + +XSLM is the V5 symlink block header magic (which happens to be +followed by a NUL, so the string looks terminated). + +xfs_readlink_bmap() advanced cur_chunk by the size of the header +for CRC filesystems, but never actually used that pointer; it +kept reading from bp->b_addr, which is the start of the block, +rather than the start of the symlink data after the header. + +Looks like this problem goes back to v3.10. + +Fixing this gets us reading the proper link target, again. + +Signed-off-by: Eric Sandeen +Reviewed-by: Dave Chinner +Signed-off-by: Dave Chinner +Signed-off-by: Greg Kroah-Hartman + +--- + fs/xfs/xfs_symlink.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/fs/xfs/xfs_symlink.c ++++ b/fs/xfs/xfs_symlink.c +@@ -272,7 +272,7 @@ xfs_readlink_bmap( + cur_chunk += sizeof(struct xfs_dsymlink_hdr); + } + +- memcpy(link + offset, bp->b_addr, byte_cnt); ++ memcpy(link + offset, cur_chunk, byte_cnt); + + pathlen -= byte_cnt; + offset += byte_cnt;