]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.7-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Jan 2013 05:36:38 +0000 (06:36 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Jan 2013 05:36:38 +0000 (06:36 +0100)
added patches:
fs-cifs-cifs_dfs_ref.c-fix-potential-memory-leakage.patch
kvm-ppc-emulate-dcbf.patch
powerpc-book3e-disable-interrupt-after-preempt_schedule_irq.patch

queue-3.7/fs-cifs-cifs_dfs_ref.c-fix-potential-memory-leakage.patch [new file with mode: 0644]
queue-3.7/kvm-ppc-emulate-dcbf.patch [new file with mode: 0644]
queue-3.7/powerpc-book3e-disable-interrupt-after-preempt_schedule_irq.patch [new file with mode: 0644]
queue-3.7/series

diff --git a/queue-3.7/fs-cifs-cifs_dfs_ref.c-fix-potential-memory-leakage.patch b/queue-3.7/fs-cifs-cifs_dfs_ref.c-fix-potential-memory-leakage.patch
new file mode 100644 (file)
index 0000000..8a20b9c
--- /dev/null
@@ -0,0 +1,34 @@
+From 10b8c7dff5d3633b69e77f57d404dab54ead3787 Mon Sep 17 00:00:00 2001
+From: Cong Ding <dinggnu@gmail.com>
+Date: Tue, 22 Jan 2013 19:20:58 -0500
+Subject: fs/cifs/cifs_dfs_ref.c: fix potential memory leakage
+
+From: Cong Ding <dinggnu@gmail.com>
+
+commit 10b8c7dff5d3633b69e77f57d404dab54ead3787 upstream.
+
+When it goes to error through line 144, the memory allocated to *devname is
+not freed, and the caller doesn't free it either in line 250. So we free the
+memroy of *devname in function cifs_compose_mount_options() when it goes to
+error.
+
+Signed-off-by: Cong Ding <dinggnu@gmail.com>
+Reviewed-by: Jeff Layton <jlayton@redhat.com>
+Signed-off-by: Steve French <smfrench@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/cifs/cifs_dfs_ref.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/fs/cifs/cifs_dfs_ref.c
++++ b/fs/cifs/cifs_dfs_ref.c
+@@ -226,6 +226,8 @@ compose_mount_options_out:
+ compose_mount_options_err:
+       kfree(mountdata);
+       mountdata = ERR_PTR(rc);
++      kfree(*devname);
++      *devname = NULL;
+       goto compose_mount_options_out;
+ }
diff --git a/queue-3.7/kvm-ppc-emulate-dcbf.patch b/queue-3.7/kvm-ppc-emulate-dcbf.patch
new file mode 100644 (file)
index 0000000..0867c45
--- /dev/null
@@ -0,0 +1,39 @@
+From d3286144c92ec876da9e30320afa875699b7e0f1 Mon Sep 17 00:00:00 2001
+From: Alexander Graf <agraf@suse.de>
+Date: Thu, 17 Jan 2013 13:50:25 +0100
+Subject: KVM: PPC: Emulate dcbf
+
+From: Alexander Graf <agraf@suse.de>
+
+commit d3286144c92ec876da9e30320afa875699b7e0f1 upstream.
+
+Guests can trigger MMIO exits using dcbf. Since we don't emulate cache
+incoherent MMIO, just do nothing and move on.
+
+Reported-by: Ben Collins <ben.c@servergy.com>
+Signed-off-by: Alexander Graf <agraf@suse.de>
+Tested-by: Ben Collins <ben.c@servergy.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/powerpc/kvm/emulate.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/arch/powerpc/kvm/emulate.c
++++ b/arch/powerpc/kvm/emulate.c
+@@ -39,6 +39,7 @@
+ #define OP_31_XOP_TRAP      4
+ #define OP_31_XOP_LWZX      23
+ #define OP_31_XOP_TRAP_64   68
++#define OP_31_XOP_DCBF      86
+ #define OP_31_XOP_LBZX      87
+ #define OP_31_XOP_STWX      151
+ #define OP_31_XOP_STBX      215
+@@ -353,6 +354,7 @@ int kvmppc_emulate_instruction(struct kv
+                       kvmppc_set_exit_type(vcpu, EMULATED_MTSPR_EXITS);
+                       break;
++              case OP_31_XOP_DCBF:
+               case OP_31_XOP_DCBI:
+                       /* Do nothing. The guest is performing dcbi because
+                        * hardware DMA is not snooped by the dcache, but
diff --git a/queue-3.7/powerpc-book3e-disable-interrupt-after-preempt_schedule_irq.patch b/queue-3.7/powerpc-book3e-disable-interrupt-after-preempt_schedule_irq.patch
new file mode 100644 (file)
index 0000000..49f0195
--- /dev/null
@@ -0,0 +1,44 @@
+From 572177d7c77db1981ba2563e01478126482c43bc Mon Sep 17 00:00:00 2001
+From: Tiejun Chen <tiejun.chen@windriver.com>
+Date: Sun, 6 Jan 2013 00:49:34 +0000
+Subject: powerpc/book3e: Disable interrupt after preempt_schedule_irq
+
+From: Tiejun Chen <tiejun.chen@windriver.com>
+
+commit 572177d7c77db1981ba2563e01478126482c43bc upstream.
+
+In preempt case current arch_local_irq_restore() from
+preempt_schedule_irq() may enable hard interrupt but we really
+should disable interrupts when we return from the interrupt,
+and so that we don't get interrupted after loading SRR0/1.
+
+Signed-off-by: Tiejun Chen <tiejun.chen@windriver.com>
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/powerpc/kernel/entry_64.S |   13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+--- a/arch/powerpc/kernel/entry_64.S
++++ b/arch/powerpc/kernel/entry_64.S
+@@ -668,6 +668,19 @@ resume_kernel:
+       ld      r4,TI_FLAGS(r9)
+       andi.   r0,r4,_TIF_NEED_RESCHED
+       bne     1b
++
++      /*
++       * arch_local_irq_restore() from preempt_schedule_irq above may
++       * enable hard interrupt but we really should disable interrupts
++       * when we return from the interrupt, and so that we don't get
++       * interrupted after loading SRR0/1.
++       */
++#ifdef CONFIG_PPC_BOOK3E
++      wrteei  0
++#else
++      ld      r10,PACAKMSR(r13) /* Get kernel MSR without EE */
++      mtmsrd  r10,1             /* Update machine state */
++#endif /* CONFIG_PPC_BOOK3E */
+ #endif /* CONFIG_PREEMPT */
+       .globl  fast_exc_return_irq
index 575614ddb8fae7bcd6c8952aedeacd4a8915ae7b..029059594e1ddaee2bdc56be401d7f9bb23c7382 100644 (file)
@@ -1,3 +1,6 @@
 can-c_can-fix-invalid-error-codes.patch
 can-ti_hecc-fix-invalid-error-codes.patch
 can-pch_can-fix-invalid-error-codes.patch
+fs-cifs-cifs_dfs_ref.c-fix-potential-memory-leakage.patch
+kvm-ppc-emulate-dcbf.patch
+powerpc-book3e-disable-interrupt-after-preempt_schedule_irq.patch