OK, I need more coffee :) -dros On Mar 28, 2012, at 11:08 AM, Myklebust, Trond wrote: > On Wed, 2012-03-28 at 15:07 +0000, Adamson, Dros wrote: >> This should probably be sent to stable. > > See below. :-) > >> -dros >> >> On Mar 27, 2012, at 6:35 PM, Trond Myklebust wrote: >> >>> We can currently loop forever in nfs4_lookup_root() and in >>> nfs41_proc_secinfo_no_name(), if the first iteration returns a >>> NFS4ERR_DELAY or something else that causes exception.retry to get >>> set. >>> >>> Reported-by: Dros Adamson <Weston.Adamson@xxxxxxxxxx> >>> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> >>> Cc: stable@xxxxxxxxxxxxxxx >>> --- >>> fs/nfs/nfs4proc.c | 6 ++++-- >>> 1 files changed, 4 insertions(+), 2 deletions(-) >>> >>> diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c >>> index 45df7d4..ee9ca19 100644 >>> --- a/fs/nfs/nfs4proc.c >>> +++ b/fs/nfs/nfs4proc.c >>> @@ -2290,11 +2290,12 @@ static int nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle, >>> switch (err) { >>> case 0: >>> case -NFS4ERR_WRONGSEC: >>> - break; >>> + goto out; >>> default: >>> err = nfs4_handle_exception(server, err, &exception); >>> } >>> } while (exception.retry); >>> +out: >>> return err; >>> } >>> >>> @@ -6229,11 +6230,12 @@ nfs41_proc_secinfo_no_name(struct nfs_server *server, struct nfs_fh *fhandle, >>> case 0: >>> case -NFS4ERR_WRONGSEC: >>> case -NFS4ERR_NOTSUPP: >>> - break; >>> + goto out; >>> default: >>> err = nfs4_handle_exception(server, err, &exception); >>> } >>> } while (exception.retry); >>> +out: >>> return err; >>> } >>> >>> -- >>> 1.7.7.6 >>> >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in >>> the body of a message to majordomo@xxxxxxxxxxxxxxx >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >> > > -- > Trond Myklebust > Linux NFS client maintainer > > NetApp > Trond.Myklebust@xxxxxxxxxx > www.netapp.com >
Attachment:
smime.p7s
Description: S/MIME cryptographic signature