Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 28 files:

Smatch caller information:

drivers/pci/controller/vmd.c vmd_cleanup_srcu() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mutex

net/bluetooth/hci_sysfs.c bt_host_release() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &subsys->su_mutex

kernel/rcu/rcutorture.c srcu_torture_cleanup() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 1641511847842877440
NOCHECK_CALL

drivers/net/wireless/microchip/wilc1000/cfg80211.c wlan_deinit_locks() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/clk/clk.c clk_notifier_unregister() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 clk
HALF_LOCKED2 &_dev->mutex
HALF_LOCKED2 global &component_mutex

block/blk-mq.c blk_mq_alloc_tag_set() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &devices_mutex
HALF_LOCKED2 global &lock
HALF_LOCKED2 global &ublk_ctl_mutex

block/blk-mq.c blk_mq_alloc_tag_set() -> cleanup_srcu_struct()

Type Parameter Key Value
BUF_SIZE 0 ssp 80,u64max
BUF_SIZE 0 ssp 80,u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &devices_mutex
HALF_LOCKED2 global &lock
HALF_LOCKED2 global &ublk_ctl_mutex

block/blk-mq.c blk_mq_free_tag_set() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &_d->mutex
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &devices_mutex
HALF_LOCKED2 global &lock
HALF_LOCKED2 global &mtd_table_mutex
HALF_LOCKED2 global &ublk_ctl_mutex

block/blk-mq.c blk_mq_free_tag_set() -> cleanup_srcu_struct()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &_d->mutex
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &devices_mutex
HALF_LOCKED2 global &lock
HALF_LOCKED2 global &mtd_table_mutex
HALF_LOCKED2 global &ublk_ctl_mutex

drivers/accel/qaic/qaic_drv.c free_usr() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/accel/qaic/qaic_drv.c qaic_open() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->sda 0,4096-ptr_max
PARAM_VALUE 0 ssp->srcu_ctrp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 0,4096-ptr_max
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &qdev->dev_lock
TYPE_LOCK (struct qaic_device)->dev_lock

drivers/accel/qaic/qaic_drv.c qaicm_srcu_release() -> cleanup_srcu_struct()

Type Parameter Key Value
DATA_SOURCE 0 ssp $1
STR_LEN 0 ssp (-1),28
STR_LEN 0 ssp (-1),28
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 ssp unit_byte
HALF_LOCKED2 global &component_mutex

drivers/hid/bpf/hid_bpf_dispatch.c hid_bpf_destroy_device() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &conn->lock
HALF_LOCKED2 &hdev->driver_input_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &hidp_session_sem

drivers/hwtracing/stm/core.c stm_core_exit() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 8198469295597113344
NOCHECK_CALL

drivers/nvme/host/core.c nvme_alloc_ns_head() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->sda 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_ctrp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ctrl->subsys->lock
HALF_LOCKED2 &ctrl->scan_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct nvme_subsystem)->lock

drivers/nvme/host/core.c nvme_free_ctrl() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/nvme/host/core.c nvme_free_ns_head() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ctrl->subsys->lock
HALF_LOCKED2 &disk->open_mutex

drivers/nvme/host/core.c nvme_init_ctrl() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->sda 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_ctrp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &nvmf_dev_mutex

drivers/infiniband/core/uverbs_main.c ib_uverbs_release_dev() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

arch/x86/kvm/mmu/page_track.c kvm_page_track_cleanup() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

arch/x86/kernel/cpu/sgx/encl.c sgx_encl_release() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm.c cleanup_mapped_device() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
NOCHECK_CALL

drivers/infiniband/hw/hfi1/file_ops.c hfi1_file_close() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/rcu/srcutree.c srcu_module_going() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup->sda_is_static 1
NOCHECK_CALL

net/bluetooth/hci_core.c hci_unregister_dev() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &_d->mutex
HALF_LOCKED2 &_dev->mutex
HALF_LOCKED2 &dev->mutex

kernel/rcu/rcuscale.c srcu_sync_scale_cleanup() -> cleanup_srcu_struct()

Type Parameter Key Value
NOCHECK_CALL

drivers/accel/amdxdna/amdxdna_pci_drv.c amdxdna_client_cleanup() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &xdna->client_lock
LOCK2 &xdna->dev_lock
TYPE_LOCK (struct amdxdna_dev)->client_lock
TYPE_LOCK (struct amdxdna_dev)->dev_lock

drivers/accel/amdxdna/amdxdna_pci_drv.c amdxdna_drm_open() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->sda 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_ctrp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/reset/core.c __reset_control_get_internal() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->sda 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_ctrp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock
HALF_LOCKED2 global &syscon_list_lock

drivers/reset/core.c reset_control_put_internal() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock

drivers/platform/surface/aggregator/controller.c ssam_nf_head_destroy() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/devfreq/devfreq.c devfreq_dev_release() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/i915/gt/intel_reset.c intel_gt_fini_reset() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/rcu/update.c rcu_verify_early_boot_tests() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 5229176008294924288
PARAM_VALUE 0 ssp->sda 0,4096-ptr_max
PARAM_VALUE 0 ssp->srcu_ctrp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
NOCHECK_CALL

drivers/gpio/gpiolib.c gpiochip_add_data_with_key() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->sda 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_ctrp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bank->deferred_lock
HALF_LOCKED2 &card->mutex
HALF_LOCKED2 &hdev->driver_input_lock
HALF_LOCKED2 _T->lock

drivers/gpio/gpiolib.c gpiochip_add_data_with_key() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->sda 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_ctrp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bank->deferred_lock
HALF_LOCKED2 &card->mutex
HALF_LOCKED2 &hdev->driver_input_lock
HALF_LOCKED2 _T->lock

drivers/gpio/gpiolib.c gpiodev_release() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &subsys->su_mutex

drivers/gpio/gpiolib.c gpiodev_release() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &subsys->su_mutex

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_create_vm() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->sda 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_ctrp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
NOCHECK_CALL

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_create_vm() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
NOCHECK_CALL

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_destroy_vm() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &device->dev_set->lock
HALF_LOCKED2 &dst_kvm->lock
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 global &sev_mirror_lock

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_destroy_vm() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &device->dev_set->lock
HALF_LOCKED2 &dst_kvm->lock
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 global &sev_mirror_lock

net/core/rtnetlink.c rtnl_af_unregister() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 3391400133731057680,5537685946149896208,8404486845325291536,8652570056773079056
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
NOCHECK_CALL

net/core/rtnetlink.c rtnl_link_register() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->sda 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_ctrp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
NOCHECK_CALL

net/core/rtnetlink.c rtnl_link_unregister() -> cleanup_srcu_struct()

Type Parameter Key Value
PARAM_VALUE 0 ssp 4096-ptr_max
PARAM_VALUE 0 ssp->srcu_sup 4096-ptr_max
NOCHECK_CALL