diff options
Diffstat (limited to 'fs/nfsd/nfs3proc.c')
-rw-r--r-- | fs/nfsd/nfs3proc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfsd/nfs3proc.c b/fs/nfsd/nfs3proc.c index 8d1c2d1a159b..9eb8086ea841 100644 --- a/fs/nfsd/nfs3proc.c +++ b/fs/nfsd/nfs3proc.c | |||
@@ -290,6 +290,7 @@ nfsd3_proc_symlink(struct svc_rqst *rqstp) | |||
290 | RETURN_STATUS(nfserr_nametoolong); | 290 | RETURN_STATUS(nfserr_nametoolong); |
291 | 291 | ||
292 | argp->tname = svc_fill_symlink_pathname(rqstp, &argp->first, | 292 | argp->tname = svc_fill_symlink_pathname(rqstp, &argp->first, |
293 | page_address(rqstp->rq_arg.pages[0]), | ||
293 | argp->tlen); | 294 | argp->tlen); |
294 | if (IS_ERR(argp->tname)) | 295 | if (IS_ERR(argp->tname)) |
295 | RETURN_STATUS(nfserrno(PTR_ERR(argp->tname))); | 296 | RETURN_STATUS(nfserrno(PTR_ERR(argp->tname))); |
@@ -303,6 +304,7 @@ nfsd3_proc_symlink(struct svc_rqst *rqstp) | |||
303 | fh_init(&resp->fh, NFS3_FHSIZE); | 304 | fh_init(&resp->fh, NFS3_FHSIZE); |
304 | nfserr = nfsd_symlink(rqstp, &resp->dirfh, argp->fname, argp->flen, | 305 | nfserr = nfsd_symlink(rqstp, &resp->dirfh, argp->fname, argp->flen, |
305 | argp->tname, &resp->fh); | 306 | argp->tname, &resp->fh); |
307 | kfree(argp->tname); | ||
306 | RETURN_STATUS(nfserr); | 308 | RETURN_STATUS(nfserr); |
307 | } | 309 | } |
308 | 310 | ||