Commit ba755f8ec80fdbf2b5212622eabf7355464c6327
Committed by
Ralf Baechle
1 parent
faea623464
Exists in
master
and in
7 other branches
[MIPS] Fix BUG(), BUG_ON() handling
With commit 63dc68a8cf60cb110b147dab1704d990808b39e2, kernel can not handle BUG() and BUG_ON() properly since get_user() returns false for kernel code. Use __get_user() to skip unnecessary access_ok(). This patch also make BRK_BUG code encoded in the TNE instruction. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Showing 2 changed files with 4 additions and 3 deletions Side-by-side Diff
arch/mips/kernel/traps.c
... | ... | @@ -650,7 +650,7 @@ |
650 | 650 | unsigned int opcode, bcode; |
651 | 651 | siginfo_t info; |
652 | 652 | |
653 | - if (get_user(opcode, (unsigned int __user *) exception_epc(regs))) | |
653 | + if (__get_user(opcode, (unsigned int __user *) exception_epc(regs))) | |
654 | 654 | goto out_sigsegv; |
655 | 655 | |
656 | 656 | /* |
... | ... | @@ -700,7 +700,7 @@ |
700 | 700 | unsigned int opcode, tcode = 0; |
701 | 701 | siginfo_t info; |
702 | 702 | |
703 | - if (get_user(opcode, (unsigned int __user *) exception_epc(regs))) | |
703 | + if (__get_user(opcode, (unsigned int __user *) exception_epc(regs))) | |
704 | 704 | goto out_sigsegv; |
705 | 705 | |
706 | 706 | /* Immediate versions don't provide a code. */ |
include/asm-mips/bug.h