Documented in 3 files:

Defined in 3 files as a function:

Referenced in 22 files:

Smatch caller information:

drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 2523220089546752000
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
RX_PATH
NOCHECK_CALL
LOCK2 &rba->lock
LOCK2 bh
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct iwl_rb_allocator)->lock

fs/iomap/ioend.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-5861359921339531263,5861359921339531265-ptr_max
PARAM_VALUE 1 new 2826872440584892416,7403976355894157312
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
NOCHECK_CALL
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &failed_ioend_lock

arch/x86/kernel/cpu/microcode/amd.c update_cache() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 1 new 4096-ptr_max
PARAM_VALUE 1 new->next 4096-ptr_max
PARAM_VALUE 1 new->prev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex

mm/slab_common.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &krcp->lock
LOCK2 flags
TYPE_LOCK (struct kfree_rcu_cpu)->lock

fs/quota/dquot.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 2911596586684182528,3049773214344822784
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &dq_list_lock

fs/afs/server_list.c afs_reattach_volume_to_servers() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &volume->cell->vs_lock
HALF_LOCKED2 &volume->volsync_lock
TYPE_LOCK (struct afs_cell)->vs_lock

drivers/acpi/mipi-disco-img.c acpi_mipi_check_crs_csi2() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 7485896282754322440
PARAM_VALUE 0 old->next 7485896282754322440
PARAM_VALUE 0 old->prev 7485896282754322440
PARAM_VALUE 1 new 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/infiniband/hw/hfi1/mad.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 5956663666333351936
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ibp->rvp.lock
LOCK2 flags
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct rvt_ibport)->lock

block/bfq-iosched.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bfqd->lock
HALF_LOCKED2 &dd->lock
HALF_LOCKED2 irq

kernel/auditfilter.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
NOCHECK_CALL
LOCK2 global &audit_filter_mutex
HALF_LOCKED2 global &selinux_state.policy_mutex

kernel/auditfilter.c update_lsm_rule() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
NOCHECK_CALL
LOCK2 global &audit_filter_mutex
HALF_LOCKED2 global &selinux_state.policy_mutex

drivers/dma-buf/dma-fence.c dma_fence_signal_timestamp_locked() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 7120584705696673792
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags

drivers/base/devres.c replace_dr() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
PARAM_VALUE 1 new->next 4096-ptr_max
PARAM_VALUE 1 new->prev 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->devres_lock
LOCK2 flags
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct device)->devres_lock

security/integrity/ima/ima_queue.c ima_queue_stage() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 5265734988611952640
PARAM_VALUE 0 old->next 0-5265734988611952639,5265734988611952641-u64max
PARAM_VALUE 1 new 4679883133192265728
PARAM_VALUE 1 new->next 4096-ptr_max
NOCHECK_CALL
LOCK2 global &ima_extend_list_mutex

security/integrity/ima/ima_queue.c ima_queue_staged_delete_all() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4679883133192265728
PARAM_VALUE 0 old->next 0-4679883133192265727,4679883133192265729-u64max
PARAM_VALUE 1 new 7970256321957076992
PARAM_VALUE 1 new->next 7970256321957076992
PARAM_VALUE 1 new->prev 7970256321957076992
NOCHECK_CALL
LOCK2 global &ima_extend_list_mutex

fs/nfs/flexfilelayout/flexfilelayoutdev.c ff_layout_add_ds_error_locked() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
PARAM_VALUE 1 new->next 4096-ptr_max
PARAM_VALUE 1 new->prev 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &flo->generic_hdr.plh_inode->i_lock
TYPE_LOCK (struct inode)->i_lock

drivers/net/wireless/intel/iwlwifi/dvm/calib.c iwl_calib_set() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 1 new 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &notif_wait->notif_wait_lock
HALF_LOCKED2 &priv->mutex
HALF_LOCKED2 bh

fs/xfs/xfs_aops.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 5861359921339531264
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &ip->i_ioend_lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct xfs_inode)->i_ioend_lock

drivers/md/dm-delay.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 1455572258813534208
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &dc->delayed_bios_lock
LOCK2 &dc->process_bios_lock
TYPE_LOCK (struct delay_c)->delayed_bios_lock
TYPE_LOCK (struct delay_c)->process_bios_lock

lib/parman.c parman_prio_item_remove() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/hid/hid-quirks.c hid_modify_dquirk() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
NOCHECK_CALL
LOCK2 global &dquirks_lock

drivers/gpu/drm/vc4/vc4_bo.c vc4_get_cache_list_for_size() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
CAPPED_DATA 0 old 1
PARAM_COMPARE 0 old != $0->next
PARAM_COMPARE 0 old != $0->next
NOCHECK_CALL
LOCK2 &vc4->bo_lock
TYPE_LOCK (struct vc4_dev)->bo_lock

fs/ext4/mballoc.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 7928476334873935872
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/ubifs/lprops.c ubifs_replace_cat() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &c->lp_mutex
HALF_LOCKED2 &c->commit_sem
HALF_LOCKED2 &c->tnc_mutex
HALF_LOCKED2 &c->umount_mutex
HALF_LOCKED2 &c->write_reserve_mutex
HALF_LOCKED2 &wbuf->io_mutex
TYPE_LOCK (struct ubifs_info)->lp_mutex

kernel/audit_watch.c audit_update_watch() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
NOCHECK_CALL
LOCK2 global &audit_filter_mutex

drivers/net/ethernet/intel/ice/ice_common.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

kernel/padata.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 1451714817621245952
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &squeue->serial.lock
LOCK2 bh
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct padata_list)->lock

net/unix/garbage.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 3474422070146826240
PARAM_VALUE 1 new 7942076193161154560
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
NOCHECK_CALL
LOCK2 global &unix_gc_lock
HALF_LOCKED2 &pool->lock

drivers/thunderbolt/property.c tb_property_merge_dir() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
NOCHECK_CALL

kernel/audit_tree.c list_replace_init() -> list_replace()

Type Parameter Key Value
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &audit_cmd_mutex.lock
LOCK2 global &audit_tree_group->mark_mutex
LOCK2 global &hash_lock
TYPE_LOCK (struct fsnotify_group)->mark_mutex

fs/smb/client/connect.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4014095972264501248
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &pserver->reconnect_mutex
HALF_LOCKED2 global &cifs_mount_mutex

drivers/staging/most/video/video.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 1018526698427453440
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mdev->list_lock
LOCK2 irq
HALF_LOCKED2 &vdev->v4l2_dev->mdev->req_queue_mutex
TYPE_LOCK (struct most_video_dev)->list_lock

drivers/usb/core/hcd.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4307367450653880320
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &bh->lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct giveback_urb_bh)->lock

drivers/counter/counter-chrdev.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &counter->events_list_lock
LOCK2 &counter->n_events_list_lock
LOCK2 &counter->ops_exist_lock
LOCK2 flags
TYPE_LOCK (struct counter_device)->events_list_lock
TYPE_LOCK (struct counter_device)->n_events_list_lock
TYPE_LOCK (struct counter_device)->ops_exist_lock

mm/vmalloc.c list_replace_init() -> list_replace()

Type Parameter Key Value
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &vn->lazy.lock
HALF_LOCKED2 &vn->pool_lock
HALF_LOCKED2 global &vmap_purge_lock

drivers/infiniband/hw/hfi1/mmu_rb.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 196112140302974976
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &handler->lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mmu_rb_handler)->lock

fs/ext4/page-io.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 8982511244058763264
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &ei->i_completed_io_lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ext4_inode_info)->i_completed_io_lock

net/vmw_vsock/vmci_transport.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 1054585017999282176
PARAM_VALUE 1 new 8815217558079905792
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
NOCHECK_CALL
LOCK2 bh
LOCK2 global &vmci_transport_cleanup_lock
HALF_LOCKED2 &pool->lock

net/core/dev.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 5331062769639686144,7085677968635129856
PARAM_VALUE 1 new 2024349297022050304,7712288660913766400
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
NOCHECK_CALL

fs/notify/mark.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 1585596479817543680
PARAM_VALUE 1 new 2915762512051171328
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
NOCHECK_CALL
LOCK2 global &destroy_lock
HALF_LOCKED2 &pool->lock

lib/tests/list-test.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 1490863827648614400
PARAM_VALUE 0 old->next 1370004502397145088
PARAM_VALUE 0 old->prev 1370004502397145088
PARAM_VALUE 1 new 5153654514548830208
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
NOCHECK_CALL

lib/tests/list-test.c list_swap() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 3256926850726219776
PARAM_VALUE 0 old->next 7408198178732396544
PARAM_VALUE 0 old->prev 4096-ptr_max
PARAM_VALUE 1 new 8301015451958800384
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
NOCHECK_CALL

lib/tests/list-test.c list_test_list_replace() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 403962695938764800
PARAM_VALUE 0 old->next 132445097268744192
PARAM_VALUE 0 old->prev 132445097268744192
PARAM_VALUE 1 new 5371678766504787968
NOCHECK_CALL

drivers/gpu/drm/i915/gt/intel_breadcrumbs.c signal_irq_work() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 8642130303297396736
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &rq->lock
TYPE_LOCK (struct i915_request)->lock

drivers/block/aoe/aoecmd.c rexmit_deferred() -> list_replace()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &d->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct aoedev)->lock

fs/exec.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
NOCHECK_CALL
LOCK2 global &tasklist_lock
LOCK2 irq

fs/nilfs2/segment.c list_replace_init() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c nfp_net_fs_add() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 1 new 4096-ptr_max
NOCHECK_CALL

mm/shuffle.c list_swap() -> list_replace()

Type Parameter Key Value
PARAM_VALUE 1 new 4096-ptr_max
DATA_SOURCE 0 old $0
DATA_SOURCE 1 new $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &z->lock
LOCK2 flags
HALF_LOCKED2 &dev->mutex
TYPE_LOCK (struct zone)->lock