Documented in 1 files:

Defined in 1 files as a function:

Referenced in 32 files:

Smatch caller information:

kernel/locking/percpu-rwsem.c __percpu_down_read_trylock() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/rcu/refscale.c ref_scale_reader() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 8072273236233388032

kernel/rcu/refscale.c ref_scale_reader() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 8072273236233388032
PARAM_VALUE 0 v->counter s32min-(-1),1-s32max

kernel/rcu/refscale.c ref_scale_reader() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 8853764910519361536

kernel/rcu/refscale.c ref_scale_reader() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 8853764910519361536
PARAM_VALUE 0 v->counter s32min-(-1),1-s32max

kernel/rcu/refscale.c ref_scale_reader() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 6992018844925083648

kernel/rcu/refscale.c ref_scale_reader() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 6992018844925083648
PARAM_VALUE 0 v->counter s32min-(-1),1-s32max

kernel/rcu/tree.c ct_rcu_watching_cpu_acquire() -> atomic_read_acquire()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rnp->lock
HALF_LOCKED2 flags

kernel/rcu/tree.c rcu_sr_normal_gp_cleanup() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 257930615975178432

fs/file.c __fget_light() -> atomic_read_acquire()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/scftorture.c scftorture_invoker() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 863137273583484928

kernel/scftorture.c scftorture_invoker() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 863137273583484928
PARAM_VALUE 0 v->counter s32min-(-1),1-s32max

kernel/power/swap.c compress_threadfn() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max

kernel/power/swap.c compress_threadfn() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter 0
TASK_NOT_RUNNING

kernel/power/swap.c compress_threadfn() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter 0
TASK_NOT_RUNNING

kernel/power/swap.c crc32_threadfn() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max

kernel/power/swap.c crc32_threadfn() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter 0
TASK_NOT_RUNNING

kernel/power/swap.c crc32_threadfn() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter 0
TASK_NOT_RUNNING

kernel/power/swap.c decompress_threadfn() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max

kernel/power/swap.c decompress_threadfn() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter 0
TASK_NOT_RUNNING

kernel/power/swap.c decompress_threadfn() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter 0
TASK_NOT_RUNNING

kernel/power/swap.c load_compressed_image() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex

kernel/power/swap.c load_compressed_image() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex

kernel/power/swap.c load_compressed_image() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex

kernel/power/swap.c load_compressed_image() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex

kernel/power/swap.c load_compressed_image() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex

kernel/power/swap.c load_compressed_image() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex

kernel/power/swap.c load_compressed_image() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex

kernel/power/swap.c load_compressed_image() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex

kernel/power/swap.c load_compressed_image() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex

kernel/power/swap.c save_compressed_image() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &autosleep_lock

kernel/power/swap.c save_compressed_image() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &autosleep_lock

kernel/power/swap.c save_compressed_image() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &autosleep_lock

kernel/power/swap.c save_compressed_image() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &autosleep_lock

kernel/power/swap.c save_compressed_image() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &autosleep_lock

kernel/power/swap.c save_compressed_image() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &autosleep_lock

drivers/gpu/drm/vmwgfx/vmwgfx_fence.c vmw_fence_obj_signaled_ioctl() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max

drivers/net/ethernet/google/gve/gve_tx_dqo.c gve_free_pending_packet() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tx->dqo_tx.xdp_lock

drivers/net/ethernet/google/gve/gve_tx_dqo.c gve_free_tx_qpl_bufs() -> atomic_read_acquire()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/google/gve/gve_tx_dqo.c gve_has_free_tx_qpl_bufs() -> atomic_read_acquire()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tx->dqo_tx.xdp_lock
HALF_LOCKED2 bh

drivers/net/ethernet/google/gve/gve_tx_dqo.c gve_has_pending_packet() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tx->dqo_tx.xdp_lock
HALF_LOCKED2 bh

drivers/net/ethernet/google/gve/gve_tx_dqo.c gve_has_tx_slots_available() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tx->dqo_tx.xdp_lock

drivers/net/ethernet/google/gve/gve_tx_dqo.c gve_xsk_reorder_queue_head() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/wireguard/send.c wg_packet_tx_worker() -> atomic_read_acquire()

Type Parameter Key Value
HALF_LOCKED2 &pool->lock

drivers/net/wireguard/send.c wg_packet_tx_worker() -> atomic_read_acquire()

Type Parameter Key Value
HALF_LOCKED2 &pool->lock

drivers/net/wireguard/receive.c wg_packet_rx_poll() -> atomic_read_acquire()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/wireguard/receive.c wg_packet_rx_poll() -> atomic_read_acquire()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

kernel/sched/build_policy.c rto_next_cpu() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rd->rto_lock
TYPE_LOCK (struct root_domain)->rto_lock

drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c gmc_v8_0_process_interrupt() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

arch/x86/kvm/mmu/mmu.c call_once() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
LOCK2 &vcpu->mutex
TYPE_LOCK (struct kvm_vcpu)->mutex

kernel/bpf/rqspinlock.c is_lock_released() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags
HALF_LOCKED2 irq_flags

drivers/misc/bcm-vk/bcm_vk_msg.c bcm_vk_drv_access_ok() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 v->counter 1

lib/test_objpool.c ot_bulk_async() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
PARAM_VALUE 0 v->counter 0
RX_PATH
TASK_NOT_RUNNING

lib/test_objpool.c ot_fini_async_rcu() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

lib/test_objpool.c ot_hrtimer_handler() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

lib/test_objpool.c ot_thread_worker() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max

arch/x86/kvm/lapic.c kvm_recalculate_apic_map() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
HALF_LOCKED2 &vcpu->mutex

kernel/time/timer_migration.c tmigr_inactive_up() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/dma-buf/dma-fence-array.c dma_fence_array_signaled() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 132,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &adev->reset_domain->sem
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &cli->lock
HALF_LOCKED2 &fctx->lock
HALF_LOCKED2 &fence_drv->fence_list_lock
HALF_LOCKED2 &id_mgr->lock
HALF_LOCKED2 &irq->lock
HALF_LOCKED2 &man->eviction_lock
HALF_LOCKED2 &obj->lock
HALF_LOCKED2 &p->adev->notifier_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &s->lock
HALF_LOCKED2 &sched->job_list_lock
HALF_LOCKED2 &sched->lock
HALF_LOCKED2 &ttm_bo->base._resv
HALF_LOCKED2 &v3d->sched_lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &drm_unplug_srcu
HALF_LOCKED2 global &sync_timeline_list_lock
HALF_LOCKED2 irq
HALF_LOCKED2 obj->base.resv

drivers/media/cec/core/cec-pin.c cec_pin_thread_func() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
TASK_NOT_RUNNING

drivers/media/cec/core/cec-pin.c cec_pin_thread_func() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
TASK_NOT_RUNNING

drivers/media/cec/core/cec-pin.c cec_pin_update() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

kernel/trace/trace.c wait_on_pipe() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

kernel/trace/trace.c wait_pipe_cond() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

kernel/futex/requeue.c futex_requeue_pi_complete() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH

kernel/futex/requeue.c futex_requeue_pi_prepare() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH

kernel/futex/requeue.c futex_requeue_pi_wakeup_sync() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 6287657923781144700
RX_PATH

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c amdgpu_amdkfd_gpuvm_get_vm_fault_info() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
HALF_LOCKED2 &pool->lock

kernel/trace/ring_buffer.c rb_wait_once() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

kernel/trace/ring_buffer.c ring_buffer_wait() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c gmc_v7_0_process_interrupt() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/gpu/drm/vmwgfx/vmwgfx_irq.c vmw_seqno_passed() -> atomic_read_acquire()

Type Parameter Key Value
PARAM_VALUE 0 v 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 v->counter s32min-s32max
HALF_LOCKED2 &dev_priv->cmdbuf_mutex
HALF_LOCKED2 &fifo_state->rwsem