On Tue, Mar 12, 2013 at 04:58:34PM +0100, Bernhard Fr?hlich wrote: > On Tue, Mar 12, 2013 at 4:17 PM, Konstantin Belousov > <[email protected]> wrote: > > On Tue, Mar 12, 2013 at 09:01:43AM -0300, Sergio de Almeida Lenzi wrote: > >> Em Seg, 2013-03-11 ??s 10:28 +0100, Ferenc Balku escreveu: > >> > >> > Hi Sergio! > >> > > >> > Awfully sorry to disturb You, but I have found this link via Google > >> > http://lists.freebsd.org/pipermail/freebsd-ports/2013-March/081979.html > >> > and can not find the patch to download a make VBox work again on our > >> > FBSD10 test server. > >> > > >> > Can You please send me a link to download the patch. > >> > > >> > Thanks in advance, > >> > > >> > Best Regards > >> > > >> > Ferenc Balku > >> > >> > >> No problem I was "travel business... > >> here is the patch, > >> the list does not allow attach files... > >> > >> go to the /usr/ports/emulators/virtualbox-ose-kmod, > >> put the fix in the "files" directory with a name like ==> > >> patch-the-freebsd-kernel > >> and do a make clean install > >> ============================================================== > >> --- src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h.orig > >> 2012-12-19 16:27:29.000000000 -0200 > >> +++ src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h 2013-03-09 > >> 14:42:18.924039639 -0300 > >> @@ -50,6 +50,7 @@ > >> #include <sys/unistd.h> > >> #include <sys/kthread.h> > >> #include <sys/lock.h> > >> +#include <sys/rwlock.h> > >> #include <sys/mutex.h> > >> #include <sys/sched.h> > >> #include <sys/callout.h> > >> @@ -70,6 +71,12 @@ > >> #include <sys/resourcevar.h> > >> #include <machine/cpu.h> > >> > >> +/* > >> + fix VM_OBJ_LOCK > >> +*/ > >> +#define VM_OBJECT_LOCK(o) VM_OBJECT_RLOCK(o) > >> +#define VM_OBJECT_UNLOCK(o) VM_OBJECT_RUNLOCK(o) > > > > This is definitely wrong. For the blind substitution, you should > > use VM_OBJECT_WLOCK/VM_OBJECT_WUNLOCK. > > It would be great if someone could come up with a proper patch. > All I've seen so far looks wrong or hackish and I cannot add that > to the port nor send it upstream to get it fixed for future releases.
The patch would be to replace all occurences of VM_OBJECT_LOCK with VM_OBJECT_WLOCK, and VM_OBJECT_UNLOCK with VM_OBJECT_WUNLOCK. I assume that vbox module does not assert the lock state. Sorry, I am not set up to produce the patch, but it should just a mechanical substitution.
pgpGWYQuAP85V.pgp
Description: PGP signature
