Revision dbda8feadfa46b3d8dd7a2304f84ccbc036effe9 authored by Barry Song on 24 July 2020, 04:15:30 UTC, committed by Linus Torvalds on 24 July 2020, 19:42:41 UTC
hugetlb_cma[0] can be NULL due to various reasons, for example, node0
has no memory.  so NULL hugetlb_cma[0] doesn't necessarily mean cma is
not enabled.  gigantic pages might have been reserved on other nodes.
This patch fixes possible double reservation and CMA leak.

[akpm@linux-foundation.org: fix CONFIG_CMA=n warning]
[sfr@canb.auug.org.au: better checks before using hugetlb_cma]
  Link: http://lkml.kernel.org/r/20200721205716.6dbaa56b@canb.auug.org.au

Fixes: cf11e85fc08c ("mm: hugetlb: optionally allocate gigantic hugepages using cma")
Signed-off-by: Barry Song <song.bao.hua@hisilicon.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
Acked-by: Roman Gushchin <guro@fb.com>
Cc: Jonathan Cameron <jonathan.cameron@huawei.com>
Cc: <stable@vger.kernel.org>
Link: http://lkml.kernel.org/r/20200710005726.36068-1-song.bao.hua@hisilicon.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent d38a2b7
History
File Mode Size
Makefile -rw-r--r-- 361 bytes
compat.c -rw-r--r-- 2.2 KB
ipc_sysctl.c -rw-r--r-- 6.1 KB
mq_sysctl.c -rw-r--r-- 2.7 KB
mqueue.c -rw-r--r-- 43.1 KB
msg.c -rw-r--r-- 31.6 KB
msgutil.c -rw-r--r-- 3.6 KB
namespace.c -rw-r--r-- 5.1 KB
sem.c -rw-r--r-- 62.7 KB
shm.c -rw-r--r-- 43.0 KB
syscall.c -rw-r--r-- 5.1 KB
util.c -rw-r--r-- 22.8 KB
util.h -rw-r--r-- 8.7 KB

back to top