From 0a4b08109ed53cd50c90d18c62198d62eec19da0 Mon Sep 17 00:00:00 2001 From: Karen Rochford Date: Fri, 4 Jun 2010 08:57:54 -0500 Subject: 6937869 seeing some memory leaks from xdrrdma_create() 6920403 NFS/RDMA NFSv3 client directio READs fail for read size between 869 - 1023 bytes 6935135 NFS/RDMA ipv6 mount incorrectly if client's hostname in access_list --- usr/src/uts/common/fs/nfs/nfs_auth.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'usr/src/uts/common/fs/nfs/nfs_auth.c') 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)]; -- cgit v1.2.3