Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Jul 2014 17:05:24 +0200
From:      Gary Jennejohn <gljennjohn@gmail.com>
To:        Mateusz Guzik <mjguzik@gmail.com>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Mateusz Guzik <mjg@freebsd.org>, John Baldwin <jhb@freebsd.org>
Subject:   Re: svn commit: r268074 - head/sys/kern
Message-ID:  <20140701170524.76e41d9a@ernst.home>
In-Reply-To: <20140701141920.GC26696@dft-labs.eu>
References:  <201407010629.s616TFul082441@svn.freebsd.org> <201407010940.57602.jhb@freebsd.org> <20140701141920.GC26696@dft-labs.eu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 1 Jul 2014 16:19:20 +0200
Mateusz Guzik <mjguzik@gmail.com> wrote:

> On Tue, Jul 01, 2014 at 09:40:57AM -0400, John Baldwin wrote:
> > On Tuesday, July 01, 2014 2:29:15 am Mateusz Guzik wrote:
> > > Modified: head/sys/kern/kern_sig.c
> > > 
> > ==============================================================================
> > > --- head/sys/kern/kern_sig.c	Tue Jul  1 06:23:48 2014	(r268073)
> > > +++ head/sys/kern/kern_sig.c	Tue Jul  1 06:29:15 2014	(r268074)
> > > @@ -3453,10 +3453,6 @@ sigacts_copy(struct sigacts *dest, struc
> > >  int
> > >  sigacts_shared(struct sigacts *ps)
> > >  {
> > > -	int shared;
> > >  
> > > -	mtx_lock(&ps->ps_mtx);
> > > -	shared = ps->ps_refcnt > 1;
> > > -	mtx_unlock(&ps->ps_mtx);
> > > -	return (shared);
> > > +	return (ps->ps_refcnt > 1);
> > >  }
> > 
> > You should KASSERT() in sigacts_shared that P_HADTHREADS is not set so that 
> > new code does not call this function unsafely in the future.
> > 
> 
> Looks more like !P_HADTHREADS || p->p_singlethread != NULL on the first
> sight, but yeah, I'll add an assertion.
> 

Also, please fix the build with gcc, which dies with an error that
newsigacts may be use unitialzed.

What I did was set both oldsigacts and newsigacts to NULL before this
line at around 622:

if (sigacts_share(p->p_sigacts)) {

which allowed me to remove the else branch for setting oldsigacts to
NULL.

-- 
Gary Jennejohn



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