Defined in 3 files as a member:

Defined in 15 files as a macro:

Defined in 7 files as a function:

Referenced in 111 files:

Smatch caller information:

lib/nmi_backtrace.c nmi_cpu_backtrace() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
CAPPED_DATA 0 regs 1
DATA_SOURCE 0 regs $0
RX_PATH
LOCK2 flags
LOCK2 rcu_read
HALF_LOCKED2 global &nmi_reason_lock

lib/nmi_backtrace.c nmi_cpu_backtrace() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
CAPPED_DATA 0 regs 1
DATA_SOURCE 0 regs $0
RX_PATH
LOCK2 flags
LOCK2 rcu_read
HALF_LOCKED2 global &nmi_reason_lock

lib/syscall.c collect_syscall() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
LOCK2 &target->signal->exec_update_lock
TYPE_LOCK (struct seq_file)->lock
TYPE_LOCK (struct signal_struct)->exec_update_lock

kernel/entry/common.c futex_within_robust_unlock() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 regs->ip 0-u64max
NO_OVERFLOW_SIMPLE 0 regs->dx

kernel/entry/common.c rseq_update_user_cs() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 regs->ip 0-u64max
NO_OVERFLOW_SIMPLE 0 regs->dx
HALF_LOCKED2 irq

kernel/ptrace.c ptrace_get_syscall_info() -> instruction_pointer()

Type Parameter Key Value

kernel/debug/kdb/kdb_main.c kdb_local() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $2
LOCK2 rcu_read
HALF_LOCKED2 flags
HALF_LOCKED2 global &dbg_master_lock
HALF_LOCKED2 global &dbg_slave_lock

kernel/debug/kdb/kdb_main.c kdb_local() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $2
LOCK2 rcu_read
HALF_LOCKED2 flags
HALF_LOCKED2 global &dbg_master_lock
HALF_LOCKED2 global &dbg_slave_lock

kernel/debug/kdb/kdb_main.c kdb_local() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $2
LOCK2 rcu_read
HALF_LOCKED2 flags
HALF_LOCKED2 global &dbg_master_lock
HALF_LOCKED2 global &dbg_slave_lock

kernel/debug/kdb/kdb_main.c kdb_local() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $2
LOCK2 rcu_read
HALF_LOCKED2 flags
HALF_LOCKED2 global &dbg_master_lock
HALF_LOCKED2 global &dbg_slave_lock

kernel/debug/kdb/kdb_main.c kdb_local() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $2
LOCK2 rcu_read
HALF_LOCKED2 flags
HALF_LOCKED2 global &dbg_master_lock
HALF_LOCKED2 global &dbg_slave_lock

kernel/debug/debug_core.c kgdb_arch_pc() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 0,4096-ptr_max
DATA_SOURCE 0 regs $1
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

kernel/rseq.c rseq_debug_update_user_cs() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 regs->ip 0-u64max
NO_OVERFLOW_SIMPLE 0 regs->dx

kernel/rseq.c rseq_update_user_cs() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 regs->ip 0-u64max
NO_OVERFLOW_SIMPLE 0 regs->dx

arch/x86/kernel/kgdb.c kgdb_arch_pc() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 0,4096-ptr_max
DATA_SOURCE 0 regs $1
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

arch/x86/kernel/kgdb.c kgdb_arch_pc() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 0,4096-ptr_max
DATA_SOURCE 0 regs $1
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

kernel/entry/syscall_user_dispatch.c syscall_user_dispatch() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $0

arch/x86/kernel/kprobes/ftrace.c kprobe_ftrace_handler() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 0,4096-ptr_max
BUF_SIZE 0 regs (-1),168
BUF_SIZE 0 regs (-1),168
DATA_SOURCE 0 regs r ftrace_get_regs
PREEMPT_ADD <- disables preempt

drivers/char/random.c add_interrupt_randomness() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs r get_irq_regs
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/cet.c do_kernel_cp_fault() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
PARAM_VALUE 0 regs->ip 0-2592665977140203519,2592665977140203521-u64max
CAPPED_DATA 0 regs 1
DATA_SOURCE 0 regs $0

kernel/events/core.c __perf_event_overflow() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 1-u64max
BUF_SIZE 0 regs (-1),168
BUF_SIZE 0 regs (-1),168
DATA_SOURCE 0 regs $3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 regs->ax 0-u64max
USER_DATA 0 regs->cx 0-u64max
USER_DATA 0 regs->r11 0-u64max
NO_OVERFLOW_SIMPLE 0 regs->dx
HALF_LOCKED2 _T->flags
HALF_LOCKED2 rcu_read

kernel/unwind/user.c unwind_user_start() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/trace/trace_uprobe.c __uprobe_perf_func() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 regs->ax 0-u64max
USER_DATA 0 regs->cx 0-u64max
USER_DATA 0 regs->r11 0-u64max
NO_OVERFLOW_SIMPLE 0 regs->dx
HALF_LOCKED2 &ucb->mutex

kernel/trace/trace_uprobe.c __uprobe_perf_func() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 regs->ax 0-u64max
USER_DATA 0 regs->cx 0-u64max
USER_DATA 0 regs->r11 0-u64max
NO_OVERFLOW_SIMPLE 0 regs->dx
HALF_LOCKED2 &ucb->mutex

kernel/trace/trace_uprobe.c __uprobe_trace_func() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 regs->ax 0-u64max
USER_DATA 0 regs->cx 0-u64max
USER_DATA 0 regs->r11 0-u64max
NO_OVERFLOW_SIMPLE 0 regs->dx
LOCK2 rcu_read

kernel/trace/trace_uprobe.c __uprobe_trace_func() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 regs->ax 0-u64max
USER_DATA 0 regs->cx 0-u64max
USER_DATA 0 regs->r11 0-u64max
NO_OVERFLOW_SIMPLE 0 regs->dx
LOCK2 rcu_read

kernel/trace/trace_uprobe.c uprobe_dispatcher() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 regs->ax 0-u64max
USER_DATA 0 regs->cx 0-u64max
USER_DATA 0 regs->r11 0-u64max
NO_OVERFLOW_SIMPLE 0 regs->dx

kernel/debug/kdb/kdb_bp.c kdb_handle_bp() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $0
LOCK2 rcu_read
HALF_LOCKED2 flags
HALF_LOCKED2 global &dbg_master_lock
HALF_LOCKED2 global &dbg_slave_lock

arch/x86/kernel/time.c profile_pc() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $0
RX_PATH
TASK_NOT_RUNNING

arch/x86/mm/mmio-mod.c pre() -> instruction_pointer()

Type Parameter Key Value
DATA_SOURCE 0 regs $1
PREEMPT_ADD <- disables preempt

kernel/trace/fprobe.c fprobe_return() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max

kernel/events/uprobes.c handle_swbp() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
PARAM_VALUE 0 regs->ip 0
DATA_SOURCE 0 regs $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 regs->dx

kernel/events/uprobes.c prepare_uretprobe() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
CAPPED_DATA 0 regs->cs 1
DATA_SOURCE 0 regs $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 regs->ax 0-u64max
USER_DATA 0 regs->cx 0-u64max
USER_DATA 0 regs->r11 0-u64max
NO_OVERFLOW_SIMPLE 0 regs->dx

kernel/events/uprobes.c uprobe_get_swbp_addr() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 regs->ip 0-u64max
NO_OVERFLOW_SIMPLE 0 regs->dx

kernel/events/uprobes.c uprobe_get_trap_addr() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $0
PREEMPT_ADD

mm/mmap_lock.c get_mmap_lock_carefully() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
CAPPED_DATA 0 regs 1
DATA_SOURCE 0 regs $1
BIT_INFO 0 regs->flags 0x200,0xffffffffffffffff
RX_PATH

mm/mmap_lock.c upgrade_mmap_lock_carefully() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
CAPPED_DATA 0 regs 1
DATA_SOURCE 0 regs $1
BIT_INFO 0 regs->flags 0x200,0xffffffffffffffff
RX_PATH

arch/x86/mm/extable.c ex_handler_fprestore() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
BUF_SIZE 0 regs (-1),168
BUF_SIZE 0 regs (-1),168
DATA_SOURCE 0 regs $1
STR_LEN 0 regs (-1),8,24
STR_LEN 0 regs (-1),8,24
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

arch/x86/mm/extable.c ex_handler_fprestore() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
BUF_SIZE 0 regs (-1),168
BUF_SIZE 0 regs (-1),168
DATA_SOURCE 0 regs $1
STR_LEN 0 regs (-1),8,24
STR_LEN 0 regs (-1),8,24
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/trace/bpf_trace.c uprobe_multi_link_handler() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
DATA_SOURCE 0 regs $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 regs->ax 0-u64max
USER_DATA 0 regs->cx 0-u64max
USER_DATA 0 regs->r11 0-u64max
NO_OVERFLOW_SIMPLE 0 regs->dx

drivers/misc/kgdbts.c check_and_rewind_pc() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 34762130610241536
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/misc/kgdbts.c check_single_step() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 34762130610241536
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/misc/kgdbts.c check_single_step() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 34762130610241536
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/misc/kgdbts.c check_single_step() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 34762130610241536
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/misc/kgdbts.c check_single_step() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 34762130610241536
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/misc/kgdbts.c emul_sstep_put() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 34762130610241536
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

kernel/debug/kdb/kdb_debugger.c kdb_stub() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
CAPPED_DATA 0 regs 1
LOCK2 rcu_read
HALF_LOCKED2 flags
HALF_LOCKED2 global &dbg_master_lock
HALF_LOCKED2 global &dbg_slave_lock

kernel/debug/kdb/kdb_debugger.c kdb_stub() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
CAPPED_DATA 0 regs 1
LOCK2 rcu_read
HALF_LOCKED2 flags
HALF_LOCKED2 global &dbg_master_lock
HALF_LOCKED2 global &dbg_slave_lock

kernel/trace/trace_kprobe.c kprobe_perf_func() -> instruction_pointer()

Type Parameter Key Value
BUF_SIZE 0 regs (-1),168
BUF_SIZE 0 regs (-1),168
DATA_SOURCE 0 regs $1

kernel/trace/trace_kprobe.c kprobe_perf_func() -> instruction_pointer()

Type Parameter Key Value
PARAM_VALUE 0 regs 4096-ptr_max
BUF_SIZE 0 regs (-1),168
BUF_SIZE 0 regs (-1),168
DATA_SOURCE 0 regs $1