[Libguestfs] v2v: docs: Removed vsyscall support in Debian kernels requiring workaround (RHBZ#1592061).

Richard W.M. Jones rjones at redhat.com
Sun Jun 17 13:09:50 UTC 2018


Debian kernels have disabled legacy vsyscall page support meaning they
cannot runs binaries that predate c.2013.  To enable it again you must
add vsyscall=emulate to the kernel command line when booting.  It's
unclear why Debian disabled this as according to the documentation:

  Disabling this option saves about 7K of kernel size and
  possibly 4K of additional runtime pagetable memory.

(presumably the "runtime pagetable memory" is per-process?)  It seems
to me like a rather poor trade-off for not being able to run binaries
which are just 5 years old.

While I was writing this patch I imagined a much more complex
automatic workaround where we would try to detect if the host kernel
had this problem and add the extra vsyscall=emulate parameter
automatically.  ‘./configure’ might carry a binary (for x86_64 only?)
built to use the vsyscall page and try to run it under the host
kernel.  If it failed it would suggest using the workaround.

This solution seems a bit complex, and so this patch simply updates
the documentation which hopefully will make the problem discoverable.

I don't know how widespread this problem is.  We've not seen it in
Fedora/RHEL kernels AFAIK.

Rich.




More information about the Libguestfs mailing list