Defined in 1 files as a function:
Referenced in 7 files:
- arch/x86/include/asm/text-patching.h, line 126
- arch/x86/kernel/alternative.c
- arch/x86/kernel/callthunks.c, line 227
- arch/x86/kernel/ftrace.c, line 363
- arch/x86/kernel/static_call.c
- arch/x86/kernel/uprobes.c, line 1079
- arch/x86/xen/enlighten_pv.c, line 1341
Smatch caller information:
arch/x86/kernel/callthunks.c patch_call() -> __text_gen_insn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | buf | 7270779555125248000 |
| PARAM_VALUE | 1 | opcode | 232 |
| PARAM_VALUE | 2 | addr | 0-18446744073709551614 |
| PARAM_VALUE | 3 | dest | 1-u64max |
| PARAM_VALUE | 4 | size | 5 |
| BUF_SIZE | 0 | buf | 8 |
| CAPPED_DATA | 2 | addr | 1 |
| DATA_SOURCE | 2 | addr | $0 |
| DATA_SOURCE | 3 | dest | r patch_dest |
| NOCHECK_CALL | |||
| UNITS | 2 | addr | unit_byte |
| LOCK2 | global &text_mutex |
arch/x86/kernel/alternative.c __emit_trampoline() -> __text_gen_insn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | *buf | 0-255 |
| PARAM_VALUE | 1 | opcode | 232 |
| PARAM_VALUE | 2 | addr | 4096-ptr_max |
| PARAM_VALUE | 4 | size | 5 |
| BUF_SIZE | 3 | dest | (-1),32,64 |
| BUF_SIZE | 3 | dest | (-1),32,64 |
| DATA_SOURCE | 3 | dest | $3 |
| NOCHECK_CALL | |||
| UNITS | 2 | addr | unit_byte |
arch/x86/kernel/alternative.c __emit_trampoline() -> __text_gen_insn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | *buf | 0-255 |
| PARAM_VALUE | 2 | addr | 4096-ptr_max |
| PARAM_VALUE | 4 | size | 5 |
| BUF_SIZE | 3 | dest | (-1),32,64 |
| BUF_SIZE | 3 | dest | (-1),32,64 |
| DATA_SOURCE | 3 | dest | $4 |
| NOCHECK_CALL | |||
| UNITS | 2 | addr | unit_byte |
arch/x86/kernel/alternative.c add_nop() -> __text_gen_insn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | opcode | 235 |
| PARAM_VALUE | 3 | dest | 4096-ptr_max |
| PARAM_VALUE | 4 | size | 2 |
| DATA_SOURCE | 0 | buf | $0 |
| DATA_SOURCE | 2 | addr | $0 |
| PARAM_COMPARE | 0 | buf | <= $3 |
| PARAM_COMPARE | 2 | addr | <= $3 |
| PARAM_COMPARE | 3 | dest | >= $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | buf | unit_byte |
| UNITS | 2 | addr | unit_byte |
| UNITS | 3 | dest | unit_byte |
arch/x86/kernel/alternative.c add_nop() -> __text_gen_insn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | opcode | 233 |
| PARAM_VALUE | 3 | dest | 4096-ptr_max |
| PARAM_VALUE | 4 | size | 5 |
| DATA_SOURCE | 0 | buf | $0 |
| DATA_SOURCE | 2 | addr | $0 |
| PARAM_COMPARE | 0 | buf | <= $3 |
| PARAM_COMPARE | 2 | addr | <= $3 |
| PARAM_COMPARE | 3 | dest | >= $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | buf | unit_byte |
| UNITS | 2 | addr | unit_byte |
| UNITS | 3 | dest | unit_byte |
arch/x86/kernel/alternative.c patch_return() -> __text_gen_insn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | buf | 547837113566011392 |
| PARAM_VALUE | 1 | opcode | 233 |
| PARAM_VALUE | 4 | size | 5 |
| BUF_SIZE | 0 | buf | 16 |
| DATA_SOURCE | 0 | buf | $2 |
| DATA_SOURCE | 2 | addr | $0 |
| NOCHECK_CALL | |||
| UNITS | 2 | addr | unit_byte |
arch/x86/kernel/uprobes.c swbp_optimize() -> __text_gen_insn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | buf | 6061088516637396997 |
| PARAM_VALUE | 1 | opcode | 232 |
| PARAM_VALUE | 2 | addr | 5 |
| PARAM_VALUE | 4 | size | 5 |
| BUF_SIZE | 0 | buf | 5 |
| DATA_SOURCE | 3 | dest | $3 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 2 | addr | unit_byte |
| UNITS | 3 | dest | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
arch/x86/xen/enlighten_pv.c xen_start_kernel() -> __text_gen_insn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | buf | 641388643129634816 |
| PARAM_VALUE | 1 | opcode | 233 |
| PARAM_VALUE | 2 | addr | 641388643129634816 |
| PARAM_VALUE | 3 | dest | 3939178887059333120 |
| PARAM_VALUE | 4 | size | 5 |
| BUF_SIZE | 0 | buf | 8 |
| BUF_SIZE | 2 | addr | 8 |
| BUF_SIZE | 3 | dest | 8 |
| NOCHECK_CALL |
arch/x86/kernel/ftrace.c create_trampoline() -> __text_gen_insn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | buf | 4096-ptr_max |
| PARAM_VALUE | 1 | opcode | 233 |
| PARAM_VALUE | 2 | addr | 4096-ptr_max |
| PARAM_VALUE | 4 | size | 5 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &ftrace_lock |
arch/x86/kernel/ftrace.c text_gen_insn() -> __text_gen_insn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | buf | 684509348283305984 |
| PARAM_VALUE | 1 | opcode | 232-233 |
| PARAM_VALUE | 4 | size | 5 |
| BUF_SIZE | 0 | buf | 5 |
| DATA_SOURCE | 1 | opcode | $0 |
| DATA_SOURCE | 2 | addr | $1 |
| DATA_SOURCE | 3 | dest | $2 |
| HARD_MAX | 1 | opcode | 233 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 2 | addr | unit_byte |
| HALF_LOCKED2 | global &text_mutex |
arch/x86/kernel/jump_label.c text_gen_insn() -> __text_gen_insn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | buf | 2642245354292633600 |
| PARAM_VALUE | 1 | opcode | 233,235 |
| PARAM_VALUE | 4 | size | 2,5 |
| BUF_SIZE | 0 | buf | 5 |
| DATA_SOURCE | 1 | opcode | $0 |
| DATA_SOURCE | 2 | addr | $1 |
| DATA_SOURCE | 3 | dest | $2 |
| HARD_MAX | 1 | opcode | 235 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &text_mutex | ||
| HALF_LOCKED2 | global &jump_label_mutex |
arch/x86/kernel/static_call.c __static_call_transform() -> __text_gen_insn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | buf | 662045858424471553 |
| PARAM_VALUE | 0 | *buf | 0-255 |
| PARAM_VALUE | 4 | size | 5 |
| BUF_SIZE | 0 | buf | 5 |
| DATA_SOURCE | 3 | dest | $2 [m] |
| NOCHECK_CALL | |||
| UNITS | 2 | addr | unit_byte |
| LOCK2 | global &text_mutex | ||
| HALF_LOCKED2 | global &static_call_mutex |
arch/x86/kernel/static_call.c __static_call_update_early() -> __text_gen_insn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | buf | 2245206347248939008 |
| PARAM_VALUE | 1 | opcode | 233 |
| PARAM_VALUE | 2 | addr | 2245206347248939008 |
| PARAM_VALUE | 3 | dest | 266637231000788992,2083818160542658560,3322014024904990720 |
| PARAM_VALUE | 4 | size | 5 |
| BUF_SIZE | 0 | buf | 8 |
| BUF_SIZE | 0 | buf | 8 |
| BUF_SIZE | 2 | addr | 8 |
| BUF_SIZE | 2 | addr | 8 |
| DATA_SOURCE | 0 | buf | $0 |
| DATA_SOURCE | 2 | addr | $0 |
| DATA_SOURCE | 3 | dest | $1 |
| BIT_INFO | 3 | dest | 0x2000201022000,0x3ffb7fb7bff7f000 |
| BIT_INFO | 3 | dest | 0x2000201022000,0x3ffb7fb7bff7f000 |
| NOCHECK_CALL |
arch/x86/kernel/static_call.c text_gen_insn() -> __text_gen_insn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | buf | 4549078151600959488 |
| PARAM_VALUE | 1 | opcode | 232-233 |
| PARAM_VALUE | 2 | addr | 4096-ptr_max |
| PARAM_VALUE | 4 | size | 5 |
| BUF_SIZE | 0 | buf | 5 |
| DATA_SOURCE | 1 | opcode | $0 |
| DATA_SOURCE | 2 | addr | $1 |
| DATA_SOURCE | 3 | dest | $2 |
| HARD_MAX | 1 | opcode | 233 |
| NOCHECK_CALL | |||
| UNITS | 2 | addr | unit_byte |
| LOCK2 | global &text_mutex | ||
| HALF_LOCKED2 | global &static_call_mutex |