projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7ac1815
)
mm/hugetlb: check for pte NULL pointer in __page_check_address()
author
Jianguo Wu
<
[email protected]
>
Thu, 19 Dec 2013 01:08:59 +0000
(17:08 -0800)
committer
Linus Torvalds
<
[email protected]
>
Thu, 19 Dec 2013 03:04:52 +0000
(19:04 -0800)
In __page_check_address(), if address's pud is not present,
huge_pte_offset() will return NULL, we should check the return value.
Signed-off-by: Jianguo Wu <
[email protected]
>
Cc: Naoya Horiguchi <
[email protected]
>
Cc: Mel Gorman <
[email protected]
>
Cc: qiuxishi <
[email protected]
>
Cc: Hanjun Guo <
[email protected]
>
Acked-by: Kirill A. Shutemov <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
mm/rmap.c
patch
|
blob
|
history
diff --git
a/mm/rmap.c
b/mm/rmap.c
index 55c8b8dc9ffb0c349eb63ad20a8d7bbcc2e9b25d..068522d8502a58e9465a963e68c37ce4ccf635d7 100644
(file)
--- a/
mm/rmap.c
+++ b/
mm/rmap.c
@@
-600,7
+600,11
@@
pte_t *__page_check_address(struct page *page, struct mm_struct *mm,
spinlock_t *ptl;
if (unlikely(PageHuge(page))) {
+ /* when pud is not present, pte will be NULL */
pte = huge_pte_offset(mm, address);
+ if (!pte)
+ return NULL;
+
ptl = huge_pte_lockptr(page_hstate(page), mm, pte);
goto check;
}