Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 9 files:

Smatch caller information:

kernel/bpf/link_iter.c bpf_link_seq_next() -> bpf_link_put()

Type Parameter Key Value
PARAM_VALUE 0 link 1-ptr_max
DATA_SOURCE 0 link $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &seq->lock
TYPE_LOCK (struct seq_file)->lock

kernel/bpf/link_iter.c bpf_link_seq_stop() -> bpf_link_put()

Type Parameter Key Value
PARAM_VALUE 0 link 1-u64max
DATA_SOURCE 0 link $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &seq->lock
TYPE_LOCK (struct seq_file)->lock

net/bpf/bpf_dummy_struct_ops.c bpf_struct_ops_test_run() -> bpf_link_put()

Type Parameter Key Value
PARAM_VALUE 0 link 4096-ptr_max
PARAM_VALUE 0 link->id 0
PARAM_VALUE 0 link->ops 477815394481135616
PARAM_VALUE 0 link->prog 4096-ptr_max
PARAM_VALUE 0 link->refcnt.counter 1
PARAM_VALUE 0 link->type 9
NOCHECK_CALL

kernel/bpf/inode.c bpf_any_put() -> bpf_link_put()

Type Parameter Key Value
BUF_SIZE 0 link s32min-(-2),1-s32max
DATA_SOURCE 0 link $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 link unit_array_size

kernel/bpf/inode.c populate_bpffs() -> bpf_link_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &bpf_preload_lock
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 &sb->s_umount

kernel/bpf/cgroup.c get_prog_list() -> bpf_link_put()

Type Parameter Key Value
PARAM_VALUE 0 link 4096-ptr_max
BUF_SIZE 0 link s32min-(-1),1-s32max
BUF_SIZE 0 link s32min-(-1),1-s32max
CAPPED_DATA 0 link 1
DATA_SOURCE 0 link r bpf_get_anchor_link
NOCHECK_CALL
LOCK2 global &cgroup_mutex

kernel/bpf/mprog.c bpf_mprog_link() -> bpf_link_put()

Type Parameter Key Value
PARAM_VALUE 0 link 4096-ptr_max
PARAM_VALUE 0 link->prog 4096-ptr_max
BUF_SIZE 0 link s32min-(-1),1-s32max
BUF_SIZE 0 link s32min-(-1),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &rtnl_mutex

kernel/bpf/mprog.c bpf_mprog_tuple_put() -> bpf_link_put()

Type Parameter Key Value
PARAM_VALUE 0 link 4096-ptr_max
RX_PATH
NOCHECK_CALL
LOCK2 global &rtnl_mutex

kernel/bpf/trampoline.c bpf_trampoline_link_cgroup_shim() -> bpf_link_put()

Type Parameter Key Value
PARAM_VALUE 0 link 4096-ptr_max
PARAM_VALUE 0 link->attach_type 43
PARAM_VALUE 0 link->id 0
PARAM_VALUE 0 link->ops 8751191128834908160
PARAM_VALUE 0 link->prog 4096-ptr_max
PARAM_VALUE 0 link->refcnt.counter 1
PARAM_VALUE 0 link->type 0
NOCHECK_CALL
LOCK2 global &cgroup_mutex

kernel/bpf/trampoline.c bpf_trampoline_unlink_cgroup_shim() -> bpf_link_put()

Type Parameter Key Value
PARAM_VALUE 0 link 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &cgroup_mutex

kernel/bpf/bpf_struct_ops.c bpf_struct_ops_map_put_progs() -> bpf_link_put()

Type Parameter Key Value
PARAM_VALUE 0 link 1-u64max
NOCHECK_CALL
HALF_LOCKED2 &st_map->lock