On Thu, Feb 20, 2014 at 04:27:55PM +0000, Lorenzo Pieralisi wrote:
I still do not understand why switching to idmap, which is a clone of init_mm + 1:1 kernel mappings is required here. Why idmap ?
And while at it, can't the idmap be overwritten _while_ copying back the resume kernel ? Is it safe to use idmap page tables while copying ?
I had a look at x86 and there idmap page tables used to resume are created on the fly using safe pages, on ARM idmap is created at boot.
That's fine.
Remember, you're required to boot exactly the same kernel image when resuming as the kernel which created the suspend image. Unless you have random allocations going on, you should get the same layout for the idmap stuff at each boot.