hv: fix MISRA-C violations in dm/vpci

120D: Pointer param should be declared pointer to const.
  Add 'const' qualifier to function parameters whenever it's possible:
    alloc_pci_vdev()
    enumerate_pci_dev()
    pci_scan_bus()
    pci_enumeration_cb()
    partition_mode_vpci_init()
    partition_mode_vpci_deinit()
    sharing_mode_vpci_init()
    sharing_mode_vpci_deinit()
    vpci_cleanup()

45D: Pointer not checked for null before use.
  Check pointer vm in vpci_reset_ptdev_intr_info() before using it.

Tracked-On: #861
Signed-off-by: Zide Chen <zide.chen@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
This commit is contained in:
Zide Chen
2019-01-10 09:15:02 -08:00
committed by wenlingz
parent 4cfc259792
commit 12211fb67b
6 changed files with 22 additions and 19 deletions

View File

@@ -49,10 +49,10 @@ static struct pci_vdev *partition_mode_find_vdev(struct acrn_vpci *vpci, union p
return NULL;
}
static int32_t partition_mode_vpci_init(struct acrn_vm *vm)
static int32_t partition_mode_vpci_init(const struct acrn_vm *vm)
{
struct vpci_vdev_array *vdev_array;
struct acrn_vpci *vpci = &vm->vpci;
const struct acrn_vpci *vpci = &vm->vpci;
struct pci_vdev *vdev;
int32_t i;
@@ -73,7 +73,7 @@ static int32_t partition_mode_vpci_init(struct acrn_vm *vm)
return 0;
}
static void partition_mode_vpci_deinit(struct acrn_vm *vm)
static void partition_mode_vpci_deinit(const struct acrn_vm *vm)
{
struct vpci_vdev_array *vdev_array;
struct pci_vdev *vdev;

View File

@@ -102,7 +102,7 @@ static void sharing_mode_cfgwrite(__unused struct acrn_vpci *vpci, union pci_bdf
}
}
static struct pci_vdev *alloc_pci_vdev(struct acrn_vm *vm, union pci_bdf bdf)
static struct pci_vdev *alloc_pci_vdev(const struct acrn_vm *vm, union pci_bdf bdf)
{
struct pci_vdev *vdev;
@@ -121,9 +121,9 @@ static struct pci_vdev *alloc_pci_vdev(struct acrn_vm *vm, union pci_bdf bdf)
return vdev;
}
static void enumerate_pci_dev(uint16_t pbdf, void *cb_data)
static void enumerate_pci_dev(uint16_t pbdf, const void *cb_data)
{
struct acrn_vm *vm = (struct acrn_vm *)cb_data;
const struct acrn_vm *vm = (const struct acrn_vm *)cb_data;
struct pci_vdev *vdev;
vdev = alloc_pci_vdev(vm, (union pci_bdf)pbdf);
@@ -132,7 +132,7 @@ static void enumerate_pci_dev(uint16_t pbdf, void *cb_data)
}
}
static int32_t sharing_mode_vpci_init(struct acrn_vm *vm)
static int32_t sharing_mode_vpci_init(const struct acrn_vm *vm)
{
struct pci_vdev *vdev;
uint32_t i, j;
@@ -150,7 +150,7 @@ static int32_t sharing_mode_vpci_init(struct acrn_vm *vm)
(void)memset((void *)sharing_mode_vdev_array, 0U, sizeof(sharing_mode_vdev_array));
/* build up vdev array for vm0 */
pci_scan_bus(enumerate_pci_dev, (void *)vm);
pci_scan_bus(enumerate_pci_dev, vm);
for (i = 0U; i < num_pci_vdev; i++) {
vdev = &sharing_mode_vdev_array[i];
@@ -166,7 +166,7 @@ static int32_t sharing_mode_vpci_init(struct acrn_vm *vm)
return ret;
}
static void sharing_mode_vpci_deinit(__unused struct acrn_vm *vm)
static void sharing_mode_vpci_deinit(__unused const struct acrn_vm *vm)
{
struct pci_vdev *vdev;
uint32_t i, j;
@@ -229,7 +229,10 @@ void vpci_reset_ptdev_intr_info(const struct acrn_vm *target_vm, uint16_t vbdf,
/* Return this PCI device to SOS */
if (vdev->vpci->vm == target_vm) {
vm = get_vm_from_vmid(0U);
vdev->vpci = &vm->vpci;
if (vm != NULL) {
vdev->vpci = &vm->vpci;
}
}
}
}

View File

@@ -137,9 +137,9 @@ void vpci_init(struct acrn_vm *vm)
}
}
void vpci_cleanup(struct acrn_vm *vm)
void vpci_cleanup(const struct acrn_vm *vm)
{
struct acrn_vpci *vpci = &vm->vpci;
const struct acrn_vpci *vpci = &vm->vpci;
if ((vpci->ops != NULL) && (vpci->ops->deinit != NULL)) {
vpci->ops->deinit(vm);