[PATCH] make nsswitch and libwbclient thread safe / Coverity findings

Jeremy Allison jra at samba.org
Fri Nov 9 20:00:49 UTC 2018


On Fri, Nov 09, 2018 at 12:31:39PM +0100, Volker Lendecke via samba-technical wrote:
> On Fri, Nov 09, 2018 at 11:42:15AM +0100, Ralph Wuerthner via samba-technical wrote:
> > Hi!
> > 
> > Volker pointed me to two Coverity findings in stress-nss-libwbclient.c.
> > Please see attached patchset to address these findings.
> 
> RB+. Another one?

LGTM. RB+ and pushed !

> > 
> > On 31.10.18 19:50, Jeremy Allison via samba-technical wrote:
> > > On Wed, Oct 31, 2018 at 07:46:26PM +0100, Andreas Schneider via samba-technical wrote:
> > > > On Monday, 29 October 2018 18:29:21 CET Jeremy Allison wrote:
> > > > > On Mon, Oct 29, 2018 at 05:28:37PM +0100, Volker Lendecke via samba-
> > > > technical wrote:
> > > > > > On Mon, Oct 29, 2018 at 09:20:57AM -0700, Jeremy Allison wrote:
> > > > > > > Ping for Ralph and Volker.
> > > > > > > 
> > > > > > > I'd love to get this into master if you both are
> > > > > > > happy with it !
> > > > > > 
> > > > > > Ralph has found that the nss_wrapper needs some fixes. Attached find
> > > > > > my patchset with my Reviewed-By: (really just finished). We can't put
> > > > > > that into Samba, because the nss_wrapper piece needs to wait for the
> > > > > > nss_wrapper team to get to the point where they have enough patches to
> > > > > > justify a release. Then we need a patch to upgrade the in-tree
> > > > > > nss_wrapper copy, and *then* we can start thinking about putting this
> > > > > > into Samba. We will start working on that process asap.
> > > > > 
> > > > > Ah, the perils of depending on third-party :-).
> > > > > 
> > > > > Pinging Andreas.... !
> > > > 
> > > > A new nss_wrapper version is in autobuild. I guess you need to rebase that
> > > > patchset once it lands in master and then push it.
> > > 
> > > Will do, thanks !
> > > 
> > 
> > -- 
> > Regards
> > 
> > Ralph
> 
> > From d204f1013650bfd74fa7bbdcf3fe501586db8fce Mon Sep 17 00:00:00 2001
> > From: Ralph Wuerthner <ralph.wuerthner at de.ibm.com>
> > Date: Fri, 9 Nov 2018 08:58:31 +0100
> > Subject: [PATCH 1/2] nsswitch: Fix CID 1441072 Error handling issues
> >  (CHECKED_RETURN)
> > 
> > Signed-off-by: Ralph Wuerthner <ralph.wuerthner at de.ibm.com>
> > ---
> >  nsswitch/stress-nss-libwbclient.c | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> > 
> > diff --git a/nsswitch/stress-nss-libwbclient.c b/nsswitch/stress-nss-libwbclient.c
> > index cf85ff3..740ad0e 100644
> > --- a/nsswitch/stress-nss-libwbclient.c
> > +++ b/nsswitch/stress-nss-libwbclient.c
> > @@ -118,7 +118,13 @@ int main(int argc, char *argv[])
> >  
> >  	state.username = argv[1];
> >  	state.timeout = time(NULL) + RUNTIME;
> > -	pthread_mutex_init(&state.lock, NULL);
> > +	rc = pthread_mutex_init(&state.lock, NULL);
> > +	if (rc != 0) {
> > +		fprintf(stderr,
> > +			"pthread_mutex_init failed: %s\n",
> > +			strerror(rc));
> > +		exit(1);
> > +	}
> >  	state.fail = false;
> >  	state.nss_loop_count = 0;
> >  	state.wbc_loop_count = 0;
> > -- 
> > 2.7.4
> > 
> > 
> > From 2c140c1876f53ed51ddfbd453df640879c344927 Mon Sep 17 00:00:00 2001
> > From: Ralph Wuerthner <ralph.wuerthner at de.ibm.com>
> > Date: Fri, 9 Nov 2018 09:01:29 +0100
> > Subject: [PATCH 2/2] nsswitch: Fix CID 1441070 Error handling issues
> >  (CHECKED_RETURN)
> > 
> > Signed-off-by: Ralph Wuerthner <ralph.wuerthner at de.ibm.com>
> > ---
> >  nsswitch/stress-nss-libwbclient.c | 9 ++++++++-
> >  1 file changed, 8 insertions(+), 1 deletion(-)
> > 
> > diff --git a/nsswitch/stress-nss-libwbclient.c b/nsswitch/stress-nss-libwbclient.c
> > index 740ad0e..df1d85c 100644
> > --- a/nsswitch/stress-nss-libwbclient.c
> > +++ b/nsswitch/stress-nss-libwbclient.c
> > @@ -149,7 +149,14 @@ int main(int argc, char *argv[])
> >  
> >  	/* wait for query threads to terminate */
> >  	for (n = 0; n < 2; n++) {
> > -		pthread_join(threads[n], NULL);
> > +		rc = pthread_join(threads[n], NULL);
> > +		if (rc != 0) {
> > +			fprintf(stderr,
> > +				"joining query thread %i failed: %s\n",
> > +				n,
> > +				strerror(rc));
> > +			exit(1);
> > +		}
> >  	}
> >  
> >  	fprintf(state.fail ? stderr: stdout,
> > -- 
> > 2.7.4
> > 
> 
> 
> -- 
> SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
> phone: +49-551-370000-0, fax: +49-551-370000-9
> AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
> http://www.sernet.de, mailto:kontakt at sernet.de
> 



More information about the samba-technical mailing list