Merge "msm: kgsl: Fix the access to invalid pool"
This commit is contained in:
commit
10619a898d
1 changed files with 5 additions and 4 deletions
|
@ -298,17 +298,18 @@ int kgsl_pool_alloc_page(int *page_size, struct page **pages,
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
pool = _kgsl_get_pool_from_order(order);
|
pool = _kgsl_get_pool_from_order(order);
|
||||||
pool_idx = kgsl_pool_idx_lookup(order);
|
if (pool == NULL)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
if (pool != NULL)
|
pool_idx = kgsl_pool_idx_lookup(order);
|
||||||
page = _kgsl_pool_get_page(pool);
|
page = _kgsl_pool_get_page(pool);
|
||||||
|
|
||||||
/* Allocate a new page if not allocated from pool */
|
/* Allocate a new page if not allocated from pool */
|
||||||
if (page == NULL) {
|
if (page == NULL) {
|
||||||
gfp_t gfp_mask = kgsl_gfp_mask(order);
|
gfp_t gfp_mask = kgsl_gfp_mask(order);
|
||||||
|
|
||||||
/* Only allocate non-reserved memory for certain pools */
|
/* Only allocate non-reserved memory for certain pools */
|
||||||
if (!pool->allocation_allowed) {
|
if (!pool->allocation_allowed && pool_idx > 0) {
|
||||||
*page_size = PAGE_SIZE <<
|
*page_size = PAGE_SIZE <<
|
||||||
kgsl_pools[pool_idx-1].pool_order;
|
kgsl_pools[pool_idx-1].pool_order;
|
||||||
*align = ilog2(*page_size);
|
*align = ilog2(*page_size);
|
||||||
|
|
Loading…
Add table
Reference in a new issue