[PATCH] kpagecount: added slab page checking because of _mapcount in union

From: Petr Holasek
Date: Thu Dec 16 2010 - 12:10:57 EST


PageSlab macro check was added before putting of _mapcount value
to /kpagecount. page->_mapcount is in union with SLAB structure
so for pages controlled by SLAB page_mapcount() returns nonsenses.

Signed-off-by: Petr Holasek <pholasek@xxxxxxxxxx>
---
fs/proc/page.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/proc/page.c b/fs/proc/page.c
index 3b8b456..b06c674 100644
--- a/fs/proc/page.c
+++ b/fs/proc/page.c
@@ -40,7 +40,7 @@ static ssize_t kpagecount_read(struct file *file, char __user *buf,
ppage = pfn_to_page(pfn);
else
ppage = NULL;
- if (!ppage)
+ if (!ppage || PageSlab(ppage))
pcount = 0;
else
pcount = page_mapcount(ppage);
--
1.7.2.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/