Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

kernel/trace/trace_output.c print_fields() -> strncpy_from_kernel_nofault()

Type Parameter Key Value
BUF_SIZE 0 dst 1-s32max
DATA_SOURCE 1 unsafe_addr r trace_adjust_address
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &iter->mutex
HALF_LOCKED2 flags

kernel/trace/trace_fprobe.c fetch_store_string() -> strncpy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 0-ptr_max
PARAM_VALUE 2 count 1-u16max
DATA_SOURCE 0 dst r get_loc_data
DATA_SOURCE 1 unsafe_addr $0
UNITS 1 unsafe_addr unit_byte
HALF_LOCKED2 rcu_read

fs/inode.c dump_inode() -> strncpy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 2901881601590353920
PARAM_VALUE 1 unsafe_addr 1-u64max
PARAM_VALUE 2 count 31
BUF_SIZE 0 dst 32
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 count unit_byte
HALF_LOCKED2 &inode->i_lock
HALF_LOCKED2 &sb->s_inode_list_lock
HALF_LOCKED2 rcu_read

fs/inode.c dump_mapping() -> strncpy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 5527175072845451264
PARAM_VALUE 1 unsafe_addr 1-u64max
PARAM_VALUE 2 count 63
BUF_SIZE 0 dst 64
BUF_SIZE 1 unsafe_addr s32min-(-2),1-s32max
UNITS 1 unsafe_addr unit_byte

kernel/trace/trace_events_filter.c test_string() -> strncpy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 2 count 1024
BUF_SIZE 0 dst 1024
BUF_SIZE 0 dst 1024
DATA_SOURCE 1 unsafe_addr $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &event_mutex

kernel/bpf/syscall.c strncpy_from_bpfptr() -> strncpy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 6972248444984299520
PARAM_VALUE 2 count 127
BUF_SIZE 0 dst 128
BUF_SIZE 0 dst 128
DATA_SOURCE 0 dst $0
DATA_SOURCE 2 count $2
UNITS 2 count unit_byte

kernel/trace/trace_events_synth.c fetch_store_string() -> strncpy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 2 count 1-u16max
DATA_SOURCE 0 dst r get_loc_data
DATA_SOURCE 1 unsafe_addr $0
STR_LEN 0 dst (-1),10
STR_LEN 1 unsafe_addr (-1),10
PREEMPT_ADD

kernel/trace/trace_events_synth.c trace_string() -> strncpy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 2 count 256
BUF_SIZE 0 dst 8
BUF_SIZE 0 dst 8
DATA_SOURCE 1 unsafe_addr $2
STR_LEN 0 dst (-1),10
PREEMPT_ADD

kernel/trace/bpf_trace.c bpf_probe_read_kernel_str_common() -> strncpy_from_kernel_nofault()

Type Parameter Key Value
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 unsafe_addr $2
DATA_SOURCE 2 count $1

kernel/trace/bpf_trace.c copy_kernel_str_nofault() -> strncpy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
BUF_SIZE 0 dst (-1),256
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 unsafe_addr $1
DATA_SOURCE 2 count $2
UNITS 2 count unit_byte

kernel/bpf/helpers.c bpf_trace_copy_string() -> strncpy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
BUF_SIZE 0 dst (-1)-0,512
BUF_SIZE 0 dst (-1)-0,512
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 unsafe_addr $1
DATA_SOURCE 2 count $3
TERMINATED 0 dst 1
UNITS 0 dst unit_byte
UNITS 2 count unit_byte

kernel/trace/trace_eprobe.c fetch_store_string() -> strncpy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 0-ptr_max
PARAM_VALUE 2 count 1-u16max
DATA_SOURCE 0 dst r get_loc_data
DATA_SOURCE 1 unsafe_addr $0
RX_PATH
TASK_NOT_RUNNING
UNITS 1 unsafe_addr unit_byte

kernel/trace/trace_kprobe.c fetch_store_string() -> strncpy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 0-ptr_max
PARAM_VALUE 2 count 1-u16max
DATA_SOURCE 0 dst r get_loc_data
DATA_SOURCE 1 unsafe_addr $0
UNITS 1 unsafe_addr unit_byte