SUNRPC: Don't create a gss auth cache unless rpc.gssd is running
authorTrond Myklebust <trond.myklebust@primarydata.com>
Mon, 10 Feb 2014 21:28:52 +0000 (16:28 -0500)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Mon, 10 Feb 2014 21:49:17 +0000 (16:49 -0500)
commita699d65ec4ff82245d2c4fdfb8ed1d64776d756e
tree68a22b3495879ee3b12816fdebf15806026619ab
parentfd1defc257e2b12ab69bc0b379105c00eca4e112
SUNRPC: Don't create a gss auth cache unless rpc.gssd is running

An infinite loop is caused when nfs4_establish_lease() fails
with -EACCES. This causes nfs4_handle_reclaim_lease_error()
to sleep a bit and resets the NFS4CLNT_LEASE_EXPIRED bit.
This in turn causes nfs4_state_manager() to try and
reestablished the lease, again, again, again...

The problem is a valid RPCSEC_GSS client is being created when
rpc.gssd is not running.

Link: http://lkml.kernel.org/r/1392066375-16502-1-git-send-email-steved@redhat.com
Fixes: 0ea9de0ea6a4 (sunrpc: turn warn_gssd() log message into a dprintk())
Reported-by: Steve Dickson <steved@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
net/sunrpc/auth_gss/auth_gss.c