vdpa/ifc/base: fix null pointer dereference

Fix null pointer dereference reported in coverity scan.

Coverity issue: 378882
Fixes: 5d75517beffe ("vdpa/ifc/base: access block device registers")

Signed-off-by: Andy Pei <andy.pei@intel.com>
Acked-by: Xiao Wang <xiao.w.wang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
This commit is contained in:
Andy Pei 2022-06-15 14:23:34 +08:00 committed by Maxime Coquelin
parent 4cc4f3ee12
commit 4a8ca6590d

View File

@ -255,6 +255,10 @@ ifcvf_hw_disable(struct ifcvf_hw *hw)
u32 ring_state;
cfg = hw->common_cfg;
if (!cfg) {
DEBUGOUT("common_cfg in HW is NULL.\n");
return;
}
IFCVF_WRITE_REG16(IFCVF_MSI_NO_VECTOR, &cfg->msix_config);
for (i = 0; i < hw->nr_vring; i++) {
@ -262,6 +266,11 @@ ifcvf_hw_disable(struct ifcvf_hw *hw)
IFCVF_WRITE_REG16(0, &cfg->queue_enable);
IFCVF_WRITE_REG16(IFCVF_MSI_NO_VECTOR, &cfg->queue_msix_vector);
if (!hw->lm_cfg) {
DEBUGOUT("live migration cfg in HW is NULL.\n");
continue;
}
if (hw->device_type == IFCVF_BLK)
ring_state = *(u32 *)(hw->lm_cfg +
IFCVF_LM_RING_STATE_OFFSET +