Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/vfio/pci/mlx5/main.c mlx5vf_pci_resume_device_data() -> mlx5vf_free_data_buffer()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
NOCHECK_CALL
LOCK2 &mvdev->state_mutex
TYPE_LOCK (struct mlx5vf_pci_core_device)->state_mutex

drivers/vfio/pci/mlx5/main.c mlx5vf_pci_save_device_data() -> mlx5vf_free_data_buffer()

Type Parameter Key Value
PARAM_VALUE 0 buf->migf->mvdev->mdev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 buf->migf->mvdev->mdev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 buf->migf->mvdev->mdev->pdev->bus->self->link_bwctrl->cdev 0,4096-s64max
PARAM_VALUE 0 buf->migf->mvdev->mdev_detach 0-1
BUF_SIZE 0 buf (-1),88
BUF_SIZE 0 buf (-1),88
BUF_SIZE 0 buf->migf 1040,u64max
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 buf->npages
LOCK2 &mvdev->state_mutex
TYPE_LOCK (struct mlx5vf_pci_core_device)->state_mutex

drivers/vfio/pci/mlx5/main.c mlx5vf_resume_write() -> mlx5vf_free_data_buffer()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 0 buf->migf->mvdev->mdev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 buf->migf->mvdev->mdev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 buf->migf->mvdev->mdev_detach 0-1
PARAM_VALUE 0 buf->npages 0-4294967294
CAPPED_DATA 0 buf->npages 1
NOCHECK_CALL
LOCK2 &migf->lock
LOCK2 &migf->mvdev->state_mutex
TYPE_LOCK (struct mlx5_vf_migration_file)->lock
TYPE_LOCK (struct mlx5vf_pci_core_device)->state_mutex

drivers/vfio/pci/mlx5/main.c mlx5vf_resume_write() -> mlx5vf_free_data_buffer()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 0 buf->migf->mvdev->mdev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 buf->migf->mvdev->mdev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 buf->migf->mvdev->mdev_detach 0-1
PARAM_VALUE 0 buf->npages 0-4294967294
CAPPED_DATA 0 buf->npages 1
NOCHECK_CALL
LOCK2 &migf->lock
LOCK2 &migf->mvdev->state_mutex
TYPE_LOCK (struct mlx5_vf_migration_file)->lock
TYPE_LOCK (struct mlx5vf_pci_core_device)->state_mutex

drivers/vfio/pci/mlx5/cmd.c mlx5fv_cmd_clean_migf_resources() -> mlx5vf_free_data_buffer()

Type Parameter Key Value
PARAM_VALUE 0 buf 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mvdev->state_mutex
TYPE_LOCK (struct mlx5vf_pci_core_device)->state_mutex

drivers/vfio/pci/mlx5/cmd.c mlx5fv_cmd_clean_migf_resources() -> mlx5vf_free_data_buffer()

Type Parameter Key Value
PARAM_VALUE 0 buf 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mvdev->state_mutex
TYPE_LOCK (struct mlx5vf_pci_core_device)->state_mutex

drivers/vfio/pci/mlx5/cmd.c mlx5fv_cmd_clean_migf_resources() -> mlx5vf_free_data_buffer()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 0 buf->migf->mvdev->mdev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 buf->migf->mvdev->mdev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mvdev->state_mutex
TYPE_LOCK (struct mlx5vf_pci_core_device)->state_mutex

drivers/vfio/pci/mlx5/cmd.c mlx5vf_alloc_data_buffer() -> mlx5vf_free_data_buffer()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 0 buf->dma_dir 1-3
PARAM_VALUE 0 buf->migf 4096-ptr_max
PARAM_VALUE 0 buf->migf->mvdev->mdev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 buf->migf->mvdev->mdev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 buf->migf->mvdev->mdev_detach 0-1
PARAM_VALUE 0 buf->page_list 0,16,4096-ptr_max
BUF_SIZE 0 buf 88
BUF_SIZE 0 buf->migf s32min-(-1),1-s32max
CAPPED_DATA 0 buf->dma_dir 1
DATA_SOURCE 0 buf r _kzalloc_noprof
HARD_MAX 0 buf->dma_dir 3
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 buf->npages
HALF_LOCKED2 &migf->lock
HALF_LOCKED2 &migf->mvdev->state_mutex
HALF_LOCKED2 &mvdev->state_mutex
TYPE_LOCK (struct mlx5vf_pci_core_device)->state_mutex

drivers/vfio/pci/mlx5/cmd.c mlx5vf_get_data_buffer() -> mlx5vf_free_data_buffer()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 0 buf->migf->mvdev->mdev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 buf->migf->mvdev->mdev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
NOCHECK_CALL
LOCK2 &mvdev->state_mutex
TYPE_LOCK (struct mlx5vf_pci_core_device)->state_mutex