函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\include\asm\ptrace.h Create Date:2022-07-27 06:38:35
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:ser_mode(regs) determines whether a register set came from user* mode

函数原型:static inline int user_mode(struct pt_regs *regs)

返回类型:int

参数:

类型参数名称
struct pt_regs *regs
129  返回:cs按位与Bottom two bits of selector give the ring* privilege level按位或flags按位与No VM86 support 的值大于等于User mode is privilege level 3:
调用者
名称描述
__show_regs
ist_enterIn IST context, we explicitly disable preemption. This serves two* purposes: it makes it much less likely that we would accidentally* schedule in IST context and it will force a warning if we somehow* manage to schedule by accident.
ist_exit
ist_begin_non_atomicst_begin_non_atomic() - begin a non-atomic section in an IST exception*@regs: regs passed to the IST exception handler* IST exception handlers normally cannot schedule
do_trap_no_signal
do_error_trap
do_bounds
do_general_protection
fixup_bad_iret
do_debugOur handling of the processor debug registers is non-trivial.* We do not clear them on entry and exit from the kernel. Therefore* it is possible to get a watchpoint trap here from inside the kernel.* However, the code in
math_errorNote that we play around with the 'TS' bit in an attempt to get* the correct behaviour even in the presence of the asynchronous* IRQ13 behaviour
handle_irq
profile_pc
show_opcodesThere are a couple of reasons for the 2/3rd prologue, courtesy of Linus:* In case where we don't have the exact kernel image (which, if we did, we can* simply disassemble and navigate to the RIP), the purpose of the bigger* prologue is to have more
show_regs
do_nmi
int3_exception_notify
poke_int3_handler
interrupted_user_modeWere we in user mode (or vm86 mode) when we were* interrupted?* Doing kernel_fpu_begin/end() is ok if we are running* in an interrupt context from user mode - we'll just* save the FPU state as required.
send_sigtrap
arch_stack_walk_reliableThis function returns an error if it detects any unreliable features of the* stack. Otherwise it guarantees that the stack trace is reliable.* If the task is not 'current', the caller *must* ensure the task is inactive.
kprobe_int3_handlerInterrupts are disabled on entry as trap3 is an interrupt gate and they* remain disabled throughout this function.
__kgdb_notify
do_async_page_fault
arch_uprobe_exception_notifyallback routine for handling exceptions.
unwind_next_frame
__unwind_start
update_stack_state
unwind_next_frame
__unwind_start
cpuacct_chargeharge this task's execution time to its accounting group.* called with rq->lock held.
profile_tick
tick_periodic时钟中断处理
perf_sample_regs_user
perf_exclude_event
get_perf_callchain
kprobe_page_faultReturns true if kprobes handled the fault