mirror of
https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
synced 2025-11-05 17:52:12 +10:00
mm/zsmalloc: allocate exactly size of struct zs_pool
In zs_create_pool(), we allocate memory more then sizeof(struct zs_pool) ovhd_size = roundup(sizeof(*pool), PAGE_SIZE); This patch allocate memory of exactly needed size. Signed-off-by: Ganesh Mahendran <opensource.ganesh@gmail.com> Acked-by: Minchan Kim <minchan@kernel.org> Cc: Nitin Gupta <ngupta@vflare.org> Cc: Dan Streetman <ddstreet@ieee.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
df8b5bb998
commit
181366561a
@ -979,12 +979,11 @@ static bool can_merge(struct size_class *prev, int size, int pages_per_zspage)
|
|||||||
*/
|
*/
|
||||||
struct zs_pool *zs_create_pool(gfp_t flags)
|
struct zs_pool *zs_create_pool(gfp_t flags)
|
||||||
{
|
{
|
||||||
int i, ovhd_size;
|
int i;
|
||||||
struct zs_pool *pool;
|
struct zs_pool *pool;
|
||||||
struct size_class *prev_class = NULL;
|
struct size_class *prev_class = NULL;
|
||||||
|
|
||||||
ovhd_size = roundup(sizeof(*pool), PAGE_SIZE);
|
pool = kzalloc(sizeof(*pool), GFP_KERNEL);
|
||||||
pool = kzalloc(ovhd_size, GFP_KERNEL);
|
|
||||||
if (!pool)
|
if (!pool)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user