Defined in 2 files as a prototype:

Defined in 1 files as a function:

Referenced in 57 files:

Smatch caller information:

mm/kfence/kfence_test.c test_use_after_free_read_nofault() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 8662833698403655680
PARAM_VALUE 2 size 1
BUF_SIZE 1 src (-1)-s32max
DATA_SOURCE 1 src r test_alloc

arch/x86/kernel/dumpstack.c copy_code() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 7836598759326162944
PARAM_VALUE 2 size 64
BUF_SIZE 0 dst 64
DATA_SOURCE 0 dst $1
DATA_SOURCE 1 src $2
DATA_SOURCE 2 size $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte

kernel/trace/trace_fprobe.c fetch_store_strlen() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 6089354998117367808
PARAM_VALUE 0 *dst 0-255
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 1 *src 0-255
PARAM_VALUE 2 size 1
UNITS 1 src unit_byte
HALF_LOCKED2 rcu_read

kernel/trace/trace_fprobe.c probe_mem_read() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 1 src 4096-ptr_max
BUF_SIZE 0 dst (-1),8
BUF_SIZE 0 dst (-1),8
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 src $1
DATA_SOURCE 2 size $2
UNITS 0 dst unit_byte
UNITS 1 src unit_byte
UNITS 2 size unit_byte
HALF_LOCKED2 rcu_read

kernel/trace/trace_fprobe.c regs_get_kernel_stack_nth() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 8569109266832830464
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
DATA_SOURCE 1 src r regs_get_kernel_stack_nth_addr
UNITS 2 size unit_byte
HALF_LOCKED2 rcu_read

kernel/kthread.c kthread_probe_data() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 1428342183044788224
PARAM_VALUE 0 *dst 0
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
BUF_SIZE 1 src 8
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 size unit_byte
HALF_LOCKED2 flags

kernel/bpf/bpf_iter.c copy_from_bpfptr_offset() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 5086374328987889664
PARAM_VALUE 2 size 0-16
BUF_SIZE 0 dst 16
BUF_SIZE 0 dst 16
CAPPED_DATA 2 size 1
CAPPED_DATA 2 size 1
DATA_SOURCE 0 dst $0
DATA_SOURCE 2 size $3
NO_OVERFLOW_SIMPLE 2 size
UNITS 2 size unit_byte

arch/x86/kernel/cpu/mce/severity.c is_copy_from_user() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 7735347884987183104
PARAM_VALUE 2 size 15
BUF_SIZE 0 dst 15
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags

kernel/debug/kdb/kdb_main.c kdb_ps1() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 7052539393048231936
PARAM_VALUE 1 src 1-u64max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
DATA_SOURCE 1 src $0
STR_LEN 0 dst (-1),1
STR_LEN 1 src (-1),1
UNITS 1 src unit_byte
UNITS 2 size unit_byte
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 dst 6238130013958598656
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
BUF_SIZE 1 src 8
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte
HALF_LOCKED2 &inode->i_lock
HALF_LOCKED2 &sb->s_inode_list_lock
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 dst 601921767664168960
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 2
BUF_SIZE 0 dst 2
BUF_SIZE 1 src 2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte
USER_PTR 1 src
HALF_LOCKED2 &inode->i_lock
HALF_LOCKED2 &sb->s_inode_list_lock
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 dst 605415969494417408
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 1 *src 0-u16max
PARAM_VALUE 2 size 2
BUF_SIZE 0 dst 2
BUF_SIZE 1 src 2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte
HALF_LOCKED2 &inode->i_lock
HALF_LOCKED2 &sb->s_inode_list_lock
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 dst 5879880103115677696
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 4
BUF_SIZE 0 dst 4
BUF_SIZE 1 src 4
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte
HALF_LOCKED2 &inode->i_lock
HALF_LOCKED2 &sb->s_inode_list_lock
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 dst 8827039748345958400
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
BUF_SIZE 1 src 8
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte
HALF_LOCKED2 &inode->i_lock
HALF_LOCKED2 &sb->s_inode_list_lock
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 dst 650272769507307520
PARAM_VALUE 1 src 1-u64max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
BUF_SIZE 1 src 8
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte
HALF_LOCKED2 &inode->i_lock
HALF_LOCKED2 &sb->s_inode_list_lock
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 dst 4285752973113622528
PARAM_VALUE 1 src 1-u64max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
BUF_SIZE 1 src 8
UNITS 2 size unit_byte

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

Type Parameter Key Value
PARAM_VALUE 0 dst 681676315716177920
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
BUF_SIZE 1 src 8
UNITS 2 size unit_byte

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

Type Parameter Key Value
PARAM_VALUE 0 dst 7026939128100687872
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
BUF_SIZE 1 src 8
UNITS 2 size unit_byte

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

Type Parameter Key Value
PARAM_VALUE 0 dst 3451044410287173632
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
BUF_SIZE 1 src 8
UNITS 2 size unit_byte

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

Type Parameter Key Value
PARAM_VALUE 0 dst 5549860588966146048
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 328
BUF_SIZE 0 dst 328
UNITS 2 size unit_byte

arch/x86/mm/fault.c bad_address() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 3115540967037710336
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
DATA_SOURCE 1 src $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte
LOCK2 flags

arch/x86/mm/fault.c check_prefetch_opcode() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 2 size 1
DATA_SOURCE 1 src $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte

arch/x86/mm/fault.c is_prefetch() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 7359919684260954112
PARAM_VALUE 1 src 0-18446744073709547519
PARAM_VALUE 2 size 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte

arch/x86/mm/fault.c show_ldttss() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 799163658012454912
PARAM_VALUE 2 size 16
BUF_SIZE 0 dst 16
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 src unit_byte
UNITS 2 size unit_byte
LOCK2 flags

kernel/bpf/syscall.c copy_from_bpfptr_offset() -> copy_from_kernel_nofault()

Type Parameter Key Value
BUF_SIZE 0 dst (-1),24,32,168
BUF_SIZE 0 dst (-1),24,32,168
DATA_SOURCE 0 dst $0
DATA_SOURCE 2 size $3
PARAM_COMPARE 0 dst == $2
USER_DATA 2 size 0-167[c]
UNITS 2 size unit_byte
BYTE_COUNT 0 ==dst2 8050

kernel/debug/debug_core.c kgdb_arch_set_breakpoint() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 1 src 0-3556549974045937663,6432617772963328000-u64max
PARAM_VALUE 2 size 1
BUF_SIZE 0 dst 1
UNITS 1 src unit_byte
HALF_LOCKED2 rcu_read

arch/x86/kernel/kprobes/core.c __copy_instruction() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 1 src 1-u64max
PARAM_VALUE 2 size 15
BUF_SIZE 0 dst (-1),15
BUF_SIZE 1 src (-1),15
BUF_SIZE 1 src (-1),15
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 src r recover_probed_instruction
LOCK2 _T->lock
HALF_LOCKED2 global &fei_lock
HALF_LOCKED2 global &jump_label_mutex

arch/x86/kernel/kprobes/core.c __recover_probed_insn() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 4844206805785776128,5196641187005349888,8916573648655982592
PARAM_VALUE 2 size 15
BUF_SIZE 0 dst 15
CAPPED_DATA 1 src 1
CAPPED_DATA 1 src 1
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 src $1
UNITS 1 src unit_byte
LOCK2 _T->lock
HALF_LOCKED2 global &fei_lock
HALF_LOCKED2 global &jump_label_mutex

arch/x86/kernel/kgdb.c kgdb_arch_set_breakpoint() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 1 src 0-3556549974045937663,6432617772963328000-u64max
PARAM_VALUE 2 size 1
BUF_SIZE 0 dst 1
UNITS 1 src unit_byte
HALF_LOCKED2 rcu_read

fs/d_path.c prepend_copy() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 2 size 0-s32max,18446744071562067968-u64max
BUF_SIZE 1 src s32min-(-1),1-s32max
BUF_SIZE 1 src s32min-(-1),1-s32max
CAPPED_DATA 2 size 1
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 src $1
DATA_SOURCE 2 size $2
NOSPEC 0 dst
NOSPEC 2 size
NOSPEC 2 size
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 size 0-4096[c]
UNITS 0 dst unit_byte
UNITS 1 src unit_byte
UNITS 2 size unit_byte
HALF_LOCKED2 rcu_read

arch/x86/kernel/traps.c get_kernel_gp_address() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 3855593192085209088
PARAM_VALUE 2 size 15
BUF_SIZE 0 dst 15
PREEMPT_ADD

kernel/debug/gdbstub.c kgdb_mem2hex() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 2 size 0-s32max,18446744071562067968-u64max
BUF_SIZE 1 src (-1),16,31,160
DATA_SOURCE 1 src $0
DATA_SOURCE 2 size $2
STR_LEN 0 dst (-1)-30
PARAM_COMPARE 0 dst > $2
PARAM_COMPARE 2 size < $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

arch/x86/coco/sev/vc-handle.c vc_fetch_insn_kernel() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 3848120782719176704
PARAM_VALUE 2 size 15
BUF_SIZE 0 dst 15
DATA_SOURCE 0 dst $1
PREEMPT_ADD

kernel/trace/trace_events_synth.c fetch_store_strlen() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 986552144537935872
PARAM_VALUE 0 *dst 0-255
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 1 *src 0-255
PARAM_VALUE 2 size 1
PREEMPT_ADD

arch/x86/kernel/probe_roms.c find_oprom() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 1617045942557892608
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 2
BUF_SIZE 0 dst 2
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte
HALF_LOCKED2 &pdev->dev.mutex
HALF_LOCKED2 &pool->lock

arch/x86/kernel/probe_roms.c find_oprom() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 7892234977063215104
PARAM_VALUE 2 size 2
BUF_SIZE 0 dst 2
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte
HALF_LOCKED2 &pdev->dev.mutex
HALF_LOCKED2 &pool->lock

arch/x86/kernel/probe_roms.c find_oprom() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 6238322458649247744
PARAM_VALUE 2 size 2
BUF_SIZE 0 dst 2
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte
HALF_LOCKED2 &pdev->dev.mutex
HALF_LOCKED2 &pool->lock

arch/x86/kernel/probe_roms.c find_oprom() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 913070855812603904
PARAM_VALUE 2 size 2
BUF_SIZE 0 dst 2
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte
HALF_LOCKED2 &pdev->dev.mutex
HALF_LOCKED2 &pool->lock

arch/x86/kernel/probe_roms.c find_oprom() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 1456103805899345920
PARAM_VALUE 2 size 2
BUF_SIZE 0 dst 2
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte
HALF_LOCKED2 &pdev->dev.mutex
HALF_LOCKED2 &pool->lock

arch/x86/kernel/probe_roms.c probe_list() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 696469507060944896
PARAM_VALUE 0 *dst 0-u16max
PARAM_VALUE 2 size 2
BUF_SIZE 0 dst 2
DATA_SOURCE 1 src $2 [m]
RX_PATH
TASK_NOT_RUNNING
UNITS 2 size unit_byte
HALF_LOCKED2 &pdev->dev.mutex
HALF_LOCKED2 &pool->lock

arch/x86/kernel/probe_roms.c probe_roms() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 3936000223180279808
PARAM_VALUE 1 src 18379471554276491266,18446612682070818818
PARAM_VALUE 2 size 1
UNITS 2 size unit_byte
LOCK2 irq

arch/x86/kernel/probe_roms.c probe_roms() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 3936000223180279808
PARAM_VALUE 2 size 1
UNITS 2 size unit_byte
LOCK2 irq

arch/x86/kernel/probe_roms.c romchecksum() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 5127498746077147136
PARAM_VALUE 2 size 1
UNITS 2 size unit_byte
LOCK2 irq

arch/x86/kernel/probe_roms.c romchecksum() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 5127498746077147136
PARAM_VALUE 2 size 1
UNITS 2 size unit_byte
LOCK2 irq

arch/x86/kernel/probe_roms.c romsignature() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 3317119978328625152
PARAM_VALUE 2 size 2
BUF_SIZE 0 dst 2
DATA_SOURCE 1 src $0
UNITS 2 size unit_byte
LOCK2 irq

lib/test_lockup.c test_kernel_ptr() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 5726127345198338048
PARAM_VALUE 1 src 1-u64max
PARAM_VALUE 2 size 1
DATA_SOURCE 1 src $0
UNITS 2 size unit_byte

lib/test_lockup.c test_kernel_ptr() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 5726127345198338048
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 1
UNITS 1 src unit_byte
UNITS 2 size unit_byte

lib/test_lockup.c test_magic() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 1056839372540473344
PARAM_VALUE 0 *dst 0
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 4
BUF_SIZE 0 dst 4
UNITS 2 size unit_byte

arch/x86/xen/enlighten_pv.c set_aliased_prot() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 3825805083550228480
PARAM_VALUE 2 size 1
DATA_SOURCE 1 src $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

kernel/trace/trace_probe.c regs_get_kernel_stack_nth() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 1521538823462662144
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
DATA_SOURCE 1 src r regs_get_kernel_stack_nth_addr
UNITS 2 size unit_byte

arch/x86/kernel/ftrace.c addr_from_call() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 3328912121703198720
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 5
BUF_SIZE 0 dst 5
DATA_SOURCE 1 src $0
RX_PATH
TASK_NOT_RUNNING
UNITS 1 src unit_byte
LOCK2 &m->lock
TYPE_LOCK (struct seq_file)->lock

arch/x86/kernel/ftrace.c create_trampoline() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
PARAM_VALUE 1 src 1006226613209919488,6704573172849111040
PARAM_VALUE 2 size 1881537098489593856,2128908986754379776,7579883658128785408,7827255546393571328
DATA_SOURCE 0 dst r alloc_tramp
BIT_INFO 1 src 0xd0245c60248f000,0x5dfffdc743ebf000
BIT_INFO 1 src 0xd0245c60248f000,0x5dfffdc743ebf000
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &ftrace_lock

arch/x86/kernel/ftrace.c create_trampoline() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 *dst 117
PARAM_VALUE 1 src 102
PARAM_VALUE 1 *src 0-255
PARAM_VALUE 2 size 2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &ftrace_lock

arch/x86/kernel/ftrace.c ftrace_verify_code() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 2208961659634692096
PARAM_VALUE 2 size 5
BUF_SIZE 0 dst 5
DATA_SOURCE 1 src $0
RX_PATH
TASK_NOT_RUNNING
UNITS 1 src unit_byte

arch/x86/coco/tdx/tdx.c handle_mmio() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 4831557632270970880
PARAM_VALUE 2 size 15
BUF_SIZE 0 dst 15

kernel/debug/kdb/kdb_support.c kdb_getarea_size() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 310548685075320832,941268650110021632,3069772278672703488,5340520870643761152,6873939359489830912,7603438255413309440
PARAM_VALUE 2 size 1-2,4,8
BUF_SIZE 0 dst (-1),2,4,8
BUF_SIZE 0 dst (-1),2,4,8
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 src $1
DATA_SOURCE 2 size $2
STR_LEN 0 dst (-1),1
STR_LEN 0 dst (-1),1
STR_LEN 1 src (-1),1
STR_LEN 1 src (-1),1
HARD_MAX 2 size 8
UNITS 1 src unit_byte
UNITS 2 size unit_byte
HALF_LOCKED2 rcu_read

kernel/debug/kdb/kdb_support.c kdb_task_state_char() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 293986741029130240
PARAM_VALUE 1 src 1-u64max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
DATA_SOURCE 1 src $0
STR_LEN 0 dst (-1),1,3
STR_LEN 1 src (-1),1,3
UNITS 2 size unit_byte
HALF_LOCKED2 rcu_read

kernel/trace/trace.c regs_get_kernel_stack_nth() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 2861076649053634560
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
DATA_SOURCE 1 src r regs_get_kernel_stack_nth_addr
PREEMPT_ADD
RX_PATH
UNITS 2 size unit_byte
HALF_LOCKED2 flags

kernel/bpf/btf.c btf_show_obj_safe() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 2 size 0-32,18446744071562067968-u64max
BUF_SIZE 0 dst 32
BUF_SIZE 1 src (-1)-s32max
BUF_SIZE 1 src (-1)-s32max
DATA_SOURCE 1 src $2
RX_PATH
TASK_NOT_RUNNING

kernel/bpf/btf.c copy_from_bpfptr_offset() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 16,4096-ptr_max
PARAM_VALUE 2 size 0-16777216
BUF_SIZE 0 dst 0-16777216
BUF_SIZE 0 dst 0-16777216
DATA_SOURCE 0 dst $0
DATA_SOURCE 2 size $3
FUZZY_MAX 2 size 16777216
PARAM_COMPARE 0 dst == $2
UNITS 2 size unit_byte
BYTE_COUNT 0 ==dst2 8050

arch/x86/kernel/kprobes/opt.c __recover_optprobed_insn() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 4844206805785776128,5196641187005349888,8916573648655982592
PARAM_VALUE 2 size 15
BUF_SIZE 0 dst 15
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 src $1
UNITS 1 src unit_byte
LOCK2 _T->lock
HALF_LOCKED2 global &fei_lock
HALF_LOCKED2 global &jump_label_mutex

kernel/trace/ftrace.c print_ip_ins() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 418189270568239104
PARAM_VALUE 2 size 5
BUF_SIZE 0 dst 5
DATA_SOURCE 1 src $1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 src unit_byte
HALF_LOCKED2 global &ftrace_lock

kernel/bpf/check_btf.c copy_from_bpfptr_offset() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 2 size 8,16
BUF_SIZE 0 dst (-1),16
BUF_SIZE 0 dst (-1),16
DATA_SOURCE 0 dst $0
DATA_SOURCE 2 size $3
HARD_MAX 2 size 16
UNITS 2 size unit_byte

kernel/bpf/verifier.c copy_from_bpfptr_offset() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 16,4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 1-8192
BUF_SIZE 0 dst 1-8192
BUF_SIZE 0 dst 1-8192
DATA_SOURCE 0 dst $0
DATA_SOURCE 2 size $3
FUZZY_MAX 2 size 8192
PARAM_COMPARE 0 dst >= $2
UNITS 2 size unit_byte
BYTE_COUNT 0 ==dst2 8050

kernel/trace/trace_functions_graph.c regs_get_kernel_stack_nth() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 7954735604255354880
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
DATA_SOURCE 1 src r regs_get_kernel_stack_nth_addr
RX_PATH
UNITS 2 size unit_byte

kernel/trace/bpf_trace.c ____bpf_d_path() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 292262068155486208
PARAM_VALUE 2 size 16
BUF_SIZE 0 dst 16
DATA_SOURCE 1 src $0
UNITS 2 size unit_byte

kernel/trace/bpf_trace.c bpf_probe_read_kernel_common() -> copy_from_kernel_nofault()

Type Parameter Key Value
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 src $2
DATA_SOURCE 2 size $1

kernel/trace/bpf_trace.c copy_kernel_data_nofault() -> copy_from_kernel_nofault()

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

drivers/misc/kgdbts.c run_plant_and_detach_test() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 3821647669502902272
PARAM_VALUE 1 src 7062703687440138240
PARAM_VALUE 2 size 1
BUF_SIZE 0 dst 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/misc/kgdbts.c run_plant_and_detach_test() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 1620982487317348352
PARAM_VALUE 1 src 7062703687440138240
PARAM_VALUE 2 size 1
BUF_SIZE 0 dst 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/proc/kcore.c read_kcore_iter() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 2 size 0-4096
BUF_SIZE 0 dst s32min-(-2),1-s32max
CAPPED_DATA 2 size 1
CAPPED_DATA 2 size 1
FUZZY_MAX 2 size 4096
NOSPEC 2 size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 size 0-4096[c]
UNITS 1 src unit_byte
UNITS 2 size unit_byte
LOCK2 global &page_offline_rwsem
HALF_LOCKED2 &pool->lock

kernel/workqueue.c print_worker_info() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 2404808440617394176
PARAM_VALUE 0 *dst 0
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
BUF_SIZE 1 src 8
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 size unit_byte
HALF_LOCKED2 flags

kernel/workqueue.c print_worker_info() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 2158094169785810944
PARAM_VALUE 0 *dst 0
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
BUF_SIZE 1 src 8
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 size unit_byte
HALF_LOCKED2 flags

kernel/workqueue.c print_worker_info() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 7659098042574266368
PARAM_VALUE 0 *dst 0
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
BUF_SIZE 1 src 8
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 size unit_byte
HALF_LOCKED2 flags

kernel/workqueue.c print_worker_info() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 5539336159611367424
PARAM_VALUE 2 size 31
BUF_SIZE 0 dst 32
BUF_SIZE 1 src 32
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 size unit_byte
HALF_LOCKED2 flags

kernel/workqueue.c print_worker_info() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 7317472181384417280
PARAM_VALUE 2 size 31
BUF_SIZE 0 dst 32
BUF_SIZE 1 src 32
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 size unit_byte
HALF_LOCKED2 flags

drivers/char/mem.c read_mem() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 1-4096
BUF_SIZE 0 dst 4096
CAPPED_DATA 2 size 1
DATA_SOURCE 0 dst r _kmalloc_noprof
DATA_SOURCE 1 src r xlate_dev_mem_ptr
DATA_SOURCE 2 size r size_inside_page
NOSPEC 2 size
NOSPEC 2 size
USER_DATA 1 src 4096-ptr_max[c][u]
USER_DATA 2 size 1-4096[c]

kernel/bpf/helpers.c bpf_bprintf_prepare() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 947075450990309376
PARAM_VALUE 2 size 4,16
BUF_SIZE 0 dst 16
CAPPED_DATA 2 size 1
CAPPED_DATA 2 size 1
FUZZY_MAX 2 size 16
BIT_INFO 2 size 0x0,0x14
BIT_INFO 2 size 0x0,0x14
HARD_MAX 2 size 16
UNITS 2 size unit_byte

kernel/bpf/helpers.c bpf_probe_read_kernel_common() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 1-u64max
PARAM_VALUE 1 src 1-u64max
PARAM_VALUE 2 size 1-4088
BUF_SIZE 0 dst (-1),8
BUF_SIZE 0 dst (-1),8
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 src $2
DATA_SOURCE 2 size $1
UNITS 2 size unit_byte

kernel/trace/trace_eprobe.c fetch_store_strlen() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 2930013215443558400
PARAM_VALUE 0 *dst 0-255
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 1 *src 0-255
PARAM_VALUE 2 size 1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 src unit_byte

kernel/trace/trace_eprobe.c probe_mem_read() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 1 src 4096-ptr_max
BUF_SIZE 0 dst (-1),8
BUF_SIZE 0 dst (-1),8
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 src $1
DATA_SOURCE 2 size $2
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dst unit_byte
UNITS 1 src unit_byte
UNITS 2 size unit_byte

kernel/trace/trace_kprobe.c fetch_store_strlen() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 7735871832606732288
PARAM_VALUE 0 *dst 0-255
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 1 *src 0-255
PARAM_VALUE 2 size 1
UNITS 1 src unit_byte

kernel/trace/trace_kprobe.c probe_mem_read() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 1 src 4096-ptr_max
BUF_SIZE 0 dst (-1),8
BUF_SIZE 0 dst (-1),8
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 src $1
DATA_SOURCE 2 size $2
UNITS 0 dst unit_byte
UNITS 1 src unit_byte
UNITS 2 size unit_byte

kernel/trace/trace_kprobe.c regs_get_kernel_stack_nth() -> copy_from_kernel_nofault()

Type Parameter Key Value
PARAM_VALUE 0 dst 9135109149522190336
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 size 8
BUF_SIZE 0 dst 8
DATA_SOURCE 1 src r regs_get_kernel_stack_nth_addr
UNITS 2 size unit_byte