mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 05:39:54 -04:00
msm: kgsl: Make sure that pool pages don't have any extra references
Before putting a page back in the pool be sure that it doesn't have any additional references that would be a signal that somebody else is looking at the page and that it would be a bad idea to keep it around and run the risk of accidentally handing it to a different process. Change-Id: Ic0dedbad0cf2ffb34b76ad23e393c5a911114b82 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
This commit is contained in:
parent
49eff519b8
commit
d014ef6064
1 changed files with 9 additions and 0 deletions
|
|
@ -96,6 +96,15 @@ _kgsl_pool_add_page(struct kgsl_page_pool *pool, struct page *p)
|
|||
if (!p)
|
||||
return;
|
||||
|
||||
/*
|
||||
* Sanity check to make sure we don't re-pool a page that
|
||||
* somebody else has a reference to.
|
||||
*/
|
||||
if (WARN_ON(unlikely(page_count(p) > 1))) {
|
||||
__free_pages(p, pool->pool_order);
|
||||
return;
|
||||
}
|
||||
|
||||
spin_lock(&pool->list_lock);
|
||||
list_add_tail(&p->lru, &pool->page_list);
|
||||
pool->page_count++;
|
||||
|
|
|
|||
Loading…
Reference in a new issue