Patch "MIPS64: R6: R2 emulation bugfix" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
MIPS64: R6: R2 emulation bugfix
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:
mips64-r6-r2-emulation-bugfix.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 <[email protected]> know about it.
Quoted 1 line
From
41fa29e4d8cf4150568a0fe9bb4d62229f9caed5Mon Sep 17 00:00:00 2001
From: Leonid Yegoshin <[email protected]>
Date: Tue, 28 Apr 2015 12:53:35 -0700
Subject: MIPS64: R6: R2 emulation bugfix
From: Leonid Yegoshin <[email protected]>
commit 41fa29e4d8cf4150568a0fe9bb4d62229f9caed5 upstream.
Error recovery pointers for fixups was improperly set as ".word" which is unsuitable for MIPS64.
Replaced by STR(PTR)
[[email protected]: Apply changes as requested in the review process.]
Patchwork: https://patchwork.linux-mips.org/patch/9911/
--- arch/mips/kernel/mips-r2-to-r6-emul.c | 105 +++++++++++++++++----------------- 1 file changed, 53 insertions(+), 52 deletions(-)
arch/mips/kernel/mips-r2-to-r6-emul.c +53 -52
@@ -28,6 +28,7 @@#include <asm/inst.h> #include <asm/mips-r2-to-r6-emul.h> #include <asm/local.h> +#include <asm/mipsregs.h> #include <asm/ptrace.h> #include <asm/uaccess.h>
@@ -1251,10 +1252,10 @@ fpu_emul:" j 10b\n" " .previous\n" " .section __ex_table,\"a\"\n" -" .word 1b,8b\n" -" .word 2b,8b\n" -" .word 3b,8b\n" -" .word 4b,8b\n" + STR(PTR) " 1b,8b\n" + STR(PTR) " 2b,8b\n" + STR(PTR) " 3b,8b\n" + STR(PTR) " 4b,8b\n"" .previous\n" " .set pop\n" : "+&r"(rt), "=&r"(rs),
@@ -1326,10 +1327,10 @@ fpu_emul:" j 10b\n" " .previous\n" " .section __ex_table,\"a\"\n" -" .word 1b,8b\n" -" .word 2b,8b\n" -" .word 3b,8b\n" -" .word 4b,8b\n" + STR(PTR) " 1b,8b\n" + STR(PTR) " 2b,8b\n" + STR(PTR) " 3b,8b\n" + STR(PTR) " 4b,8b\n"" .previous\n" " .set pop\n" : "+&r"(rt), "=&r"(rs),
@@ -1397,10 +1398,10 @@ fpu_emul:" j 9b\n" " .previous\n" " .section __ex_table,\"a\"\n" -" .word 1b,8b\n" -" .word 2b,8b\n" -" .word 3b,8b\n" -" .word 4b,8b\n" + STR(PTR) " 1b,8b\n" + STR(PTR) " 2b,8b\n" + STR(PTR) " 3b,8b\n" + STR(PTR) " 4b,8b\n"" .previous\n" " .set pop\n" : "+&r"(rt), "=&r"(rs),
@@ -1467,10 +1468,10 @@ fpu_emul:" j 9b\n" " .previous\n" " .section __ex_table,\"a\"\n" -" .word 1b,8b\n" -" .word 2b,8b\n" -" .word 3b,8b\n" -" .word 4b,8b\n" + STR(PTR) " 1b,8b\n" + STR(PTR) " 2b,8b\n" + STR(PTR) " 3b,8b\n" + STR(PTR) " 4b,8b\n"" .previous\n" " .set pop\n" : "+&r"(rt), "=&r"(rs),
@@ -1582,14 +1583,14 @@ fpu_emul:" j 9b\n" " .previous\n" " .section __ex_table,\"a\"\n" -" .word 1b,8b\n" -" .word 2b,8b\n" -" .word 3b,8b\n" -" .word 4b,8b\n" -" .word 5b,8b\n" -" .word 6b,8b\n" -" .word 7b,8b\n" -" .word 0b,8b\n" + STR(PTR) " 1b,8b\n" + STR(PTR) " 2b,8b\n" + STR(PTR) " 3b,8b\n" + STR(PTR) " 4b,8b\n" + STR(PTR) " 5b,8b\n" + STR(PTR) " 6b,8b\n" + STR(PTR) " 7b,8b\n" + STR(PTR) " 0b,8b\n"" .previous\n" " .set pop\n" : "+&r"(rt), "=&r"(rs),
@@ -1701,14 +1702,14 @@ fpu_emul:" j 9b\n" " .previous\n" " .section __ex_table,\"a\"\n" -" .word 1b,8b\n" -" .word 2b,8b\n" -" .word 3b,8b\n" -" .word 4b,8b\n" -" .word 5b,8b\n" -" .word 6b,8b\n" -" .word 7b,8b\n" -" .word 0b,8b\n" + STR(PTR) " 1b,8b\n" + STR(PTR) " 2b,8b\n" + STR(PTR) " 3b,8b\n" + STR(PTR) " 4b,8b\n" + STR(PTR) " 5b,8b\n" + STR(PTR) " 6b,8b\n" + STR(PTR) " 7b,8b\n" + STR(PTR) " 0b,8b\n"" .previous\n" " .set pop\n" : "+&r"(rt), "=&r"(rs),
@@ -1820,14 +1821,14 @@ fpu_emul:" j 9b\n" " .previous\n" " .section __ex_table,\"a\"\n" -" .word 1b,8b\n" -" .word 2b,8b\n" -" .word 3b,8b\n" -" .word 4b,8b\n" -" .word 5b,8b\n" -" .word 6b,8b\n" -" .word 7b,8b\n" -" .word 0b,8b\n" + STR(PTR) " 1b,8b\n" + STR(PTR) " 2b,8b\n" + STR(PTR) " 3b,8b\n" + STR(PTR) " 4b,8b\n" + STR(PTR) " 5b,8b\n" + STR(PTR) " 6b,8b\n" + STR(PTR) " 7b,8b\n" + STR(PTR) " 0b,8b\n"" .previous\n" " .set pop\n" : "+&r"(rt), "=&r"(rs),
@@ -1938,14 +1939,14 @@ fpu_emul:" j 9b\n" " .previous\n" " .section __ex_table,\"a\"\n" -" .word 1b,8b\n" -" .word 2b,8b\n" -" .word 3b,8b\n" -" .word 4b,8b\n" -" .word 5b,8b\n" -" .word 6b,8b\n" -" .word 7b,8b\n" -" .word 0b,8b\n" + STR(PTR) " 1b,8b\n" + STR(PTR) " 2b,8b\n" + STR(PTR) " 3b,8b\n" + STR(PTR) " 4b,8b\n" + STR(PTR) " 5b,8b\n" + STR(PTR) " 6b,8b\n" + STR(PTR) " 7b,8b\n" + STR(PTR) " 0b,8b\n"" .previous\n" " .set pop\n" : "+&r"(rt), "=&r"(rs),
@@ -2000,7 +2001,7 @@ fpu_emul:"j 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" -".word 1b, 3b\n" + STR(PTR) " 1b,3b\n"".previous\n" : "=&r"(res), "+&r"(err) : "r"(vaddr), "i"(SIGSEGV)
@@ -2058,7 +2059,7 @@ fpu_emul:"j 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" -".word 1b, 3b\n" + STR(PTR) " 1b,3b\n"".previous\n" : "+&r"(res), "+&r"(err) : "r"(vaddr), "i"(SIGSEGV));
@@ -2119,7 +2120,7 @@ fpu_emul:"j 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" -".word 1b, 3b\n" + STR(PTR) " 1b,3b\n"".previous\n" : "=&r"(res), "+&r"(err) : "r"(vaddr), "i"(SIGSEGV)
@@ -2182,7 +2183,7 @@ fpu_emul:"j 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" -".word 1b, 3b\n" + STR(PTR) " 1b,3b\n"".previous\n" : "+&r"(res), "+&r"(err) : "r"(vaddr), "i"(SIGSEGV));
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/mips64-r6-r2-emulation-bugfix.patch