Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\traps.c Create Date:2022-07-28 07:31:59
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:do_bounds

Proto:__attribute__((__externally_visible__)) void do_bounds(struct pt_regs *regs, long error_code)

Type:void

Parameter:

TypeParameterName
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  If notify_die(DIE_TRAP, "bounds", regs, error_code, X86_TRAP_BR, SIGSEGV) == Clean way to return from the notifier and stop further calls. Then Return
443  cond_local_irq_enable(regs)
445  If Not ser_mode(regs) determines whether a register set came from user* mode Then die("bounds", regs, error_code)
448  If Not This macro is for detection of features which need kernel* infrastructure to be used(Memory Protection Extension ) Then
450  Go to exit_trap
459  bndcsr = get_xsave_field_ptr(XFEATURE_BNDCSR)
460  If Not bndcsr Then Go to exit_trap
463  This gets used outside of MPX-specific code, so we need a stub.
470  Case & == 2
471  If mpx_handle_bd_fault() Then Go to exit_trap
473  Break
474  Case & == 1
476  tsk = current process
479  If mpx_fault_info( & mpx, regs) Then
484  Go to exit_trap
493  If Not do_trap_no_signal(tsk, X86_TRAP_BR, "bounds", regs, error_code) Then Break
497  show_signal(tsk, SIGSEGV, "trap ", "bounds", regs, error_code)
499  force_sig_bnderr(addr, lower, upper)
500  Break
502  Case & == 0
503  Go to exit_trap
504  Default
505  die("bounds", regs, error_code)
508  Return
510  exit_trap :
518  do_trap(X86_TRAP_BR, SIGSEGV, "bounds", regs, error_code, 0, NULL)