KFunc bpf_copy_from_user_str_dynptr
Sleepable, copies user-space string into a dynptr for the current task
Definition
Signature
int bpf_copy_from_user_str_dynptr(struct bpf_dynptr *dptr, u32 off, u32 size, const void *unsafe_ptr__ign)
Note
This function may sleep, and therefore can only be used from sleepable programs.
Usage
This kfunc can be used to probe a string from kernel memory directly into a dynptr buffer. The max size of which can be dynamic (not known at verification time).
Program types
The following program types can make use of this kfunc:
BPF_PROG_TYPE_CGROUP_DEVICE
v6.12 -BPF_PROG_TYPE_CGROUP_SKB
BPF_PROG_TYPE_CGROUP_SOCK
v6.12 -BPF_PROG_TYPE_CGROUP_SOCKOPT
v6.12 -BPF_PROG_TYPE_CGROUP_SOCK_ADDR
v6.7 -BPF_PROG_TYPE_CGROUP_SYSCTL
v6.12 -BPF_PROG_TYPE_LSM
BPF_PROG_TYPE_LWT_IN
BPF_PROG_TYPE_LWT_OUT
BPF_PROG_TYPE_LWT_SEG6LOCAL
BPF_PROG_TYPE_LWT_XMIT
BPF_PROG_TYPE_NETFILTER
BPF_PROG_TYPE_PERF_EVENT
v6.12 -BPF_PROG_TYPE_SCHED_ACT
BPF_PROG_TYPE_SCHED_CLS
BPF_PROG_TYPE_SK_SKB
BPF_PROG_TYPE_SOCKET_FILTER
BPF_PROG_TYPE_SOCK_OPS
v6.15 -BPF_PROG_TYPE_STRUCT_OPS
BPF_PROG_TYPE_SYSCALL
BPF_PROG_TYPE_TRACEPOINT
v6.12 -BPF_PROG_TYPE_TRACING
BPF_PROG_TYPE_XDP
Example
Docs could be improved
This part of the docs is incomplete, contributions are very welcome