2 * arch/arm/probes/kprobes/checkers.h
4 * Copyright (C) 2014 Huawei Inc.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
15 #ifndef _ARM_KERNEL_PROBES_CHECKERS_H
16 #define _ARM_KERNEL_PROBES_CHECKERS_H
18 #include <linux/kernel.h>
19 #include <linux/types.h>
20 #include "../decode.h"
22 extern probes_check_t checker_stack_use_none
;
23 extern probes_check_t checker_stack_use_unknown
;
24 #ifdef CONFIG_THUMB2_KERNEL
25 extern probes_check_t checker_stack_use_imm_0xx
;
27 extern probes_check_t checker_stack_use_imm_x0x
;
29 extern probes_check_t checker_stack_use_imm_xxx
;
30 extern probes_check_t checker_stack_use_stmdx
;
35 #ifdef CONFIG_THUMB2_KERNEL
46 extern const union decode_action stack_check_actions
[];
48 #ifndef CONFIG_THUMB2_KERNEL
49 extern const struct decode_checker arm_stack_checker
[];
50 extern const struct decode_checker arm_regs_checker
[];
53 extern const struct decode_checker t32_stack_checker
[];
54 extern const struct decode_checker t16_stack_checker
[];