• Maciej W. Rozycki's avatar
    MIPS: Send SIGILL for R6 branches in `__compute_return_epc_for_insn' · a60b1a5b
    Maciej W. Rozycki authored
    Fix:
    
    * commit 8467ca01 ("MIPS: Emulate the new MIPS R6 branch compact
    (BC) instruction"),
    
    * commit 84fef630 ("MIPS: Emulate the new MIPS R6 BALC
    instruction"),
    
    * commit 69b9a2fd ("MIPS: Emulate the new MIPS R6 BEQZC and JIC
    instructions"),
    
    * commit 28d6f93d ("MIPS: Emulate the new MIPS R6 BNEZC and JIALC
    instructions"),
    
    * commit c893ce38 ("MIPS: Emulate the new MIPS R6 BOVC, BEQC and
    BEQZALC instructions")
    
    and send SIGILL rather than returning -SIGILL for R6 branch and jump
    instructions.  Returning -SIGILL is never correct as the API defines
    this function's result upon error to be -EFAULT and a signal actually
    issued.
    
    Fixes: 8467ca01 ("MIPS: Emulate the new MIPS R6 branch compact (BC) instruction")
    Fixes: 84fef630 ("MIPS: Emulate the new MIPS R6 BALC instruction")
    Fixes: 69b9a2fd ("MIPS: Emulate the new MIPS R6 BEQZC and JIC instructions")
    Fixes: 28d6f93d ("MIPS: Emulate the new MIPS R6 BNEZC and JIALC instructions")
    Fixes: c893ce38 ("MIPS: Emulate the new MIPS R6 BOVC, BEQC and BEQZALC instructions")
    Signed-off-by: default avatarMaciej W. Rozycki <macro@imgtec.com>
    Cc: James Hogan <james.hogan@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Cc: stable@vger.kernel.org # 3.19+
    Patchwork: https://patchwork.linux-mips.org/patch/16399/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    a60b1a5b
branch.c 21.3 KB