From a4c135ec8acaaf04a6c463adc3dcc626f6e809bb Mon Sep 17 00:00:00 2001 From: Sarbojit Sarkar Date: Wed, 8 Jul 2020 00:04:55 -0400 Subject: [PATCH] host pointer check [SWDEV-243104, SWDEV-243206] Change-Id: Id58dabfe5c35e5f8e42d224e700a431a4a97d003 [ROCm/clr commit: 9ba3732180e27cc0d304e777f15b0834af90deb8] --- projects/clr/hipamd/rocclr/hip_memory.cpp | 15 +++++---------- .../hipamd/tests/src/texture/hipTexObjPitch.cpp | 4 ++-- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/projects/clr/hipamd/rocclr/hip_memory.cpp b/projects/clr/hipamd/rocclr/hip_memory.cpp index f0dfc716ac..553b59a77c 100755 --- a/projects/clr/hipamd/rocclr/hip_memory.cpp +++ b/projects/clr/hipamd/rocclr/hip_memory.cpp @@ -1688,9 +1688,8 @@ hipError_t ihipMemset(void* dst, int64_t value, size_t valueSize, size_t sizeByt amd::Memory* memory = getMemoryObject(dst, offset); if (memory == nullptr) { - // Host alloced memory - memset(dst, value, sizeBytes); - return hipSuccess; + // dst ptr is host ptr hence error + return hipErrorInvalidValue; } hipError_t hip_error = hipSuccess; @@ -1820,7 +1819,8 @@ hipError_t ihipMemset3D(hipPitchedPtr pitchedDevPtr, amd::Coord3D origin(offset); amd::Coord3D region(pitchedDevPtr.xsize, pitchedDevPtr.ysize, extent.depth); amd::BufferRect rect; - if (!rect.create(static_cast(origin), static_cast(region), pitchedDevPtr.pitch, 0)) { + if (pitchedDevPtr.pitch == 0 || + !rect.create(static_cast(origin), static_cast(region), pitchedDevPtr.pitch, 0)) { return hipErrorInvalidValue; } @@ -1851,12 +1851,7 @@ hipError_t ihipMemset3D(hipPitchedPtr pitchedDevPtr, command->release(); } } else { - for (size_t slice = 0; slice < extent.depth; slice++) { - for (size_t row = 0; row < extent.height; row++) { - const size_t rowOffset = rect.offset(0, row, slice); - std::memset(pitchedDevPtr.ptr, value, extent.width); - } - } + return hipErrorInvalidValue; } return hipSuccess; diff --git a/projects/clr/hipamd/tests/src/texture/hipTexObjPitch.cpp b/projects/clr/hipamd/tests/src/texture/hipTexObjPitch.cpp index b11e7408ae..31a688d211 100644 --- a/projects/clr/hipamd/tests/src/texture/hipTexObjPitch.cpp +++ b/projects/clr/hipamd/tests/src/texture/hipTexObjPitch.cpp @@ -57,7 +57,7 @@ void texture2Dtest() // Use the texture object hipResourceDesc texRes; - hipMemset(&texRes, 0, sizeof(texRes)); + memset(&texRes, 0, sizeof(texRes)); texRes.resType = hipResourceTypePitch2D; texRes.res.pitch2D.devPtr = devPtrA; texRes.res.pitch2D.height = SIZE_H; @@ -66,7 +66,7 @@ void texture2Dtest() texRes.res.pitch2D.desc = hipCreateChannelDesc(); hipTextureDesc texDescr; - hipMemset(&texDescr, 0, sizeof(texDescr)); + memset(&texDescr, 0, sizeof(texDescr)); texDescr.normalizedCoords = false; texDescr.filterMode = hipFilterModePoint; texDescr.mipmapFilterMode = hipFilterModePoint;