[RFC 0/2] Add Virtual Box vboxguest and vboxsf guest drivers to the mainline kernel

From: Hans de Goede
Date: Fri Aug 11 2017 - 09:23:35 EST


Hello Greg, Arnd, Alexander, et al.,

Here is a first RFC version of my cleaned up version of the
VirtualBox vboxguest and vboxsf guest drivers.

This is an RFC because there are still some checkpatch and other small
style issues which I need to fix.

I'm posting this now because the majority of the major cleanup these 2
drivers needed before being suitable for mainlining has been done now
and I believe the code is ready for a quick look by others (but not
ready yet for a full review).

I've removed all depenencies on vbox's OO-independent runtime and
the runtime itself, reducing the vboxguest driver from 100000+ lines
of code to aprox. 6500 and the vboxsf driver from 60000 lines to 5000.
This reduces the non debug vboxguest.ko size from 450kB to less then 100 kB.
I've also cleaned up various other warts such as doing hardware init in
module_init rather then in a pci_probe callback.

The vboxguest driver introduces a new userspace API + ABI in the form
of ioctls on a character device. VirtualBox upstream not willing to
commit to keeping this ABI stable was one of the things which has
kept this driver driver out of mainline sofar. I've been talking to
VirtualBox upstream about mainlining the guest drivers and VirtualBox
upstream has agreed to consider the userspace ABI stable and only
extend it in a backwards compatible manner.

As said this is a RFC, the main comments I'm looking for is an answer
to these 2 questions:

Greg, Arnd would you be willing to merge the vboxguest driver under
drivers/misc (in principle), assuming I do the remaining cleanup
and the driver gets a favorable review of course ?

Al, the same question for you for the vboxsf (shared folder) driver?

Regards,

Hans