Defined in 5 files as a function:

Referenced in 4 files:

Smatch caller information:

arch/x86/kernel/uprobes.c arch_uprobe_analyze_insn() -> can_optimize()

Type Parameter Key Value
PARAM_VALUE 0 paddr 2693768499051995136
PARAM_VALUE 0 paddr->attr 0
PARAM_VALUE 0 paddr->displacement.got 0-1
PARAM_VALUE 0 paddr->displacement.nbytes 0-2,4
PARAM_VALUE 0 paddr->end_kaddr 4096-ptr_max
PARAM_VALUE 0 paddr->immediate.got 0-1
PARAM_VALUE 0 paddr->immediate.nbytes 0-2,4
PARAM_VALUE 0 paddr->immediate1.got 0-1
PARAM_VALUE 0 paddr->immediate1.nbytes 0,2,4
PARAM_VALUE 0 paddr->immediate2.got 0-1
PARAM_VALUE 0 paddr->immediate2.nbytes 0-2,4
PARAM_VALUE 0 paddr->kaddr 0
PARAM_VALUE 0 paddr->length 0
PARAM_VALUE 0 paddr->modrm.got 0-1
PARAM_VALUE 0 paddr->modrm.nbytes 0
PARAM_VALUE 0 paddr->modrm.value 0-255
PARAM_VALUE 0 paddr->moffset1.got 0-1
PARAM_VALUE 0 paddr->moffset1.nbytes 0,2,4
PARAM_VALUE 0 paddr->moffset2.got 0-1
PARAM_VALUE 0 paddr->moffset2.nbytes 0,4
PARAM_VALUE 0 paddr->opcode.value 0
PARAM_VALUE 0 paddr->opnd_bytes 0,2,4,8
PARAM_VALUE 0 paddr->rex_prefix.nbytes 0
PARAM_VALUE 0 paddr->sib.got 0-1
PARAM_VALUE 0 paddr->sib.nbytes 0-1
PARAM_VALUE 0 paddr->sib.value 0-255
PARAM_VALUE 0 paddr->vex_prefix.nbytes 0
PARAM_VALUE 0 paddr->x86_64 0-1
DATA_SOURCE 1 vaddr $2
MEM_ZERO 0 paddr
RX_PATH
TASK_NOT_RUNNING
UNITS 1 vaddr unit_byte
LOCK2 &uprobe->consumer_rwsem
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &uprobe->register_rwsem
TYPE_LOCK (struct uprobe)->consumer_rwsem

arch/x86/kernel/kprobes/opt.c arch_prepare_optimized_kprobe() -> can_optimize()

Type Parameter Key Value
UNITS 0 paddr unit_byte
LOCK2 _T->lock
LOCK2 global &jump_label_mutex
HALF_LOCKED2 global &fei_lock