Function report | 
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 activity | Download SCCT | Chinese | 
Name:do_general_protection
Proto:__attribute__((__externally_visible__)) void do_general_protection(struct pt_regs *regs, long error_code)
Type:void
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct pt_regs * | regs | |
| long | error_code | 
| 524 | desc = "general protection fault" | 
| 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 | 
| 541 | tsk = current process | 
| 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) | 
| Source code conversion tool public plug-in interface  | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion  |