nfsd/idmap: return nfserr_inval for 0-length names
authorKinglong Mee <kinglongmee@gmail.com>
Sun, 5 Feb 2017 14:02:01 +0000 (22:02 +0800)
committerJ. Bruce Fields <bfields@redhat.com>
Fri, 17 Feb 2017 21:25:59 +0000 (16:25 -0500)
commitc3821b3497aae1752cb2be72c32f650ef24c8820
treed81308296a2279a0032c58e7313016f36bfdf659
parentd6fc8821c2d2aba4cc18447a467f543e46e7367d
nfsd/idmap: return nfserr_inval for 0-length names

Tigran Mkrtchyan's new pynfs testcases for zero length principals fail:

SATT16   st_setattr.testEmptyPrincipal                            : FAILURE
           Setting empty owner should return NFS4ERR_INVAL,
           instead got NFS4ERR_BADOWNER
SATT17   st_setattr.testEmptyGroupPrincipal                       : FAILURE
           Setting empty owner_group should return NFS4ERR_INVAL,
           instead got NFS4ERR_BADOWNER

This patch checks the principal and returns nfserr_inval directly.  It
could check after decoding in nfs4xdr.c, but it's simpler to do it in
nfsd_map_xxxx.

Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4idmap.c