SUNRPC: Refactor logic to NUL-terminate strings in pages
Clean up: Introduce a helper to '\0'-terminate XDR strings that are placed in a page in the page cache. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:

committed by
Trond Myklebust

parent
38359352fc
commit
b4687da7fc
@@ -596,7 +596,6 @@ nfs_xdr_readlinkres(struct rpc_rqst *req, __be32 *p, void *dummy)
|
||||
struct kvec *iov = rcvbuf->head;
|
||||
size_t hdrlen;
|
||||
u32 len, recvd;
|
||||
char *kaddr;
|
||||
int status;
|
||||
|
||||
if ((status = ntohl(*p++)))
|
||||
@@ -623,10 +622,7 @@ nfs_xdr_readlinkres(struct rpc_rqst *req, __be32 *p, void *dummy)
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
/* NULL terminate the string we got */
|
||||
kaddr = (char *)kmap_atomic(rcvbuf->pages[0], KM_USER0);
|
||||
kaddr[len+rcvbuf->page_base] = '\0';
|
||||
kunmap_atomic(kaddr, KM_USER0);
|
||||
xdr_terminate_string(rcvbuf, len);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user