root/arch/arm/probes/kprobes/checkers.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * arch/arm/probes/kprobes/checkers.h
   4  *
   5  * Copyright (C) 2014 Huawei Inc.
   6  */
   7 #ifndef _ARM_KERNEL_PROBES_CHECKERS_H
   8 #define _ARM_KERNEL_PROBES_CHECKERS_H
   9 
  10 #include <linux/kernel.h>
  11 #include <linux/types.h>
  12 #include "../decode.h"
  13 
  14 extern probes_check_t checker_stack_use_none;
  15 extern probes_check_t checker_stack_use_unknown;
  16 #ifdef CONFIG_THUMB2_KERNEL
  17 extern probes_check_t checker_stack_use_imm_0xx;
  18 #else
  19 extern probes_check_t checker_stack_use_imm_x0x;
  20 #endif
  21 extern probes_check_t checker_stack_use_imm_xxx;
  22 extern probes_check_t checker_stack_use_stmdx;
  23 
  24 enum {
  25         STACK_USE_NONE,
  26         STACK_USE_UNKNOWN,
  27 #ifdef CONFIG_THUMB2_KERNEL
  28         STACK_USE_FIXED_0XX,
  29         STACK_USE_T32STRD,
  30 #else
  31         STACK_USE_FIXED_X0X,
  32 #endif
  33         STACK_USE_FIXED_XXX,
  34         STACK_USE_STMDX,
  35         NUM_STACK_USE_TYPES
  36 };
  37 
  38 extern const union decode_action stack_check_actions[];
  39 
  40 #ifndef CONFIG_THUMB2_KERNEL
  41 extern const struct decode_checker arm_stack_checker[];
  42 extern const struct decode_checker arm_regs_checker[];
  43 #else
  44 #endif
  45 extern const struct decode_checker t32_stack_checker[];
  46 extern const struct decode_checker t16_stack_checker[];
  47 #endif

/* [<][>][^][v][top][bottom][index][help] */