From owner-freebsd-current Sun Jun 11 12: 3: 6 2000 Delivered-To: freebsd-current@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id A6F5037B5F4 for ; Sun, 11 Jun 2000 12:03:03 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id MAA28732; Sun, 11 Jun 2000 12:03:02 -0700 (PDT) (envelope-from dillon) Date: Sun, 11 Jun 2000 12:03:02 -0700 (PDT) From: Matthew Dillon Message-Id: <200006111903.MAA28732@apollo.backplane.com> To: Jonathan Hanna Cc: freebsd-current@FreeBSD.ORG Subject: Re: RE: Strange rpc.statd and mount_nfs References: <200006111610.JAA06425@cr1003333-a.crdva1.bc.home.com> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG :>:- auth_destroy(clp->cl_auth); :>:- clnt_destroy(clp); :>: retrycnt = 0; :>: } :>:+ auth_destroy(clp->cl_auth); :>:+ clnt_destroy(clp); :>:+ so = RPC_ANYSOCK; :> :> Good catch! This patch looks good to me, I am going to go ahead :> and commit it. :> :> Resetting 'so' is good code form, but I went through the rpc code :> and it wasn't an operational bug ... the rpc code can overwrite so :> in the case of a failure but only with '-1', which is RPC_ANYSOCK :> anyway. Still, it's good not to make assumptions. :> :> -Matt : :Without the "so = RPC_ANYSOCK" and no other changes, the "weak credential" :failure turned into a "bad file descriptor" failure, so I think the non -1 :socket fd is being reused. Perhaps the initialization of "so" should be moved :into the retry loop. : :Jonathan Hanna Hmm. Yes, there does appear to be an issue there. The 'goto tryagain' on line 777 is leaving the clp and al_auth allocated as well, so there is a memory leak there too. I'll do a whole cleanup on the code and post a more involved patch. -Matt Matthew Dillon To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message