| Function report | 
| Source Code: arch\x86\kernel\umip.c | Create Date:2022-07-28 08:50:39 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:xup_umip_exception() - Fixup a general protection fault caused by UMIP*@regs: Registers as saved when entering the #GP handler* The instructions SGDT, SIDT, STR, SMSW and SLDT cause a general protection* fault if executed with CPL > 0 (i
Proto:bool fixup_umip_exception(struct pt_regs *regs)
Type:bool
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct pt_regs * | regs | 
| 321 | seg_base = 0 | 
| 323 | unsigned char dummy_data[10] = {0} | 
| 329 | If Not regs Then Return false | 
| 338 | If Not user_64bit_mode(regs) Then seg_base = sn_get_seg_base() - Obtain base address of segment descriptor | 
| 341 | If seg_base == -1L Then Return false | 
| 344 | not_copied = copy_from_user(buf, (void__user * )(seg_base + Return frame for iretq ), size of buf ) | 
| 346 | nr_copied = size of buf - not_copied | 
| 353 | If Not nr_copied Then Return false | 
| 379 | umip_inst = dentify_insn() - Identify a UMIP-protected instruction*@insn: Instruction structure with opcode and ModRM byte | 
| 380 | If umip_inst < 0 Then Return false | 
| 383 | umip_pr_warn(regs, "%s instruction cannot be used by applications.\n", umip_insns[umip_inst]) | 
| 390 | umip_pr_warn(regs, "For now, expensive software emulation returns the result.\n") | 
| 402 | If X86_MODRM_MOD(value) == 3 Then | 
| 410 | If reg_offset < 0 Then Return false | 
| 413 | reg_addr = regs + reg_offset | 
| 414 | memcpy(reg_addr, dummy_data, dummy_data_size) | 
| 415 | Else | 
| 417 | If uaddr == -1L Then Return false | 
| 420 | nr_copied = copy_to_user(uaddr, dummy_data, dummy_data_size) | 
| 421 | If nr_copied > 0 Then | 
| 432 | Return frame for iretq += length | 
| 433 | Return true | 
| 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 |