Hi,

On 28-11-17 17:15, Larry Finger wrote:
On 11/28/2017 04:01 AM, Hans de Goede wrote:
Hi,


I did have two problems when I tried to build these commits and the one that 
creates vboxsf.

The more serious one is that it is possible to build vboxguest without vboxvideo. 
When that happens, a non-privileged user cannot start X. As I say in the review, 
> I think that combination does not make sense and should not be allowed.

vboxguest and vboxvideo are completely independent at least from the kernel pov,
I do not believe that making them depend on each other makes sense.

AFAIK a non-privileged user cannot start X without vboxvideo at all, independent
of vboxguest being build or not. Falling back to vesa modesetting always 
requires
Xorg to be suid root, or the user to be privileged.

TL;DR: I can add a dependency between the 2, but I would rather not.

Keep in mind that at some point, the newest kernel will support vboxvideo and 
vboxguest; however, any distribution package will still need to contain both 
kernel modules so that older kernels will work. My test showed that loading an 
in-kernel vboxguest with Oracle's vboxvideo fails *unless* you run as root, 
which is not acceptable.

Hmm, I guess what is happening here is that the vbox provided vboxguest is not 
loading
because the one built into the kernel is not loading, and then vboxvideo does 
not load
because it depends on symbols from vboxguest. But the vboxvideo shipped with 
the guest
additions has been changed to no longer depend on vboxguest quite a while ago, 
so with
current guest additions this should not be an issue and functionality wise the 2
vboxguest drivers are equivalent.

"depends on" / "select" really are reserved for when drivers use symbols from 
another
module and not to express weird interactions like this. There are many ways a 
.config
can be made which userspace will not like, yet we still allow this. IMHO adding 
a
depends on between 2 independent modules is simply just wrong.

For the next version I will add a text to the help part of the Kconfig advising 
to also
enable the vboxvideo driver. That really is the best we can do IMHO.

Talking about the next version, yesterday I ran out of time while working on 
this,
I hope to post a v3 addressing your review comments today.

When both are in the kernel, then Xorg starts for a non-privaleged user. That is why I think you 
need either a "depends on VBOXVIDEO" or a "selects VBOXVIDEO" in the Kconfig 
for vboxvideo. My preference is for the latter.

When the system is booted, vboxsf is not loaded, and the shared folders are not 
automounted. Of course, that issue is not germane to these patches, but will be 
important when vboxsf is merged.

Hmm, I mount a couple of shares from rc.local (I don't use vbox' automount as I
want to specify a uid for the files) and as soon as mount.vboxsf gets executed
the vboxsf module gets auto-loaded as the module contains:

MODULE_ALIAS_FS("vboxsf");

AFAIK the communication of which volumes to automount is done through vboxguest,
anyways I will look into this before submitting vboxsf, in the worst case
we need to drop a modprobe.conf.d/vboxguest.conf file which has a postinst 
vboxguest
which loads vboxsf.

Thanks. Adding something of this type will make the in-kernel version match the 
Oracle documentation.

Regards,

Hans

Reply via email to