Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

net/core/bpf_sk_storage.c bpf_sk_storage_clone() -> rcu_read_unlock_migrate()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &newsk->sk_lock.slock
HALF_LOCKED2 &sk->sk_lock.slock
HALF_LOCKED2 sk

net/core/bpf_sk_storage.c bpf_sk_storage_free() -> rcu_read_unlock_migrate()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

kernel/bpf/bpf_iter.c bpf_iter_run_prog() -> rcu_read_unlock_migrate()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &seq->lock
TYPE_LOCK (struct seq_file)->lock

net/bpf/test_run.c bpf_test_timer_leave() -> rcu_read_unlock_migrate()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 rcu_read

kernel/bpf/cgroup.c bpf_prog_run_array_cg() -> rcu_read_unlock_migrate()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 sk

kernel/bpf/bpf_inode_storage.c bpf_inode_storage_free() -> rcu_read_unlock_migrate()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 rcu_read

kernel/bpf/trampoline.c __bpf_prog_exit() -> rcu_read_unlock_migrate()

Type Parameter Key Value
NOCHECK_CALL

kernel/bpf/trampoline.c __bpf_prog_exit_lsm_cgroup() -> rcu_read_unlock_migrate()

Type Parameter Key Value
NOCHECK_CALL

kernel/bpf/trampoline.c __bpf_prog_exit_recur() -> rcu_read_unlock_migrate()

Type Parameter Key Value
NOCHECK_CALL

kernel/trace/bpf_trace.c __bpf_trace_run() -> rcu_read_unlock_migrate()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 rcu_read