Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Jan 2011 18:59:24 +0000
From:      Alexander Best <arundel@freebsd.org>
To:        Chagin Dmitry <dchagin@freebsd.org>
Cc:        oleg.ginzburg@nevosoft.ru, freebsd-emulation@freebsd.org
Subject:   Re: kern/145024: [linux] kernel crash by linux.ko module with nooptions COMPAT_FREEBSD32
Message-ID:  <20110130185924.GA19604@freebsd.org>
In-Reply-To: <20110130184157.GA11074@dchagin.static.corbina.ru>
References:  <201101301827.p0UIRrnk089915@freefall.freebsd.org> <20110130184157.GA11074@dchagin.static.corbina.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun Jan 30 11, Chagin Dmitry wrote:
> On Sun, Jan 30, 2011 at 06:27:53PM +0000, arundel@freebsd.org wrote:
> > Old Synopsis: [linux] [panic] kernel crash by linux.ko module with nooptions COMPAT_FREEBSD32
> > New Synopsis: [linux] kernel crash by linux.ko module with nooptions COMPAT_FREEBSD32
> > 
> > State-Changed-From-To: open->analyzed
> > State-Changed-By: arundel
> > State-Changed-When: Sun Jan 30 18:13:13 UTC 2011
> > State-Changed-Why: 
> > We have two possibilities in order to fix this issue:
> > 
> > 1) Add something like the following somewhere in sys/amd/linux32:
> > 
> >    #ifndef COMPAT_FREEBSD32
> >    #error "linux emulation requires COMPAT_FREEBSD32 \
> > 	   option for non 32 bit architectures"
> >    #endif
> > 
> > 2) Find a way to avoid the freebsd32_exec_copyin_args() call in
> >    linux32_machdep.c. I believe this is the only place in the sys/amd/linux32
> >    code that depends on sys/amd64/ia32 code.
> > 
> > NB: I've removed the panic tag from this PR. I was able to reproduce the issue,
> >     however a panic didn't occur. The problem is that
> >     freebsd32_exec_copyin_args() wasn't compiled into the kernel and loading the
> >     linux kernel module thus fails.
> > 
> 
> hi, close report, see r205014.

i verified the issue with a recent HEAD just a few minutes ago. the point is
that users should be informed, when they build the linuxulator on 64 bit
architectures without the COMPAT_FREEBSD32, because that will give them a
broken linuxulator. either that or remove the freebsd32_exec_copyin_args() call
from the linuxulator to make it independent from COMPAT_FREEBSD32 code.

cheers.
alex

> 
> -- 
> Have fun!
> chd



-- 
a13x



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110130185924.GA19604>