Documented in 2 files:
Defined in 3 files as a function:
- include/linux/list.h, line 295 (as a function)
- scripts/include/list.h, line 153 (as a function)
- tools/include/linux/list.h, line 132 (as a function)
Referenced in 29 files:
- block/bfq-iosched.c, line 2577
- drivers/counter/counter-chrdev.c, line 204
- drivers/infiniband/hw/hfi1/mad.c, line 91
- drivers/infiniband/hw/hfi1/mmu_rb.c, line 303
- drivers/md/dm-delay.c, line 97
- drivers/net/ethernet/intel/ice/ice_common.c, line 5779
- drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c, line 526
- drivers/staging/most/video/video.c, line 137
- drivers/usb/core/hcd.c, line 1682
- fs/exec.c, line 1015
- fs/ext4/mballoc.c, line 4028
- fs/ext4/page-io.c, line 274
- fs/iomap/ioend.c
- fs/nilfs2/segment.c, line 1591
- fs/notify/mark.c, line 1169
- fs/quota/dquot.c
- fs/smb/client/connect.c, line 2633
- fs/xfs/xfs_aops.c, line 209
- kernel/audit_tree.c, line 315
- kernel/auditfilter.c, line 1434
- kernel/padata.c, line 330
- lib/tests/list-test.c, line 118
- mm/slab_common.c
- mm/vmalloc.c
- net/core/dev.c
- net/unix/garbage.c
- net/vmw_vsock/vmci_transport.c, line 1632
- scripts/gendwarfksyms/types.c, line 145
- tools/perf/builtin-sched.c
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 |