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

Change-Id: I9397f7c9dbbad7c249b359155df312cb920eba6c
Šī revīzija ir iekļauta:
Ioannis Assiouras
2025-02-05 22:21:24 +00:00
vecāks 3e01da3dac
revīzija d05ecea253
2 mainīti faili ar 3 papildinājumiem un 1 dzēšanām
+2 -1
Parādīt failu
@@ -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
Parādīt failu
@@ -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;