Comment 49 for bug 1627198

Revision history for this message
Seth Forshee (sforshee) wrote :

I just wanted to add a note here to clarify things a little bit, since from the comments here it's all a bit muddled. There are two loosely related things happening.

The first problem, which is fixed by setting CONFIG_HARDENED_USERCOPY_PAGESPAN=n, is that some security enhancements were added in kernel version 4.8 related to copying memory from userspace. One of these hardening features was to check for copies from userspace which cross a page boundary, and when this happens the kernel logs an error and terminates the running task immediately by causing it to oops. This turned out to be too aggressive for now, because the vmwgfx module is doing these sorts of memory copies from userspace. Therefore when CONFIG_HARDENED_USERCOPY_PAGESPAN was enabled and the kernel booted in VMWare Fusion, Barry was getting an oops.

This triggered the second problem. There's also a patch in 4.8 which aims to make oopsing behave more reliably by calling do_exit() with a clean stack, and this seems to be causing some sort of problems on VMWare Fusion when the kernel oopses. The exact nature of those problems isn't yet clear. Fixing the problem above side steps the problems caused by this patch as it prevents the oops from happening, however I suspect that the problem remains.