[Spice-devel] [PATCH 1/3] qxl-wddm-dod: Fix unmapping of physical memory
Frediano Ziglio
fziglio at redhat.com
Fri May 26 10:53:10 UTC 2017
>
> https://bugzilla.redhat.com/show_bug.cgi?id=1454866
> Due to wrong addresses passed to class driver, it never does
> unmapping of physical memory, causing a leak of virtual address range.
> On x86 systems the device fails to start due to failure to
> map physical memory range after 10-50 cycles of disable-enable.
>
> Signed-off-by: Yuri Benditovich <yuri.benditovich at daynix.com>
> ---
> qxldod/QxlDod.cpp | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/qxldod/QxlDod.cpp b/qxldod/QxlDod.cpp
> index 2d740be..bb71f22 100755
> --- a/qxldod/QxlDod.cpp
> +++ b/qxldod/QxlDod.cpp
> @@ -3551,24 +3551,24 @@ void QxlDevice::UnmapMemory(void)
> PDXGKRNL_INTERFACE pDxgkInterface = m_pQxlDod->GetDxgkInterface();
> if (m_IoMapped && m_IoBase)
> {
> - pDxgkInterface->DxgkCbUnmapMemory( pDxgkInterface->DeviceHandle,
> &m_IoBase);
> + pDxgkInterface->DxgkCbUnmapMemory( pDxgkInterface->DeviceHandle,
> m_IoBase);
> }
> m_IoBase = NULL;
> if (m_RomHdr)
> {
> - pDxgkInterface->DxgkCbUnmapMemory( pDxgkInterface->DeviceHandle,
> &m_RomHdr);
> + pDxgkInterface->DxgkCbUnmapMemory( pDxgkInterface->DeviceHandle,
> m_RomHdr);
> m_RomHdr = NULL;
> }
>
> if (m_RamStart)
> {
> - pDxgkInterface->DxgkCbUnmapMemory( pDxgkInterface->DeviceHandle,
> &m_RamStart);
> + pDxgkInterface->DxgkCbUnmapMemory( pDxgkInterface->DeviceHandle,
> m_RamStart);
> m_RamStart = NULL;
> }
>
> if (m_VRamStart)
> {
> - pDxgkInterface->DxgkCbUnmapMemory( pDxgkInterface->DeviceHandle,
> &m_VRamStart);
> + pDxgkInterface->DxgkCbUnmapMemory( pDxgkInterface->DeviceHandle,
> m_VRamStart);
> m_VRamStart = NULL;
> }
> }
Acked the entire series
Thanks,
Frediano
More information about the Spice-devel
mailing list