nfsd: let nfsd_symlink assume null-terminated data
authorJ. Bruce Fields <bfields@redhat.com>
Fri, 20 Jun 2014 15:52:21 +0000 (11:52 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Tue, 8 Jul 2014 21:14:23 +0000 (17:14 -0400)
commit52ee04330f585d1b5bc40442f07df07248fa3aee
tree6a176680872e4bc505cdf410645afe9252ad2619
parent0aeae33f5d5fbd4af775e7c84795db9254d4a165
nfsd: let nfsd_symlink assume null-terminated data

Currently nfsd_symlink has a weird hack to serve callers who don't
null-terminate symlink data: it looks ahead at the next byte to see if
it's zero, and copies it to a new buffer to null-terminate if not.

That means callers don't have to null-terminate, but they *do* have to
ensure that the byte following the end of the data is theirs to read.

That's a bit subtle, and the NFSv4 code actually got this wrong.

So let's just throw out that code and let callers pass null-terminated
strings; we've already fixed them to do that.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs3proc.c
fs/nfsd/nfs4proc.c
fs/nfsd/nfsproc.c
fs/nfsd/vfs.c
fs/nfsd/vfs.h