linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] hugetlbfs: fix protential null pointer dereference
@ 2019-04-10  2:50 Yufen Yu
  2019-04-10  3:38 ` Mike Kravetz
  0 siblings, 1 reply; 5+ messages in thread
From: Yufen Yu @ 2019-04-10  2:50 UTC (permalink / raw)
  To: mike.kravetz, linux-mm; +Cc: kirill.shutemov, n-horiguchi, mhocko

After commit 58b6e5e8f1ad ("hugetlbfs: fix memory leak for resv_map"),
i_mapping->private_data will be NULL for mode that is not regular and link.
Then, it might cause NULL pointer derefernce in hugetlb_reserve_pages()
when do_mmap. We can avoid protential null pointer dereference by
judging whether it have been allocated.

Fixes: 58b6e5e8f1ad ("hugetlbfs: fix memory leak for resv_map")
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: Michal Hocko <mhocko@kernel.org>
Signed-off-by: Yufen Yu <yuyufen@huawei.com>
---
 mm/hugetlb.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 97b1e0290c66..15e4baf2aa7d 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -4465,6 +4465,8 @@ int hugetlb_reserve_pages(struct inode *inode,
 	 */
 	if (!vma || vma->vm_flags & VM_MAYSHARE) {
 		resv_map = inode_resv_map(inode);
+		if (!resv_map)
+			return -EOPNOTSUPP;
 
 		chg = region_chg(resv_map, from, to);
 
-- 
2.16.2.dirty


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-04-11  3:30 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-10  2:50 [PATCH] hugetlbfs: fix protential null pointer dereference Yufen Yu
2019-04-10  3:38 ` Mike Kravetz
2019-04-10  4:20   ` yuyufen
2019-04-10 18:56     ` Mike Kravetz
2019-04-11  3:30       ` yuyufen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox