From 213b5dffd108872c540c3f6e1b1edd84da5de679 Mon Sep 17 00:00:00 2001 From: Bing Ma Date: Wed, 6 Oct 2021 15:29:55 -0700 Subject: [PATCH] SWDEV-306602 - [SANITIZER_AMDGPU] Force copyBuffer to use ROCr functions when ASAN is ON Change-Id: I04a4cdd5ab8c5543f2a0f08c139c45ac7aebe64a [ROCm/clr commit: 02f939a40d38afa71e0e514988c1caf8389b2e63] --- projects/clr/rocclr/device/rocm/rocblit.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/projects/clr/rocclr/device/rocm/rocblit.cpp b/projects/clr/rocclr/device/rocm/rocblit.cpp index a5398409ff..068570fc82 100644 --- a/projects/clr/rocclr/device/rocm/rocblit.cpp +++ b/projects/clr/rocclr/device/rocm/rocblit.cpp @@ -2056,8 +2056,15 @@ bool KernelBlitManager::copyBuffer(device::Memory& srcMemory, device::Memory& ds amd::ScopedLock k(lockXferOps_); bool result = false; bool p2p = (&gpuMem(srcMemory).dev() != &gpuMem(dstMemory).dev()); + bool asan = false; +#if defined(__clang__) +#if __has_feature(address_sanitizer) + asan = true; +#endif +#endif if (setup_.disableHwlCopyBuffer_ || - (!srcMemory.isHostMemDirectAccess() && !dstMemory.isHostMemDirectAccess() && !p2p)) { + (!srcMemory.isHostMemDirectAccess() && !dstMemory.isHostMemDirectAccess() && + !(p2p || asan))) { uint blitType = BlitCopyBuffer; size_t dim = 1; size_t globalWorkOffset[3] = {0, 0, 0};