Defined in 1 files as a function:

Referenced in 7 files:

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