public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch -mm] fix SLOB on x64
@ 2005-12-11 14:12 Ingo Molnar
  2005-12-11 17:22 ` Ed Tomlinson
  2005-12-11 18:05 ` Matt Mackall
  0 siblings, 2 replies; 5+ messages in thread
From: Ingo Molnar @ 2005-12-11 14:12 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Matt Mackall


this patch fixes 32-bitness bugs in mm/slob.c. Successfully booted x64 
with SLOB enabled. (i have switched the PREEMPT_RT feature to use the 
SLOB allocator exclusively, so it must work on all platforms)

Signed-off-by: Ingo Molnar <mingo@elte.hu>

Index: linux/mm/slob.c
===================================================================
--- linux.orig/mm/slob.c
+++ linux/mm/slob.c
@@ -198,7 +198,7 @@ void kfree(const void *block)
 	if (!block)
 		return;
 
-	if (!((unsigned int)block & (PAGE_SIZE-1))) {
+	if (!((unsigned long)block & (PAGE_SIZE-1))) {
 		/* might be on the big block list */
 		spin_lock_irqsave(&block_lock, flags);
 		for (bb = bigblocks; bb; last = &bb->next, bb = bb->next) {
@@ -227,7 +227,7 @@ unsigned int ksize(const void *block)
 	if (!block)
 		return 0;
 
-	if (!((unsigned int)block & (PAGE_SIZE-1))) {
+	if (!((unsigned long)block & (PAGE_SIZE-1))) {
 		spin_lock_irqsave(&block_lock, flags);
 		for (bb = bigblocks; bb; bb = bb->next)
 			if (bb->pages == block) {
@@ -326,7 +326,7 @@ void kmem_cache_init(void)
 	void *p = slob_alloc(PAGE_SIZE, 0, PAGE_SIZE-1);
 
 	if (p)
-		free_page((unsigned int)p);
+		free_page((unsigned long)p);
 
 	mod_timer(&slob_timer, jiffies + HZ);
 }

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-12-11 20:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-11 14:12 [patch -mm] fix SLOB on x64 Ingo Molnar
2005-12-11 17:22 ` Ed Tomlinson
2005-12-11 20:05   ` Ingo Molnar
2005-12-11 18:05 ` Matt Mackall
2005-12-11 20:02   ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox