Defined in 5 files as a function:
- arch/arm/probes/kprobes/opt-arm.c, line 125 (as a function)
- arch/powerpc/kernel/optprobes.c, line 47 (as a function)
- arch/x86/kernel/kprobes/opt.c, line 259 (as a function)
- arch/x86/kernel/uprobes.c, line 1237 (as a function)
- arch/x86/kernel/uprobes.c, line 1261 (as a function)
Referenced in 4 files:
- arch/arm/probes/kprobes/opt-arm.c, line 189
- arch/powerpc/kernel/optprobes.c, line 163
- arch/x86/kernel/kprobes/opt.c, line 393
- arch/x86/kernel/uprobes.c, line 1641
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 |