diff options
Diffstat (limited to 'usr/src/uts/common/fs/nfs/nfs_auth.c')
-rw-r--r-- | usr/src/uts/common/fs/nfs/nfs_auth.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/usr/src/uts/common/fs/nfs/nfs_auth.c b/usr/src/uts/common/fs/nfs/nfs_auth.c index a1dada5ba0..d803531e09 100644 --- a/usr/src/uts/common/fs/nfs/nfs_auth.c +++ b/usr/src/uts/common/fs/nfs/nfs_auth.c @@ -766,6 +766,7 @@ nfsauth_refresh_thread(void) int nfsauth_cache_get(struct exportinfo *exi, struct svc_req *req, int flavor) { + struct netbuf *taddrmask; struct netbuf addr; struct netbuf *claddr; struct auth_cache **head; @@ -790,7 +791,10 @@ nfsauth_cache_get(struct exportinfo *exi, struct svc_req *req, int flavor) addr = *claddr; addr.buf = kmem_alloc(addr.len, KM_SLEEP); bcopy(claddr->buf, addr.buf, claddr->len); - addrmask(&addr, svc_getaddrmask(req->rq_xprt)); + SVC_GETADDRMASK(req->rq_xprt, SVC_TATTR_ADDRMASK, (void **)&taddrmask); + ASSERT(taddrmask != NULL); + if (taddrmask) + addrmask(&addr, taddrmask); rw_enter(&exi->exi_cache_lock, RW_READER); head = &exi->exi_cache[hash(&addr)]; |