Ticket #7999 (new defect)

Opened 5 years ago

Last modified 5 years ago

Vm doesn't start if /usr is a symbolic link: "Failed to load VMMR0.r0 (VERR_SUPLIB_WORLD_WRITABLE)"

Reported by: gschmidv@… Owned by:
Priority: major Component: other
Version: VirtualBox 4.0.0 Keywords:
Cc: Guest type: Windows
Host type: Linux


I've got my /usr directory in /more/usr on an SSD with /usr symbolically linked to /more/usr.

Apparently the check for world-writability is not done on the file as reported and also not on the directory /more/usr that /usr points to, but on the symbolic link /usr itself and this link is always mode 777. If I switch to a normal /usr directory the VM comes up fine.

This appears to be a very recent regression as I had no problems with 4.0 Beta.


VBox.log Download (2.2 KB) - added by gschmidv@… 5 years ago.

Change History

Changed 5 years ago by gschmidv@…

comment:1 Changed 5 years ago by gschmidv

I found a relatively simple workaround: use mount --bind instead of a symbolic link. So the priority is certainly not 'blocker' anymore, but apparently I can't change that.

comment:2 Changed 5 years ago by frank

  • Priority changed from blocker to major

comment:3 Changed 5 years ago by bird

This was actually intentional behavior but except that the error message should be different. We are considering implementing support for this scenario, though.

comment:4 Changed 5 years ago by gschmidv

When you say 'intentional behavior' I suppose you are referring to the restriction that /usr must not be world-writable. That's OK with me. I still think the implementation is buggy because when /usr is a symbolic link that points to /foo/usr you must check the permissions for /foo/usr whereas the code now checks the permissions for the symbolic link and those are always 777.

Consider that in the above case the command 'chmod 755 /usr' will actually change the permissions for /foo/usr. You cannot change the permissions for the link itself.

comment:5 Changed 5 years ago by frank

bird already said that we plan to implement support for this scenario.

Note: See TracTickets for help on using tickets.
ContactPrivacy policyTerms of Use