Commit 99b4cb71 authored by John Snow's avatar John Snow
Browse files

ahci: Do not unmap NULL addresses



Definitely don't try to unmap a garbage address.

Reported-by: default avatarZuozhi fzz <zuozhi.fzz@alibaba-inc.com>
Signed-off-by: default avatarJohn Snow <jsnow@redhat.com>
Message-id: 1454103689-13042-2-git-send-email-jsnow@redhat.com
parent c691320f
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -662,6 +662,10 @@ static bool ahci_map_fis_address(AHCIDevice *ad)

static void ahci_unmap_fis_address(AHCIDevice *ad)
{
    if (ad->res_fis == NULL) {
        DPRINTF(ad->port_no, "Attempt to unmap NULL FIS address\n");
        return;
    }
    dma_memory_unmap(ad->hba->as, ad->res_fis, 256,
                     DMA_DIRECTION_FROM_DEVICE, 256);
    ad->res_fis = NULL;
@@ -678,6 +682,10 @@ static bool ahci_map_clb_address(AHCIDevice *ad)

static void ahci_unmap_clb_address(AHCIDevice *ad)
{
    if (ad->lst == NULL) {
        DPRINTF(ad->port_no, "Attempt to unmap NULL CLB address\n");
        return;
    }
    dma_memory_unmap(ad->hba->as, ad->lst, 1024,
                     DMA_DIRECTION_FROM_DEVICE, 1024);
    ad->lst = NULL;