diff --git a/rocclr/device/pal/paldevice.cpp b/rocclr/device/pal/paldevice.cpp index 7eb59d64b0..c7ab6ccf3a 100644 --- a/rocclr/device/pal/paldevice.cpp +++ b/rocclr/device/pal/paldevice.cpp @@ -2262,6 +2262,11 @@ void* Device::virtualAlloc(void* addr, size_t size, size_t alignment) void Device::virtualFree(void* addr) { + amd::Memory* svmMem = amd::MemObjMap::FindMemObj(addr); + if (nullptr != svmMem && (svmMem->getMemFlags() & CL_MEM_VA_RANGE_AMD)) { + svmMem->release(); + amd::MemObjMap::RemoveMemObj(addr); + } } void Device::virtualMap(void* addr, amd::Memory& mem, size_t size)