From 017603703b1a5a4b9e2457e3bf521d89dfbcb2af Mon Sep 17 00:00:00 2001 From: Sarbojit Sarkar Date: Fri, 7 Jan 2022 09:41:24 +0000 Subject: [PATCH] SWDEV-313905 - Fix segfault Change-Id: I7b7bbe80a169014b5d4a8de134351b9f8bf11735 --- hipamd/src/hip_module.cpp | 4 ++++ hipamd/src/hip_stream.cpp | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/hipamd/src/hip_module.cpp b/hipamd/src/hip_module.cpp index e28e33a3ce..6de77c328d 100644 --- a/hipamd/src/hip_module.cpp +++ b/hipamd/src/hip_module.cpp @@ -518,6 +518,10 @@ hipError_t hipLaunchCooperativeKernel(const void* f, HIP_INIT_API(hipLaunchCooperativeKernel, f, gridDim, blockDim, sharedMemBytes, hStream); + if (!hip::isValid(hStream)) { + HIP_RETURN(hipErrorInvalidValue); + } + hipFunction_t func = nullptr; int deviceId = hip::Stream::DeviceId(hStream); HIP_RETURN_ONFAIL(PlatformState::instance().getStatFunc(&func, f, deviceId)); diff --git a/hipamd/src/hip_stream.cpp b/hipamd/src/hip_stream.cpp index f74b4c0999..678af44fc5 100644 --- a/hipamd/src/hip_stream.cpp +++ b/hipamd/src/hip_stream.cpp @@ -169,7 +169,7 @@ int Stream::DeviceId(const hipStream_t hStream) { //return invalid device id return -1; } - hip::Stream* s = reinterpret_cast(hStream); + hip::Stream* s = reinterpret_cast(inputStream); int deviceId = (s != nullptr)? s->DeviceId() : ihipGetDevice(); assert(deviceId >= 0 && deviceId < static_cast(g_devices.size())); return deviceId;