svn commit: r284215 - in head/sys: amd64/linux32 compat/linux compat/svr4 dev/drm2/i915 fs/fdescfs i386/ibcs2 i386/linux kern ofed/drivers/infiniband/core ofed/drivers/infiniband/hw/mthca sys vm

Ivan Klymenko fidaj at ukr.net
Wed Jun 10 20:42:43 UTC 2015


Wed, 10 Jun 2015 22:29:11 +0200
Mateusz Guzik <mjguzik at gmail.com> написав:

> On Wed, Jun 10, 2015 at 11:08:14PM +0300, Ivan Klymenko wrote:
> > Wed, 10 Jun 2015 21:29:38 +0200
> > Mateusz Guzik <mjguzik at gmail.com> написав:
> > 
> > > On Wed, Jun 10, 2015 at 10:13:17PM +0300, Ivan Klymenko wrote:
> > > > Wed, 10 Jun 2015 21:09:25 +0200
> > > > Mateusz Guzik <mjguzik at gmail.com> написав:
> > > > 
> > > > > On Wed, Jun 10, 2015 at 09:47:57PM +0300, Ivan Klymenko wrote:
> > > > > > Wed, 10 Jun 2015 10:48:13 +0000 (UTC)
> > > > > > Mateusz Guzik <mjg at FreeBSD.org> написав:
> > > > > > 
> > > > > > > kern_resource.c
> > > > > > 
> > > > > > I get another panic - this time with VirtualBox:
> > > > > > 
> > > > 
> > > > > 
> > > > > Have you recompiled the module after you updated the kernel?
> > > > > 
> > > > 
> > > > Of course.
> > > > 
> > > 
> > > So how have you patched the source? If you have updated headers in
> > > place, the compilation should fail due to parameter type mismatch.
> > > 
> > 
> > Unfortunately no patches I have, except that r284222 + patch from
> > r284226
> > 
> > > Can you go to the frame with the thread and dump it's content?
> > 
> > 
> > if I understood correctly
> > http://pastebin.com/wim7jM7i
> 
> Well this does not look like a valid thread and that's expected.
> 
> Apparently virtualbox is compiled with '-w', which disables warnings
> and then they enable only a small subset. Information about pointer
> mismatch is amongst suppressed warnings.
> 
> As noted earlier the issue can be trivially fixed:
> --- ./src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig
> 2015-06-10 19:30:28.355276494 +0000
> +++ ./src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c
> 2015-06-10 19:30:41.280304985 +0000 @@ -747,7 +747,7 @@ {
>          /** @todo: is this needed?. */
>          PROC_LOCK(pProc);
> -        AddrR3 = round_page((vm_offset_t)pProc->p_vmspace->vm_daddr
> + lim_max(pProc, RLIMIT_DATA));
> +        AddrR3 = round_page((vm_offset_t)pProc->p_vmspace->vm_daddr
> + lim_max_proc(pProc, RLIMIT_DATA)); PROC_UNLOCK(pProc);
>      }
>      else
> 

Cool! It works.
Thank you very much.


More information about the freebsd-ports mailing list