On Fri, Jun 13, 2014 at 3:51 AM, Pavel Machek <pa...@ucw.cz> wrote: > Hi! > > >> >>> Any way we can make them work together instead? >> >> >> >> I'm sure there is, but I don't know the solution. :) >> >> >> >> At the very least this gets us one step closer (we can build them >> >> together). >> >> >> > >> > But it is really invasive. >> >> Well, I don't agree there. I actually would like to be able to turn >> off hibernation support on distro kernels regardless of kASLR, so I >> think this is really killing two birds with one stone. >> >> > I have to admit to being somewhat fuzzy on what the core problem with >> > hibernation and kASLR is... in both cases there is a set of pages that >> > need to be installed, some of which will overlap the loader kernel. >> > What am I missing? >> >> I don't know how resume works, but I have assumed that the newly >> loaded kernel stays in memory and pulls in the vmalloc, kmalloc, >> modules, and userspace memory maps from disk. Since these things can >> easily contain references to kernel text, if the newly loaded kernel >> has moved with regard to the hibernated image, everything breaks. >> IIUC, this is similar why you can't rebuild your kernel and resume >> from a different version. > > x86-64 can resume from different kernel that did the suspend. kASLR > should not be too different from that. (You just include kernel text > in the hibernation image. It is small enough to do that.)
Oooh, that's very exciting! How does that work (what happens to the kernel that booted first, etc)? I assume physical memory layout can't change between hibernation and resume? Or, where should I be reading code that does this? -Kees -- Kees Cook Chrome OS Security -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/