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:
d7be003
)
mm: verify compound order when freeing a page
author
Yu Zhao
<
[email protected]
>
Wed, 10 Dec 2014 23:43:17 +0000
(15:43 -0800)
committer
Linus Torvalds
<
[email protected]
>
Thu, 11 Dec 2014 01:41:06 +0000
(17:41 -0800)
This allows us to catch the bug fixed in the previous patch (mm: free
compound page with correct order).
Here we also verify whether a page is tail page or not -- tail pages are
supposed to be freed along with their head, not by themselves.
Signed-off-by: Yu Zhao <
[email protected]
>
Reviewed-by: "Kirill A. Shutemov" <
[email protected]
>
Cc: Andrea Arcangeli <
[email protected]
>
Cc: Mel Gorman <
[email protected]
>
Cc: David Rientjes <
[email protected]
>
Cc: Bob Liu <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
mm/page_alloc.c
patch
|
blob
|
history
diff --git
a/mm/page_alloc.c
b/mm/page_alloc.c
index f3a6bf12cbc11a3d2d2cbbbd57043efd92040767..b7c18f09469707dc03367f41ecf569dafca10533 100644
(file)
--- a/
mm/page_alloc.c
+++ b/
mm/page_alloc.c
@@
-741,6
+741,9
@@
static bool free_pages_prepare(struct page *page, unsigned int order)
int i;
int bad = 0;
+ VM_BUG_ON_PAGE(PageTail(page), page);
+ VM_BUG_ON_PAGE(PageHead(page) && compound_order(page) != order, page);
+
trace_mm_page_free(page, order);
kmemcheck_free_shadow(page, order);