--- /dev/null
+From 9295b7a07c859a42346221b5839be0ae612333b0 Mon Sep 17 00:00:00 2001
+From: Ulrich Drepper <drepper@akkadia.org>
+Date: Tue, 29 May 2012 15:06:30 -0700
+Subject: kbuild: install kernel-page-flags.h
+
+From: Ulrich Drepper <drepper@akkadia.org>
+
+commit 9295b7a07c859a42346221b5839be0ae612333b0 upstream.
+
+Programs using /proc/kpageflags need to know about the various flags. The
+<linux/kernel-page-flags.h> provides them and the comments in the file
+indicate that it is supposed to be used by user-level code. But the file
+is not installed.
+
+Install the headers and mark the unstable flags as out-of-bounds. The
+page-type tool is also adjusted to not duplicate the definitions
+
+Signed-off-by: Ulrich Drepper <drepper@gmail.com>
+Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
+Acked-by: Fengguang Wu <fengguang.wu@intel.com>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ include/linux/Kbuild | 1 +
+ include/linux/kernel-page-flags.h | 4 ++++
+ tools/vm/page-types.c | 28 +---------------------------
+ 3 files changed, 6 insertions(+), 27 deletions(-)
+
+--- a/include/linux/Kbuild
++++ b/include/linux/Kbuild
+@@ -227,6 +227,7 @@ header-y += kd.h
+ header-y += kdev_t.h
+ header-y += kernel.h
+ header-y += kernelcapi.h
++header-y += kernel-page-flags.h
+ header-y += keyboard.h
+ header-y += keyctl.h
+ header-y += l2tp.h
+--- a/include/linux/kernel-page-flags.h
++++ b/include/linux/kernel-page-flags.h
+@@ -32,6 +32,8 @@
+ #define KPF_KSM 21
+ #define KPF_THP 22
+
++#ifdef __KERNEL__
++
+ /* kernel hacking assistances
+ * WARNING: subject to change, never rely on them!
+ */
+@@ -44,4 +46,6 @@
+ #define KPF_ARCH 38
+ #define KPF_UNCACHED 39
+
++#endif /* __KERNEL__ */
++
+ #endif /* LINUX_KERNEL_PAGE_FLAGS_H */
+--- a/tools/vm/page-types.c
++++ b/tools/vm/page-types.c
+@@ -35,6 +35,7 @@
+ #include <sys/mount.h>
+ #include <sys/statfs.h>
+ #include "../../include/linux/magic.h"
++#include "../../include/linux/kernel-page-flags.h"
+
+
+ #ifndef MAX_PATH
+@@ -73,33 +74,6 @@
+ #define KPF_BYTES 8
+ #define PROC_KPAGEFLAGS "/proc/kpageflags"
+
+-/* copied from kpageflags_read() */
+-#define KPF_LOCKED 0
+-#define KPF_ERROR 1
+-#define KPF_REFERENCED 2
+-#define KPF_UPTODATE 3
+-#define KPF_DIRTY 4
+-#define KPF_LRU 5
+-#define KPF_ACTIVE 6
+-#define KPF_SLAB 7
+-#define KPF_WRITEBACK 8
+-#define KPF_RECLAIM 9
+-#define KPF_BUDDY 10
+-
+-/* [11-20] new additions in 2.6.31 */
+-#define KPF_MMAP 11
+-#define KPF_ANON 12
+-#define KPF_SWAPCACHE 13
+-#define KPF_SWAPBACKED 14
+-#define KPF_COMPOUND_HEAD 15
+-#define KPF_COMPOUND_TAIL 16
+-#define KPF_HUGE 17
+-#define KPF_UNEVICTABLE 18
+-#define KPF_HWPOISON 19
+-#define KPF_NOPAGE 20
+-#define KPF_KSM 21
+-#define KPF_THP 22
+-
+ /* [32-] kernel hacking assistances */
+ #define KPF_RESERVED 32
+ #define KPF_MLOCKED 33