We use the vm86() system call extensively with our applications, primarily for performance reasons with DOS binaries that cannot be changed.
Switching to CPU emulation is not possible as the applications run considerably slower than if using the hardware features of the real CPU. For this very same reason we run only 32 bit x86 on the servers to support this single system call. Of course the answer could be proposed that we compile our own kernels with this feature enabled, but this is in a production environment running stable existing software for business and not some desktop PC to just run DOS games, so we really need kernels with a proper provenance. Again for performance reasons we track the very latest hardware and chipsets, so it means we usually have to use the hardware enablement stack for LTS 14.04, currently this is based on kernel 3.19 and runs vm86() syscalls just fine out of the box, but soon the Wily based kernel 4.2 will be used for that. Kernel 4.2 in Wily has the vm86() syscall compile time disabled at present. If you could change the Kconfig to allow vm86() to be runtime enabled that would be the ideal solution and remove the regression. I suspect that you might want to backport this simple patch to set the runtime default to disabled https://github.com/torvalds/linux/commit/76fc5e7b2355af167dea1a32e93c57fc37900a5b I can only hope you understand the importance of this to our business, if this isn't fixed we will be unable to update our servers and also that they wouldn't be viable without the full x86 support for the vm86() syscall. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1499089 Title: Please enable kconfig X86_LEGACY_VM86 for i386 Status in linux package in Ubuntu: Triaged Bug description: In order for dosemu to reach maximum performance (a > 10x speedup) please enable kconfig X86_LEGACY_VM86 in the kernel. As of this commit http://www.spinics.net/lists/linux-tip-commits/msg30360.html the overzealous kconfig message that seemed to suggest that the vm86() syscall was a security hazard in itself has been revised to reflect reality. Also please note that even if this kconfig option is enabled the runtime default is still off as vm86 is only actually enabled if the sysctl vm.mmap_min_addr is set to 0. That said, allowing vm.mmap_min_addr=0 is a known security risk and enabling the vm86() syscall to operate additionally would add little value to any potential attacker. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1499089/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp