Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 May 2015 17:22:15 -0500
From:      Larry Rosenman <ler@lerctr.org>
To:        Chagin Dmitry <dchagin@freebsd.org>
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: Linuxulator: CRASH
Message-ID:  <20150525222215.GA1294@borg.lerctr.org>
In-Reply-To: <20150525213103.GA21369@dchagin.static.corbina.net>
References:  <20150525204118.GA1176@borg.lerctr.org> <20150525205536.GA6195@dchagin.static.corbina.net> <20150525211232.GA1143@borg.lerctr.org> <20150525213103.GA21369@dchagin.static.corbina.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, May 26, 2015 at 12:31:03AM +0300, Chagin Dmitry wrote:
> On Mon, May 25, 2015 at 04:12:32PM -0500, Larry Rosenman wrote:
> > On Mon, May 25, 2015 at 11:55:36PM +0300, Chagin Dmitry wrote:
> > > On Mon, May 25, 2015 at 03:41:18PM -0500, Larry Rosenman wrote:
> > > > I have a boinc-client installation running World Community Grid science
> > > > that's been working fine for months. 
> > > > 
> > > > Updated to current -HEAD, and now we crash the kernel if it's running. 
> > > > 
> > > > The backtrace points to the linuxulator. 
> > > > 
> > > r283544, but this is not final fix.
> > > 
> > > chd
> > 
> > Thanks!  That fixes the crash -- I'll watch for follow-on commits.
> > 
> this need more testing before land:
> 
> 
> diff --git a/sys/compat/linux/linux_emul.c b/sys/compat/linux/linux_emul.c
> index a28da8d..c2bf3ae 100644
> --- a/sys/compat/linux/linux_emul.c
> +++ b/sys/compat/linux/linux_emul.c
> @@ -219,6 +219,18 @@ void
>  linux_proc_exec(void *arg __unused, struct proc *p, struct image_params *imgp)
>  {
>  	struct thread *td = curthread;
> +	struct thread *othertd;
> +
> +	/*
> +	 * In a case of execing from linux binary properly detach
> +	 * other threads from the user space.
> +	 */
> +	if (__predict_false(SV_PROC_ABI(p) == SV_ABI_LINUX)) {
> +		FOREACH_THREAD_IN_PROC(p, othertd) {
> +			if (td != othertd)
> +				(p->p_sysent->sv_thread_detach)(othertd);
> +		}
> +	}
>  
>  	/*
>  	 * In a case of execing to linux binary we create linux
> -- 
> Have fun!
> chd


Applied, and running -- will let you know if it crashes or mis-behaves. 

-- 
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 214-642-9640                 E-Mail: ler@lerctr.org
US Mail: 108 Turvey Cove, Hutto, TX 78634-5688



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