From 043271a3e64de294391f436266044ab76c41183b Mon Sep 17 00:00:00 2001 From: Ioannis Assiouras Date: Wed, 9 Oct 2024 11:34:41 +0100 Subject: [PATCH] SWDEV-490323 - Fix validateMemAccess in hipMemset Changed the validation to occur on the sub-object rather than the parent. Change-Id: I87bf5ef3526d0db9304099ef9ac1a5494e9a01a9 [ROCm/clr commit: 5da72f9d524420c43fe3eee44b11ac875d884e0f] --- projects/clr/hipamd/src/hip_memory.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/projects/clr/hipamd/src/hip_memory.cpp b/projects/clr/hipamd/src/hip_memory.cpp index e41d6ed686..58133d981c 100644 --- a/projects/clr/hipamd/src/hip_memory.cpp +++ b/projects/clr/hipamd/src/hip_memory.cpp @@ -3279,16 +3279,16 @@ hipError_t ihipMemset_validate(void* dst, int64_t value, size_t valueSize, return hipErrorInvalidValue; } - // In case of vmm sub object, validate using parents vaddr mem object. - if (memory->parent() && (memory->getMemFlags() & CL_MEM_VA_RANGE_AMD)) { - memory = memory->parent(); - } - // Validate Mem Access in case of VMM Memory if (!memory->ValidateMemAccess(*hip::getCurrentDevice()->devices()[0], true)) { return hipErrorUnknown; } + // In case of vmm sub object, validate using parents vaddr mem object. + if (memory->parent() && (memory->getMemFlags() & CL_MEM_VA_RANGE_AMD)) { + memory = memory->parent(); + } + // Return error if sizeBytes passed to memcpy is more than the actual size allocated if (sizeBytes > (memory->getSize() - offset)){ return hipErrorInvalidValue;