Patch "MIPS: Fix sigreturn via VDSO on microMIPS kernel" has been added to the 4.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    MIPS: Fix sigreturn via VDSO on microMIPS kernel

to the 4.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     mips-fix-sigreturn-via-vdso-on-micromips-kernel.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From 13eb192d10bcc9ac518d57356179071d603bcb4e Mon Sep 17 00:00:00 2001
From: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue, 24 May 2016 09:35:10 +0100
Subject: MIPS: Fix sigreturn via VDSO on microMIPS kernel

From: James Hogan <james.hogan@xxxxxxxxxx>

commit 13eb192d10bcc9ac518d57356179071d603bcb4e upstream.

In microMIPS kernels, handle_signal() sets the isa16 mode bit in the
vdso address so that the sigreturn trampolines (which are offset from
the VDSO) get executed as microMIPS.

However commit ebb5e78cc634 ("MIPS: Initial implementation of a VDSO")
changed the offsets to come from the VDSO image, which already have the
isa16 mode bit set correctly since they're extracted from the VDSO
shared library symbol table.

Drop the isa16 mode bit handling from handle_signal() to fix sigreturn
for cores which support both microMIPS and normal MIPS. This doesn't fix
microMIPS only cores, since the VDSO is still built for normal MIPS, but
thats a separate problem.

Fixes: ebb5e78cc634 ("MIPS: Initial implementation of a VDSO")
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Patchwork: https://patchwork.linux-mips.org/patch/13348/
Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
 arch/mips/kernel/signal.c |    8 --------
 1 file changed, 8 deletions(-)

--- a/arch/mips/kernel/signal.c
+++ b/arch/mips/kernel/signal.c
@@ -770,15 +770,7 @@ static void handle_signal(struct ksignal
 	sigset_t *oldset = sigmask_to_save();
 	int ret;
 	struct mips_abi *abi = current->thread.abi;
-#ifdef CONFIG_CPU_MICROMIPS
-	void *vdso;
-	unsigned long tmp = (unsigned long)current->mm->context.vdso;
-
-	set_isa16_mode(tmp);
-	vdso = (void *)tmp;
-#else
 	void *vdso = current->mm->context.vdso;
-#endif
 
 	if (regs->regs[0]) {
 		switch(regs->regs[2]) {


Patches currently in stable-queue which might be from james.hogan@xxxxxxxxxx are

queue-4.4/mips64-r6-r2-emulation-bugfix.patch
queue-4.4/mips-fix-uapi-include-in-exported-asm-siginfo.h.patch
queue-4.4/mips-disable-preemption-during-prctl-pr_set_fp_mode.patch
queue-4.4/mips-fix-sigreturn-via-vdso-on-micromips-kernel.patch
queue-4.4/mips-fix-siginfo.h-to-use-strict-posix-types.patch
queue-4.4/mips-don-t-unwind-to-user-mode-with-eva.patch
queue-4.4/mips-vdso-build-with-fno-strict-aliasing.patch
queue-4.4/mips-fix-watchpoint-restoration.patch
queue-4.4/mips-build-micromips-vdso-for-micromips-kernels.patch
queue-4.4/mips-math-emu-fix-jalr-emulation-when-rd-0.patch
queue-4.4/mips-fix-msa-ld_-st_-asm-macros-to-use-ptr_addu.patch
queue-4.4/mips-avoid-using-unwind_stack-with-usermode.patch
queue-4.4/mips-prevent-restoration-of-msa-context-in-non-msa-kernels.patch
queue-4.4/mips-use-copy_s.fmt-rather-than-copy_u.fmt.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]