diff options
Diffstat (limited to 'mm/list_lru.c')
| -rw-r--r-- | mm/list_lru.c | 12 | 
1 files changed, 6 insertions, 6 deletions
| diff --git a/mm/list_lru.c b/mm/list_lru.c index 7a40fa2be858..f141f0c80ff3 100644 --- a/mm/list_lru.c +++ b/mm/list_lru.c @@ -325,12 +325,12 @@ static int memcg_init_list_lru_node(struct list_lru_node *nlru)  {  	int size = memcg_nr_cache_ids; -	nlru->memcg_lrus = kmalloc(size * sizeof(void *), GFP_KERNEL); +	nlru->memcg_lrus = kvmalloc(size * sizeof(void *), GFP_KERNEL);  	if (!nlru->memcg_lrus)  		return -ENOMEM;  	if (__memcg_init_list_lru_node(nlru->memcg_lrus, 0, size)) { -		kfree(nlru->memcg_lrus); +		kvfree(nlru->memcg_lrus);  		return -ENOMEM;  	} @@ -340,7 +340,7 @@ static int memcg_init_list_lru_node(struct list_lru_node *nlru)  static void memcg_destroy_list_lru_node(struct list_lru_node *nlru)  {  	__memcg_destroy_list_lru_node(nlru->memcg_lrus, 0, memcg_nr_cache_ids); -	kfree(nlru->memcg_lrus); +	kvfree(nlru->memcg_lrus);  }  static int memcg_update_list_lru_node(struct list_lru_node *nlru, @@ -351,12 +351,12 @@ static int memcg_update_list_lru_node(struct list_lru_node *nlru,  	BUG_ON(old_size > new_size);  	old = nlru->memcg_lrus; -	new = kmalloc(new_size * sizeof(void *), GFP_KERNEL); +	new = kvmalloc(new_size * sizeof(void *), GFP_KERNEL);  	if (!new)  		return -ENOMEM;  	if (__memcg_init_list_lru_node(new, old_size, new_size)) { -		kfree(new); +		kvfree(new);  		return -ENOMEM;  	} @@ -373,7 +373,7 @@ static int memcg_update_list_lru_node(struct list_lru_node *nlru,  	nlru->memcg_lrus = new;  	spin_unlock_irq(&nlru->lock); -	kfree(old); +	kvfree(old);  	return 0;  } |