SWDEV-374355, SWDEV-374356, SWDEV-374357, SWDEV-374358, SWDEV-374359 - Added input sanity checks to hipExternalMemoryGetMappedBuffer
Change-Id: I61e43dece3fb9bd961e92db8e015f08170327538
[ROCm/clr commit: 99d2d016c1]
Этот коммит содержится в:
@@ -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);
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user