diff --git a/projects/clr/hipamd/src/hip_vm.cpp b/projects/clr/hipamd/src/hip_vm.cpp index 249f224ede..d68dc2501c 100644 --- a/projects/clr/hipamd/src/hip_vm.cpp +++ b/projects/clr/hipamd/src/hip_vm.cpp @@ -305,6 +305,9 @@ hipError_t hipMemUnmap(void* ptr, size_t size) { } amd::Memory* va = amd::MemObjMap::FindMemObj(ptr); + if (va && va->getSize() != size) { + HIP_RETURN(hipErrorInvalidValue); + } auto& queue = *g_devices[va->getUserData().deviceId]->NullStream(); amd::Command* cmd = new amd::VirtualMapCommand(queue, amd::Command::EventWaitList{}, ptr, size, @@ -320,4 +323,4 @@ hipError_t hipMemUnmap(void* ptr, size_t size) { ga->release(); HIP_RETURN(hipSuccess); -} \ No newline at end of file +}