Re: [PATCH 16/20] swsusp: do not use virt_to_page on kernel data address

From: Pavel Machek
Date: Wed Mar 07 2007 - 17:49:59 EST


Hi!

> o virt_to_page() call should be used on kernel linear addresses and not
> on kernel text and data addresses. Swsusp code uses it on kernel data
> (statically allocated swsusp_header).
>
> o Allocate swsusp_header dynamically so that virt_to_page() can be used
> safely.
>
> o I am changing this because in next few patches, __pa() on x86_64 will
> no longer support kernel text and data addresses and hibernation breaks.
>
> Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx>

> +static int swsusp_header_init(void)
> +{
> + swsusp_header = (struct swsusp_header*) __get_free_page(GFP_KERNEL);
> + if (!swsusp_header)
> + panic("Could not allocate memory for swsusp_header\n");
> + return 0;
> +}
> +
> +core_initcall(swsusp_header_init);

I do not like the panic, but I guess it is okay as we are running
during boot? (Could you add a comment?) Otherwise ok.

Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-
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/