nfsd4: recheck for secure ports in fh_verify
authorJ. Bruce Fields <bfields@citi.umich.edu>
Mon, 12 Nov 2007 21:05:03 +0000 (16:05 -0500)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 12 Nov 2007 22:28:08 +0000 (14:28 -0800)
commit6fa02839bf9412e18e773d04e96182b4cd0b5d57
tree063ee35d4da2bd1289ae9e9a64b5f02c825ef5f2
parentac8587dcb58e40dd336d99d60f852041e06cc3dd
nfsd4: recheck for secure ports in fh_verify

As with commit 7fc90ec93a5eb71f4b08403baf5ba7176b3ec6b1 ("knfsd: nfsd:
call nfsd_setuser() on fh_compose(), fix nfsd4 permissions problem")
this is a case where we need to redo a security check in fh_verify()
even though the filehandle already has an associated dentry--if the
filehandle was created by fh_compose() in an earlier operation of the
nfsv4 compound, then we may not have done these checks yet.

Without this fix it is possible, for example, to traverse from an export
without the secure ports requirement to one with it in a single
compound, and bypass the secure port check on the new export.

While we're here, fix up some minor style problems and change a printk()
to a dprintk(), to make it harder for random unprivileged users to spam
the logs.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Reviewed-By: NeilBrown <neilb@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/nfsd/nfsfh.c