SWDEV-374355, SWDEV-374356, SWDEV-374357, SWDEV-374358, SWDEV-374359 - Added input sanity checks to hipExternalMemoryGetMappedBuffer

Change-Id: I61e43dece3fb9bd961e92db8e015f08170327538


[ROCm/clr commit: 99d2d016c1]
Этот коммит содержится в:
Ioannis Assiouras
2022-12-22 09:51:12 +00:00
родитель 376f515547
Коммит 65f79be5f7
+5 -3
Просмотреть файл
@@ -150,14 +150,16 @@ hipError_t hipExternalMemoryGetMappedBuffer(
const hipExternalMemoryBufferDesc *bufferDesc) {
HIP_INIT_API(hipExternalMemoryGetMappedBuffer, devPtr, extMem, bufferDesc);
if (extMem == nullptr) {
if (devPtr == nullptr || extMem == nullptr || bufferDesc == nullptr || bufferDesc->flags != 0) {
HIP_RETURN(hipErrorInvalidValue);
}
amd::BufferVk *buf = reinterpret_cast<amd::BufferVk*>(extMem);
const device::Memory* devMem = buf->getDeviceMemory(*hip::getCurrentDevice()->devices()[0]);
if (devMem != nullptr) {
*devPtr = reinterpret_cast<void*>(devMem->virtualAddress());
if (devMem == nullptr || ((bufferDesc->offset + bufferDesc->size) > devMem->size())) {
HIP_RETURN(hipErrorInvalidValue);
}
*devPtr = reinterpret_cast<void*>(devMem->virtualAddress() + bufferDesc->offset);
HIP_RETURN(hipSuccess);
}