diff options
| author | Deepak Kumar <dkumar@codeaurora.org> | 2017-05-08 15:29:03 +0530 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-05-23 02:56:36 -0700 |
| commit | 0e42ef24c9816c2ca81160b81af77c58abcc9bf5 (patch) | |
| tree | dcb17933822bd28eee19ef2d65c5acdc450584db /drivers/gpu | |
| parent | 60be71604a84d2e047215cb702d6324379a353bb (diff) | |
msm: kgsl: Return mementry only if pending_free is not set
Return mementry from kgsl_sharedmem_find only if pending_free
is not set for that mementry. This is necessary to avoid use
of a mementry after it is already marked for free.
Change-Id: I23111e9c82a88ccbda2ab259074c38d91f9ff5cb
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/msm/kgsl.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/msm/kgsl.c b/drivers/gpu/msm/kgsl.c index 50f55abd6db8..b2def8dea954 100644 --- a/drivers/gpu/msm/kgsl.c +++ b/drivers/gpu/msm/kgsl.c @@ -1238,7 +1238,8 @@ kgsl_sharedmem_find(struct kgsl_process_private *private, uint64_t gpuaddr) spin_lock(&private->mem_lock); idr_for_each_entry(&private->mem_idr, entry, id) { if (GPUADDR_IN_MEMDESC(gpuaddr, &entry->memdesc)) { - ret = kgsl_mem_entry_get(entry); + if (!entry->pending_free) + ret = kgsl_mem_entry_get(entry); break; } } |
