mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 08:44:21 +08:00
ba755f8ec8
With commit 63dc68a8cf
, 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>
34 lines
558 B
C
34 lines
558 B
C
#ifndef __ASM_BUG_H
|
|
#define __ASM_BUG_H
|
|
|
|
#include <asm/sgidefs.h>
|
|
|
|
#ifdef CONFIG_BUG
|
|
|
|
#include <asm/break.h>
|
|
|
|
#define BUG() \
|
|
do { \
|
|
__asm__ __volatile__("break %0" : : "i" (BRK_BUG)); \
|
|
} while (0)
|
|
|
|
#define HAVE_ARCH_BUG
|
|
|
|
#if (_MIPS_ISA > _MIPS_ISA_MIPS1)
|
|
|
|
#define BUG_ON(condition) \
|
|
do { \
|
|
__asm__ __volatile__("tne $0, %0, %1" \
|
|
: : "r" (condition), "i" (BRK_BUG)); \
|
|
} while (0)
|
|
|
|
#define HAVE_ARCH_BUG_ON
|
|
|
|
#endif /* _MIPS_ISA > _MIPS_ISA_MIPS1 */
|
|
|
|
#endif
|
|
|
|
#include <asm-generic/bug.h>
|
|
|
|
#endif /* __ASM_BUG_H */
|