Pagemap: security fixes vs. ABI compatibility
Pagemap: security fixes vs. ABI compatibility
Posted May 1, 2015 17:05 UTC (Fri) by MarkWilliamsonAtUndo (guest, #102313)Parent article: Pagemap: security fixes vs. ABI compatibility
It's been an interesting week investigating this! As you might imagine, it was a bit of a surprise to find we had problems with newer kernels, though of course the quick response by the kernel folks to mitigate Row Hammer was quite appropriate and understandable.
UndoDB has the option of running in a less efficient mode on pre-pagemap systems, so with very minor tweaks we'll be falling back to that when running on kernels that have restricted pagemap permissions; it doesn't break us completely. However, the current situation prevents us from running in our most efficient mode of operation. It's been great to have such a productive discussion on LKML about the pagemap functionality - it feels like we're now maybe converging on an acceptable solution that will give us just enough information to run with all our optimisations enabled.
A happy result of the whole situation is that we've learned about soft-dirty mode, which looks very useful. This has proved not to be as complete a fix as we'd hoped (it's not available on some of the very old kernels we support, nor on i686 or ARM) so we're still investigating how to deal with its absence. Still, where it's present it should be *really* useful.
Another lesson we've taken from this is that, as rather advanced users of the kernel-userspace interfaces, we should probably be doing regular testing with kernels compiled with Linus's git. Hopefully if anything similar happens in future we will be able to provide proactive feedback to LKML, which should be better for everyone concerned.
