SWDEV-508435 - Added a fix for double free of hsaImageObject

Change-Id: I9397f7c9dbbad7c249b359155df312cb920eba6c
Этот коммит содержится в:
Ioannis Assiouras
2025-02-05 22:21:24 +00:00
родитель 3e01da3dac
Коммит d05ecea253
2 изменённых файлов: 3 добавлений и 1 удалений
+2 -1
Просмотреть файл
@@ -1252,6 +1252,7 @@ bool Image::create(bool alloc_local) {
permission_ = orgImage->permission_;
deviceMemory_ = orgImage->deviceMemory_;
hsaImageObject_ = orgImage->hsaImageObject_;
ownsHsaImageObject_ = false;
return true;
}
@@ -1490,7 +1491,7 @@ void Image::destroy() {
delete copyImageBuffer_;
if (hsaImageObject_.handle != 0) {
if (hsaImageObject_.handle != 0 && ownsHsaImageObject_) {
hsa_status_t status = hsa_ext_image_destroy(dev().getBackendDevice(), hsaImageObject_);
assert(status == HSA_STATUS_SUCCESS);
}
+1
Просмотреть файл
@@ -250,6 +250,7 @@ class Image : public roc::Memory {
hsa_access_permission_t permission_;
hsa_ext_image_data_info_t deviceImageInfo_;
hsa_ext_image_t hsaImageObject_;
bool ownsHsaImageObject_ = true;
void* originalDeviceMemory_;
amd::Image* copyImageBuffer_ = nullptr;