drm/amdkfd: validate pdd where it acquired first
Currently pdd is validate after dereferencing it, which is not correct, Thus validate pdd before its first use. Signed-off-by: Maninder Singh <maninder1.s@samsung.com> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
This commit is contained in:
parent
d770e558e2
commit
a0f67441b0
1 changed files with 7 additions and 2 deletions
|
@ -420,6 +420,12 @@ void kfd_unbind_process_from_device(struct kfd_dev *dev, unsigned int pasid)
|
||||||
pqm_uninit(&p->pqm);
|
pqm_uninit(&p->pqm);
|
||||||
|
|
||||||
pdd = kfd_get_process_device_data(dev, p);
|
pdd = kfd_get_process_device_data(dev, p);
|
||||||
|
|
||||||
|
if (!pdd) {
|
||||||
|
mutex_unlock(&p->mutex);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (pdd->reset_wavefronts) {
|
if (pdd->reset_wavefronts) {
|
||||||
dbgdev_wave_reset_wavefronts(pdd->dev, p);
|
dbgdev_wave_reset_wavefronts(pdd->dev, p);
|
||||||
pdd->reset_wavefronts = false;
|
pdd->reset_wavefronts = false;
|
||||||
|
@ -431,7 +437,6 @@ void kfd_unbind_process_from_device(struct kfd_dev *dev, unsigned int pasid)
|
||||||
* We don't call amd_iommu_unbind_pasid() here
|
* We don't call amd_iommu_unbind_pasid() here
|
||||||
* because the IOMMU called us.
|
* because the IOMMU called us.
|
||||||
*/
|
*/
|
||||||
if (pdd)
|
|
||||||
pdd->bound = false;
|
pdd->bound = false;
|
||||||
|
|
||||||
mutex_unlock(&p->mutex);
|
mutex_unlock(&p->mutex);
|
||||||
|
|
Loading…
Add table
Reference in a new issue