swsusp: kill crash when too much memory is free

From: Pavel Machek
Date: Thu Sep 09 2004 - 10:57:32 EST


Hi!

If too much memory is free, swsusp dies in quite a ugly way. Even when
it is not neccessary to relocate pagedir, it is proably still
neccessary to relocate individual pages. Thanks to Kurt Garloff and
Stefan Seyfried...
Pavel
PS: And could I have one brown paper bag, please?

--- clean-mm/kernel/power/swsusp.c 2004-09-07 21:12:33.000000000 +0200
+++ linux-mm/kernel/power/swsusp.c 2004-09-09 08:56:20.000000000 +0200
@@ -950,9 +934,9 @@

printk("Relocating pagedir ");

- if(!does_collide_order(old_pagedir, (unsigned long)old_pagedir, pagedir_order)) {
+ if (!does_collide_order(old_pagedir, (unsigned long)old_pagedir, pagedir_order)) {
printk("not necessary\n");
- return 0;
+ return check_pagedir();
}

while ((m = (void *) __get_free_pages(GFP_ATOMIC, pagedir_order)) != NULL) {



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