From owner-svn-src-all@FreeBSD.ORG Tue Jul 1 16:36:41 2014 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 981CE9ED; Tue, 1 Jul 2014 16:36:41 +0000 (UTC) Received: from mail-wg0-x234.google.com (mail-wg0-x234.google.com [IPv6:2a00:1450:400c:c00::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 939B424E1; Tue, 1 Jul 2014 16:36:40 +0000 (UTC) Received: by mail-wg0-f52.google.com with SMTP id x13so1093986wgg.35 for ; Tue, 01 Jul 2014 09:36:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:in-reply-to:references:reply-to :mime-version:content-type:content-transfer-encoding; bh=wajW2kBzdi6oE+ol2yorCyQhnz2oja8vEP36XlLRLBk=; b=CZVF8qvQ/sau516HhOvma3iGOfEpThhMP6pS/+t1X4a3XRDN5YmrRSevNkmwmbXcKc zQWD0VVdm2v5pnWTsBgfEw9KwBmmNOVxNR/MOem+UYaZe11S0ik4aVSwImvacpxnn5Av +l3/T753Qvd+DA5nEo+niYGyIzViL2w39bcNaApjN/bas6wJJ5zgpwtfxfbU6E1ftuFF 6wTX+Ll6H+2Nmo7BPesHTtDSGB1IpJ7hx6xpF25QZ7cSLw8l/ACuwKbx6dde9LZOw/dG 95rqbTWZOxzeXKImbF/dfGzgjuda590to/kr0mAqpghkUf1C2ksnHZh6AhwdYQtXgE3m CYRg== X-Received: by 10.180.206.73 with SMTP id lm9mr38420782wic.54.1404232598821; Tue, 01 Jul 2014 09:36:38 -0700 (PDT) Received: from ernst.home (p4FC0FE50.dip0.t-ipconnect.de. [79.192.254.80]) by mx.google.com with ESMTPSA id cz4sm44948150wib.23.2014.07.01.09.36.37 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Tue, 01 Jul 2014 09:36:38 -0700 (PDT) Date: Tue, 1 Jul 2014 18:36:35 +0200 From: Gary Jennejohn To: Mateusz Guzik Subject: Re: svn commit: r268074 - head/sys/kern Message-ID: <20140701183635.59bcd412@ernst.home> In-Reply-To: <20140701154111.GF26696@dft-labs.eu> References: <201407010629.s616TFul082441@svn.freebsd.org> <201407010940.57602.jhb@freebsd.org> <20140701141920.GC26696@dft-labs.eu> <20140701170524.76e41d9a@ernst.home> <20140701154111.GF26696@dft-labs.eu> Reply-To: gljennjohn@gmail.com X-Mailer: Claws Mail 3.10.1 (GTK+ 2.24.17; amd64-portbld-freebsd11.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Mateusz Guzik , John Baldwin X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jul 2014 16:36:41 -0000 On Tue, 1 Jul 2014 17:41:12 +0200 Mateusz Guzik wrote: > On Tue, Jul 01, 2014 at 05:05:24PM +0200, Gary Jennejohn wrote: > > On Tue, 1 Jul 2014 16:19:20 +0200 > > Mateusz Guzik 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. > > > > Sorry for breakage. > > Does the following fix the problem for you? > > diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c > index 91d161d..dc4eb9b 100644 > --- a/sys/kern/kern_exec.c > +++ b/sys/kern/kern_exec.c > @@ -625,8 +625,10 @@ interpret: > oldsigacts = p->p_sigacts; > newsigacts = sigacts_alloc(); > sigacts_copy(newsigacts, oldsigacts); > - } else > + } else { > oldsigacts = NULL; > + newsigacts = NULL; /* satisfy gcc */ > + } > > PROC_LOCK(p); > if (oldsigacts) > Yes, this also works. -- Gary Jennejohn