Documented in 1 files:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

fs/btrfs/volumes.c btrfs_setup_sprout() -> list_splice_init_rcu()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PARAM_VALUE 1 head 4096-ptr_max
PARAM_VALUE 1 head->next 4096-ptr_max
PARAM_VALUE 1 head->prev 4096-ptr_max
CAPABLE 0 21
NOCHECK_CALL
LOCK2 &fs_devices->device_list_mutex
LOCK2 &sb->s_umount
LOCK2 global &uuid_mutex
TYPE_LOCK (struct btrfs_fs_devices)->device_list_mutex
TYPE_LOCK (struct super_block)->s_umount

security/apparmor/policy.c __replace_profile() -> list_splice_init_rcu()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PARAM_VALUE 1 head 6206253876125040640
PARAM_VALUE 1 head->next 6206253876125040640
PARAM_VALUE 1 head->prev 6206253876125040640
NOCHECK_CALL
HALF_LOCKED2 &ns->lock

drivers/nvme/host/core.c nvme_remove_namespaces() -> list_splice_init_rcu()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PARAM_VALUE 1 head 7958091142290444288
PARAM_VALUE 1 head->next 7958091142290444288
PARAM_VALUE 1 head->prev 7958091142290444288
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ctrl->namespaces_lock
HALF_LOCKED2 &_dev->mutex
TYPE_LOCK (struct nvme_ctrl)->namespaces_lock

security/smack/smackfs.c smk_list_swap_rcu() -> list_splice_init_rcu()

Type Parameter Key Value
PARAM_VALUE 0 list 4791337678281478144
PARAM_VALUE 0 list->next 4096-ptr_max
PARAM_VALUE 0 list->prev 4791337678281478144
PARAM_VALUE 1 head 6210610660268568576
PARAM_VALUE 1 head->next 4096-ptr_max
DATA_SOURCE 0 list $1
DATA_SOURCE 1 head $0
PARAM_COMPARE 1 head == $1->next
PARAM_COMPARE 1 head == $1->next
NOCHECK_CALL
LOCK2 global &smack_onlycap_lock