[Patch] alloc_large_system_hash printk overflow on 16TB boot.

From: Robin Holt
Date: Sun Oct 03 2010 - 09:26:44 EST


During boot of a 16TB system, the following is printed:
Dentry cache hash table entries: -2147483648 (order: 22, 17179869184 bytes)

Signed-off-by: Robin Holt <holt@xxxxxxx>
To: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: lkml <linux-kernel@xxxxxxxxxxxxxxx>

---

mm/page_alloc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Index: pv1010934/mm/page_alloc.c
===================================================================
--- pv1010934.orig/mm/page_alloc.c 2010-10-01 10:27:07.000000000 -0500
+++ pv1010934/mm/page_alloc.c 2010-10-03 07:53:13.551824924 -0500
@@ -5182,9 +5182,9 @@ void *__init alloc_large_system_hash(con
if (!table)
panic("Failed to allocate %s hash table\n", tablename);

- printk(KERN_INFO "%s hash table entries: %d (order: %d, %lu bytes)\n",
+ printk(KERN_INFO "%s hash table entries: %ld (order: %d, %lu bytes)\n",
tablename,
- (1U << log2qty),
+ (1UL << log2qty),
ilog2(size) - PAGE_SHIFT,
size);


--
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/