From 641d0b9d6fb2dfb5dfa451e925e9fb620929a95b Mon Sep 17 00:00:00 2001 From: Sarbojit Sarkar Date: Mon, 20 Dec 2021 15:05:51 +0000 Subject: [PATCH] SWDEV-315545 - Fix for hipMemsetAsync crash Change-Id: I39ad0dacf4357aa6f9d0c6cf92a6a7d14bd219c0 [ROCm/clr commit: c4f6037ae80d3da29d9b5b6f2d8153c44542100c] --- projects/clr/hipamd/src/hip_memory.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/projects/clr/hipamd/src/hip_memory.cpp b/projects/clr/hipamd/src/hip_memory.cpp index 5e30be0a06..3eb4fb17cc 100644 --- a/projects/clr/hipamd/src/hip_memory.cpp +++ b/projects/clr/hipamd/src/hip_memory.cpp @@ -2258,12 +2258,18 @@ hipError_t packFillMemoryCommand(amd::Command*& command, amd::Memory* memory, si amd::Coord3D fillSize(sizeBytes, 1, 1); // surface=[pitch, width, height] amd::Coord3D surface(sizeBytes, sizeBytes, 1); - command = + amd::FillMemoryCommand* fillMemCommand = new amd::FillMemoryCommand(*queue, CL_COMMAND_FILL_BUFFER, waitList, *memory->asBuffer(), &value, valueSize, fillOffset, fillSize, surface); - if (command == nullptr) { + if (fillMemCommand == nullptr) { return hipErrorOutOfMemory; } + + if (!fillMemCommand->validatePeerMemory()) { + delete fillMemCommand; + return hipErrorInvalidValue; + } + command = fillMemCommand; return hipSuccess; }