Documented in 1 files:

Defined in 1 files as a function:

Referenced in 11 files:

Smatch caller information:

drivers/xen/xen-scsiback.c scsiback_release_translation_entry() -> list_cut_before()

Type Parameter Key Value
PARAM_VALUE 0 list 6111712055552524288
PARAM_VALUE 1 head 4096-ptr_max
PARAM_VALUE 2 entry 4096-ptr_max
BUF_SIZE 1 head 16
BUF_SIZE 2 entry 16
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->reclaim_sem
LOCK2 &info->v2p_lock
LOCK2 flags
HALF_LOCKED2 &_dev->mutex
TYPE_LOCK (struct vscsibk_info)->v2p_lock
TYPE_LOCK (struct xenbus_device)->reclaim_sem

block/blk-mq-sched.c blk_mq_dispatch_hctx_list() -> list_cut_before()

Type Parameter Key Value
PARAM_VALUE 0 list 5526473915008389120
PARAM_VALUE 0 list->next 5526473915008389120
PARAM_VALUE 0 list->prev 5526473915008389120
PARAM_VALUE 1 head 983595406306848768
PARAM_VALUE 1 head->prev 4096-ptr_max
PARAM_VALUE 2 entry 4096-983595406306848767,983595406306848769-ptr_max
DATA_SOURCE 1 head $0
PARAM_COMPARE 1 head != $2
PARAM_COMPARE 2 entry != $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

drivers/net/wireless/ath/ath12k/dp_rx.c ath12k_dp_list_cut_nodes() -> list_cut_before()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PARAM_VALUE 0 list->next 4096-ptr_max
PARAM_VALUE 1 head 4096-ptr_max
CAPPED_DATA 0 list 1
CAPPED_DATA 1 head 1
DATA_SOURCE 0 list $0
DATA_SOURCE 1 head $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dp->rx_desc_lock
LOCK2 &srng->lock
LOCK2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct ath12k_dp)->rx_desc_lock
TYPE_LOCK (struct hal_srng)->lock

arch/x86/kvm/svm/sev.c sev_migrate_from() -> list_cut_before()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PARAM_VALUE 1 head 4096-ptr_max
PARAM_VALUE 2 entry 4096-ptr_max
NOCHECK_CALL
LOCK2 &dst_kvm->lock
LOCK2 &src_kvm->lock
TYPE_LOCK (struct kvm)->lock

arch/x86/kvm/svm/sev.c sev_migrate_from() -> list_cut_before()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PARAM_VALUE 1 head 4096-ptr_max
PARAM_VALUE 2 entry 4096-ptr_max
NOCHECK_CALL
LOCK2 &dst_kvm->lock
LOCK2 &src_kvm->lock
LOCK2 global &sev_mirror_lock
TYPE_LOCK (struct kvm)->lock

drivers/gpu/drm/drm_encoder.c drm_encoder_cleanup() -> list_cut_before()

Type Parameter Key Value
PARAM_VALUE 0 list 6083270758864560128
PARAM_VALUE 0 list->next 6083270758864560128
PARAM_VALUE 0 list->prev 6083270758864560128
PARAM_VALUE 1 head 4096-ptr_max
PARAM_VALUE 2 entry 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &encoder->bridge_chain_mutex
TYPE_LOCK (struct drm_encoder)->bridge_chain_mutex

mm/compaction.c move_freelist_head() -> list_cut_before()

Type Parameter Key Value
PARAM_VALUE 0 list 489354698455392256
PARAM_VALUE 0 list->next 489354698455392256
PARAM_VALUE 0 list->prev 489354698455392256
PARAM_VALUE 1 head 4096-ptr_max
BUF_SIZE 1 head 80
BUF_SIZE 1 head 80
CAPPED_DATA 1 head 1
DATA_SOURCE 1 head $0
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &cc->zone->lock
LOCK2 flags
TYPE_LOCK (struct zone)->lock

fs/smb/client/cached_dir.c cfids_laundromat_worker() -> list_cut_before()

Type Parameter Key Value
PARAM_VALUE 0 list 2650122828250251264
PARAM_VALUE 0 list->next 2650122828250251264
PARAM_VALUE 0 list->prev 2650122828250251264
PARAM_VALUE 1 head 4096-ptr_max
PARAM_VALUE 2 entry 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &cfids->cfid_list_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct cached_fids)->cfid_list_lock

drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c amdgpu_userq_fence_driver_process() -> list_cut_before()

Type Parameter Key Value
PARAM_VALUE 0 list 3659817438971543552
PARAM_VALUE 0 list->next 3659817438971543552
PARAM_VALUE 0 list->prev 3659817438971543552
PARAM_VALUE 1 head 4096-ptr_max
PARAM_VALUE 2 entry 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fence_drv->fence_list_lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &xa->xa_lock
HALF_LOCKED2 flags
TYPE_LOCK (struct amdgpu_userq_fence_driver)->fence_list_lock

mm/migrate.c migrate_pages() -> list_cut_before()

Type Parameter Key Value
PARAM_VALUE 0 list 6544803517878439936
PARAM_VALUE 1 head 4096-ptr_max
BUF_SIZE 1 head->next (-1),16
BUF_SIZE 1 head->prev (-1),16
CAPPED_DATA 1 head 1
DATA_SOURCE 1 head $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ctx->walk_control_lock
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 global &mf_mutex
HALF_LOCKED2 global &pcp_batch_high_lock

net/core/dev.c __netif_receive_skb_list() -> list_cut_before()

Type Parameter Key Value
PARAM_VALUE 0 list 2343211084967272448
PARAM_VALUE 1 head 4096-ptr_max
PARAM_VALUE 2 entry 4096-ptr_max
BUF_SIZE 1 head->prev (-1),16
CAPPED_DATA 1 head 1
DATA_SOURCE 1 head $0
PARAM_COMPARE 1 head != $2
PARAM_COMPARE 2 entry != $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 bh

lib/tests/list-test.c list_test_list_cut_before() -> list_cut_before()

Type Parameter Key Value
PARAM_VALUE 0 list 6964618310428160000
PARAM_VALUE 0 list->next 6964618310428160000
PARAM_VALUE 0 list->prev 6964618310428160000
PARAM_VALUE 1 head 6251385856746270720
PARAM_VALUE 1 head->next 6251385856746270720
PARAM_VALUE 1 head->prev 6251385856746270720,7915530752472412160,7915530752472412168,7915530752472412176
PARAM_VALUE 2 entry 7915530752472412168
BUF_SIZE 2 entry 32
NOCHECK_CALL