Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Jun 2000 09:10:38 -0700 (PDT)
From:      Jonathan Hanna <pangolin@home.com>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: RE: Strange rpc.statd and mount_nfs
Message-ID:  <200006111610.JAA06425@cr1003333-a.crdva1.bc.home.com>
In-Reply-To: <200006110511.WAA24596@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On 11-Jun-00 Matthew Dillon wrote:
>:Here is a rather suspicious fix, I have not looked at rpc call
>:use in detail:
>:
>:--- mount_nfs.c.orig    Sat Jun 10 11:08:19 2000
>:+++ mount_nfs.c Sat Jun 10 11:09:06 2000
>:@@ -784,10 +784,11 @@
>:                                                warnx("%s", clnt_sperror(clp,
>:                                                    "bad MNT RPC"));
>:                                } else {
>:-                                       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 <pangolin@home.com>



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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