UPSTREAM: mm: Add is_migrate_cma_page
authorLaura Abbott <labbott@redhat.com>
Tue, 19 Jul 2016 22:00:04 +0000 (15:00 -0700)
committerSami Tolvanen <samitolvanen@google.com>
Tue, 6 Sep 2016 15:53:07 +0000 (15:53 +0000)
Code such as hardened user copy[1] needs a way to tell if a
page is CMA or not. Add is_migrate_cma_page in a similar way
to is_migrate_isolate_page.

[1]http://article.gmane.org/gmane.linux.kernel.mm/155238

Signed-off-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Change-Id: I1f9aa13d8d063038fa70b93282a836648fbb4f6d
(cherry picked from commit 7c15d9bb8231f998ae7dc0b72415f5215459f7fb)
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
include/linux/mmzone.h

index e23a9e704536278dad66bc5e5d1f9f798036b8be..bab4053fb795b0a054616d8c1dc81d2ea509e441 100644 (file)
@@ -65,8 +65,10 @@ enum {
 
 #ifdef CONFIG_CMA
 #  define is_migrate_cma(migratetype) unlikely((migratetype) == MIGRATE_CMA)
+#  define is_migrate_cma_page(_page) (get_pageblock_migratetype(_page) == MIGRATE_CMA)
 #else
 #  define is_migrate_cma(migratetype) false
+#  define is_migrate_cma_page(_page) false
 #endif
 
 #define for_each_migratetype_order(order, type) \