[PATCH] [2/16] HWPOISON: Export poison flag in /proc/kpageflags

Andi Kleen
2009-05-27T20:12:40Z

From: Fengguang Wu <fengguang.wu@intel.com>

Export the new poison flag in /proc/kpageflags. Poisoned pages are moderately
interesting even for administrators, so export them here. Also useful
for debugging.

AK: I extracted this out of a larger patch from Fengguang Wu.

Signed-off-by: Andi Kleen <ak@linux.intel.com>

---
fs/proc/page.c | 4 ++++
1 file changed, 4 insertions(+)

Index: linux/fs/proc/page.c
===================================================================
--- linux.orig/fs/proc/page.c 2009-05-27 21:13:54.000000000 +0200
+++ linux/fs/proc/page.c 2009-05-27 21:14:21.000000000 +0200
@@ -79,6 +79,7 @@
#define KPF_WRITEBACK 8
#define KPF_RECLAIM 9
#define KPF_BUDDY 10
+#define KPF_HWPOISON 11

#define kpf_copy_bit(flags, dstpos, srcpos) (((flags >> srcpos) & 1) << dstpos)

@@ -118,6 +119,9 @@
kpf_copy_bit(kflags, KPF_WRITEBACK, PG_writeback) |
kpf_copy_bit(kflags, KPF_RECLAIM, PG_reclaim) |
kpf_copy_bit(kflags, KPF_BUDDY, PG_buddy);
+#ifdef CONFIG_MEMORY_FAILURE
+ uflags |= kpf_copy_bit(kflags, KPF_HWPOISON, PG_hwpoison);
+#endif

if (put_user(uflags, out++)) {
ret = -EFAULT;