Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:do_general_protection

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

Type:void

Parameter:

TypeParameterName
struct pt_regs *regs
longerror_code
524  desc = "general protection fault"
527  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")
528  cond_local_irq_enable(regs)
530  If static_cpu_has(User Mode Instruction Protection ) Then
531  If ser_mode(regs) determines whether a register set came from user* mode && fixup_umip_exception(regs) Then Return
535  If v8086_mode(regs) Then
536  The local_irq_*() APIs are equal to the raw_local_irq*()* if !TRACE_IRQFLAGS.()
538  Return
541  tsk = current process
542  If Not ser_mode(regs) determines whether a register set came from user* mode Then
543  If fixup_exception(regs, X86_TRAP_GP, error_code, 0) Then Return
546  error_code = error_code
547  trap_nr = X86_TRAP_GP
554  If Not preemptible() && kprobe_running() will just return the current_kprobe on this CPU && kprobe_fault_handler(regs, X86_TRAP_GP) Then Return
558  If notify_die(DIE_GPF, desc, regs, error_code, X86_TRAP_GP, SIGSEGV) != Clean way to return from the notifier and stop further calls. Then die(desc, regs, error_code)
561  Return
564  error_code = error_code
565  trap_nr = X86_TRAP_GP
567  show_signal(tsk, SIGSEGV, "", desc, regs, error_code)
569  force_sig(SIGSEGV)