SWDEV-385050 - Fixed possible invalid queue access from kernelCommand::releaseResources

Change-Id: I7c5d99987cb7ab4fa0aa634f2bb6a4d60331b3af


[ROCm/clr commit: 2e9f6fb49b]
This commit is contained in:
Ioannis Assiouras
2023-02-23 16:38:32 +00:00
orang tua ac593a9dca
melakukan 1ad1fccdfa
3 mengubah file dengan 3 tambahan dan 3 penghapusan
+1 -1
Melihat File
@@ -441,7 +441,7 @@ NDRangeKernelCommand::NDRangeKernelCommand(HostQueue& queue, const EventWaitList
}
void NDRangeKernelCommand::releaseResources() {
kernel_.parameters().release(parameters_, queue()->device());
kernel_.parameters().release(parameters_);
DEBUG_ONLY(parameters_ = NULL);
kernel_.release();
Command::releaseResources();
+1 -1
Melihat File
@@ -253,7 +253,7 @@ bool KernelParameters::boundToSvmPointer(const Device& device, const_address cap
return svmBound[index];
}
void KernelParameters::release(address mem, const amd::Device& device) const {
void KernelParameters::release(address mem) const {
if (mem == nullptr) {
// nothing to do!
return;
+1 -1
Melihat File
@@ -215,7 +215,7 @@ class KernelParameters : protected HeapObject {
//! Capture the state of the parameters and return the stack base pointer.
address capture(device::VirtualDevice& vDev, uint64_t lclMemSize, int32_t* error);
//! Release the captured state of the parameters.
void release(address parameters, const amd::Device& device) const;
void release(address parameters) const;
//! Allocate memory for this instance as well as the required storage for
// the values_, defined_, and rawPointer_ arrays.