Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

kernel/rcu/refscale.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

mm/memcontrol.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &percpu_charge_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &cgroup_mutex

net/kcm/kcmsock.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

net/netfilter/xt_bpf.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &table->lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/packet/af_packet.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

net/core/bpf_sk_storage.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/bpf/bpf_iter.c __migrate_enable() -> ___migrate_enable()

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

net/core/sock_reuseport.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &head->lock

net/core/skmsg.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

net/core/filter.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &conn->lock

fs/erofs/zutil.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
HALF_LOCKED2 &gbuf->lock

kernel/bpf/syscall.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

kernel/trace/trace_osnoise.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/clients/drm_log.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &up->lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &console_mutex
HALF_LOCKED2 global &target_list_lock

drivers/vhost/net.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

mm/kasan/kasan_test_c.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

crypto/testmgr.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
HALF_LOCKED2 global &once_lock

drivers/scsi/storvsc_drv.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sdev->state_mutex

net/ipv6/inet6_hashtables.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

net/bpf/test_run.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 rcu_read

net/netfilter/nf_bpf_link.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 rcu_read

net/core/lwt_bpf.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 rcu_read

kernel/bpf/cgroup.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 sk

kernel/rcu/srcutree.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
HALF_LOCKED2 rcu_read

kernel/time/timer_migration.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq

net/ipv4/inet_hashtables.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

arch/x86/kvm/svm/svm.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

kernel/trace/trace.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

kernel/bpf/bpf_inode_storage.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

kernel/trace/trace_uprobe.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ucb->mutex

net/core/flow_dissector.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 rcu_read

drivers/net/tun.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

drivers/media/rc/bpf-lirc.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 global &ir_raw_handler_lock
LOCK2 rcu_read

kernel/trace/ring_buffer.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &buffer->mutex
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct trace_buffer)->mutex

net/ipv6/seg6_local.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 bh

kernel/bpf/trampoline.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

io_uring/bpf_filter.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ctx->uring_lock
LOCK2 rcu_read
HALF_LOCKED2 &sqd->lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

kernel/trace/bpf_trace.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 rcu_read

net/core/dev.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 bh

arch/x86/kvm/vmx/vmx.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

kernel/bpf/hashtab.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
HALF_LOCKED2 rcu_read

kernel/bpf/helpers.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/sched/core.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

kernel/seccomp.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

kernel/trace/rv/monitors/wip/wip.c __migrate_enable() -> ___migrate_enable()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL