函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\traps.c Create Date:2022-07-27 08:31:18
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:do_bounds

函数原型:__attribute__((__externally_visible__)) void do_bounds(struct pt_regs *regs, long error_code)

返回类型:void

参数:

类型参数名称
struct pt_regs *regs
longerror_code
439  RCU_LOCKDEP_WARN(!_is_watching - see if RCU thinks that the current CPU is not idle* Return true if RCU is watching the running CPU, which means that this* CPU can safely enter RCU read-side critical sections, "entry code didn't wake RCU")
440  如果notify_die(DIE_TRAP, "bounds", regs, error_code, X86_TRAP_BR, SIGSEGV)恒等于Clean way to return from the notifier and stop further calls.则返回
443  cond_local_irq_enable(regs)
445  如果非ser_mode(regs) determines whether a register set came from user* mode终止程序
448  如果非This macro is for detection of features which need kernel* infrastructure to be used(Memory Protection Extension )则
450  转到:exit_trap
459  bndcsr等于get_xsave_field_ptr(XFEATURE_BNDCSR)
460  如果非bndcsr则转到:exit_trap
463  This gets used outside of MPX-specific code, so we need a stub.
470  : & == 2
471  如果mpx_handle_bd_fault()则转到:exit_trap
473  退出
474  : & == 1
476  tsk等于当前进程
479  如果mpx_fault_info( & mpx, regs)则
484  转到:exit_trap
493  如果非do_trap_no_signal(tsk, X86_TRAP_BR, "bounds", regs, error_code)则退出
497  show_signal(tsk, SIGSEGV, "trap ", "bounds", regs, error_code)
499  force_sig_bnderr(addr, lower, upper)
500  退出
502  : & == 0
503  转到:exit_trap
504  默认
505  终止程序
508  返回
510  exit_trap :
518  do_trap(X86_TRAP_BR, SIGSEGV, "bounds", regs, error_code, 0, NULL)