diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-11 13:17:13 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-11 13:17:13 -0400 |
commit | 0ff08ba5d066619f9973bfcdb5a21320d54219d0 (patch) | |
tree | 526e4a5799eb3023e9d5d81e81c0964b1d928a3e /net/sunrpc/svcauth_unix.c | |
parent | c72bb316916b1a6cf35e1d5238566ef27b0b7f80 (diff) | |
parent | d109148111cdfcdae94f797dc142468bd0ff7557 (diff) |
Merge branch 'for-3.11' of git://linux-nfs.org/~bfields/linux
Pull nfsd changes from Bruce Fields:
"Changes this time include:
- 4.1 enabled on the server by default: the last 4.1-specific issues
I know of are fixed, so we're not going to find the rest of the
bugs without more exposure.
- Experimental support for NFSv4.2 MAC Labeling (to allow running
selinux over NFS), from Dave Quigley.
- Fixes for some delicate cache/upcall races that could cause rare
server hangs; thanks to Neil Brown and Bodo Stroesser for extreme
debugging persistence.
- Fixes for some bugs found at the recent NFS bakeathon, mostly v4
and v4.1-specific, but also a generic bug handling fragmented rpc
calls"
* 'for-3.11' of git://linux-nfs.org/~bfields/linux: (31 commits)
nfsd4: support minorversion 1 by default
nfsd4: allow destroy_session over destroyed session
svcrpc: fix failures to handle -1 uid's
sunrpc: Don't schedule an upcall on a replaced cache entry.
net/sunrpc: xpt_auth_cache should be ignored when expired.
sunrpc/cache: ensure items removed from cache do not have pending upcalls.
sunrpc/cache: use cache_fresh_unlocked consistently and correctly.
sunrpc/cache: remove races with queuing an upcall.
nfsd4: return delegation immediately if lease fails
nfsd4: do not throw away 4.1 lock state on last unlock
nfsd4: delegation-based open reclaims should bypass permissions
svcrpc: don't error out on small tcp fragment
svcrpc: fix handling of too-short rpc's
nfsd4: minor read_buf cleanup
nfsd4: fix decoding of compounds across page boundaries
nfsd4: clean up nfs4_open_delegation
NFSD: Don't give out read delegations on creates
nfsd4: allow client to send no cb_sec flavors
nfsd4: fail attempts to request gss on the backchannel
nfsd4: implement minimal SP4_MACH_CRED
...
Diffstat (limited to 'net/sunrpc/svcauth_unix.c')
-rw-r--r-- | net/sunrpc/svcauth_unix.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/sunrpc/svcauth_unix.c b/net/sunrpc/svcauth_unix.c index 06bdf5a1082c..621ca7b4a155 100644 --- a/net/sunrpc/svcauth_unix.c +++ b/net/sunrpc/svcauth_unix.c | |||
@@ -347,13 +347,13 @@ ip_map_cached_get(struct svc_xprt *xprt) | |||
347 | spin_lock(&xprt->xpt_lock); | 347 | spin_lock(&xprt->xpt_lock); |
348 | ipm = xprt->xpt_auth_cache; | 348 | ipm = xprt->xpt_auth_cache; |
349 | if (ipm != NULL) { | 349 | if (ipm != NULL) { |
350 | if (!cache_valid(&ipm->h)) { | 350 | sn = net_generic(xprt->xpt_net, sunrpc_net_id); |
351 | if (cache_is_expired(sn->ip_map_cache, &ipm->h)) { | ||
351 | /* | 352 | /* |
352 | * The entry has been invalidated since it was | 353 | * The entry has been invalidated since it was |
353 | * remembered, e.g. by a second mount from the | 354 | * remembered, e.g. by a second mount from the |
354 | * same IP address. | 355 | * same IP address. |
355 | */ | 356 | */ |
356 | sn = net_generic(xprt->xpt_net, sunrpc_net_id); | ||
357 | xprt->xpt_auth_cache = NULL; | 357 | xprt->xpt_auth_cache = NULL; |
358 | spin_unlock(&xprt->xpt_lock); | 358 | spin_unlock(&xprt->xpt_lock); |
359 | cache_put(&ipm->h, sn->ip_map_cache); | 359 | cache_put(&ipm->h, sn->ip_map_cache); |
@@ -493,8 +493,6 @@ static int unix_gid_parse(struct cache_detail *cd, | |||
493 | if (rv) | 493 | if (rv) |
494 | return -EINVAL; | 494 | return -EINVAL; |
495 | uid = make_kuid(&init_user_ns, id); | 495 | uid = make_kuid(&init_user_ns, id); |
496 | if (!uid_valid(uid)) | ||
497 | return -EINVAL; | ||
498 | ug.uid = uid; | 496 | ug.uid = uid; |
499 | 497 | ||
500 | expiry = get_expiry(&mesg); | 498 | expiry = get_expiry(&mesg); |