Documented in 2 files:

Defined in 3 files as a function:

Referenced in 29 files:

Smatch caller information:

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

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

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

Type Parameter Key Value
PARAM_VALUE 0 old 6514998751593619456
PARAM_VALUE 1 new 7403976355894157312
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
LOCK2 global &failed_ioend_lock
HALF_LOCKED2 &pool->lock

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

Type Parameter Key Value
PARAM_VALUE 0 old 4096-5861359921339531263,5861359921339531265-ptr_max
PARAM_VALUE 0 old->next 4096-5861359921339531263,5861359921339531265-ptr_max
PARAM_VALUE 0 old->prev 4096-ptr_max
PARAM_VALUE 1 new 2826872440584892416
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

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

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &krcp->lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kfree_rcu_cpu)->lock

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

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

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

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 2911596586684182528
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &dq_list_lock
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem
HALF_LOCKED2 &sbi->quota_sem.internal_rwsem

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

Type Parameter Key Value
PARAM_VALUE 0 old 7812201255299366912
PARAM_VALUE 1 new 3049773214344822784
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 global &dq_list_lock
HALF_LOCKED2 &pool->lock

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

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 5956663666333351936
PREEMPT_ADD <- disables preempt
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 bfq_requests_merged() -> list_replace_init()

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
HALF_LOCKED2 &bfqd->lock
HALF_LOCKED2 &dd->lock
HALF_LOCKED2 irq

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

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

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

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 5861359921339531264
PREEMPT_ADD <- disables preempt
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 flush_delayed_bios() -> list_replace_init()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 1455572258813534208
PREEMPT_ADD <- disables preempt
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

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

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

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

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
HALF_LOCKED2 &pool->lock

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

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

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

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

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

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

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

Type Parameter Key Value
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 cifs_put_tcon() -> list_replace_init()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4014095972264501248
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 comp_vdev_close() -> list_replace_init()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 1018526698427453440
PREEMPT_ADD <- disables preempt
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 usb_giveback_urb_bh() -> list_replace_init()

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

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

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
PREEMPT_ADD <- disables preempt
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 __purge_vmap_area_lazy() -> list_replace_init()

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vn->lazy.lock
LOCK2 global &vmap_purge_lock
TYPE_LOCK (struct rb_list)->lock

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

Type Parameter Key Value
PARAM_VALUE 1 new 936589611657551872
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vn->pool_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &vmap_purge_lock
TYPE_LOCK (struct vmap_node)->pool_lock

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

Type Parameter Key Value
PARAM_VALUE 0 old 936589611657551872
PARAM_VALUE 0 old->next 4096-936589611657551871,936589611657551873-ptr_max
PARAM_VALUE 0 old->prev 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vn->pool_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &vmap_purge_lock
TYPE_LOCK (struct vmap_node)->pool_lock

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

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

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

Type Parameter Key Value
PARAM_VALUE 0 old 4096-ptr_max
PARAM_VALUE 1 new 8982511244058763264
DATA_SOURCE 0 old $1
PREEMPT_ADD <- disables preempt
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 vmci_transport_cleanup() -> list_replace_init()

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

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

Type Parameter Key Value
PARAM_VALUE 0 old 5331062769639686144
PARAM_VALUE 1 new 2024349297022050304
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 old 7085677968635129856
PARAM_VALUE 1 new 7712288660913766400
NOCHECK_CALL

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

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

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

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
NOCHECK_CALL

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

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

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

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