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 |