sunrpc: gss_pipe_downcall(), don't assume all errors are transient
commitffc40f569272b6be60c66441aeae79a686ff54d9
authorKevin Coffman <kwc@citi.umich.edu>
Fri, 9 Nov 2007 23:42:04 +0000 (9 18:42 -0500)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 17 Nov 2007 18:08:45 +0000 (17 13:08 -0500)
tree1158008abba8849353d1da11ce66d762f4838df5
parentb09b9417d074e01a4e4ab5c19358f1b3dc76c1b2
sunrpc: gss_pipe_downcall(), don't assume all errors are transient

Instead of mapping all errors except EACCES to EAGAIN, map all errors
except EAGAIN to EACCES.

An example is user-land negotiating a Kerberos context with an encryption
type that is not supported by the kernel code.  (This can happen due to
mis-configuration or a bug in the Kerberos code that does not honor our
request to limit the encryption types negotiated.)  This failure is not
transient, and returning EAGAIN causes mount to continuously retry rather
than giving up.

Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
net/sunrpc/auth_gss/auth_gss.c