cifs: fix return value for cifs_listxattr
authorRonnie Sahlberg <lsahlber@redhat.com>
Thu, 25 Oct 2018 05:43:36 +0000 (15:43 +1000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Nov 2018 15:12:58 +0000 (16:12 +0100)
commite4ed4e68c6d8aba1e4cd63979e7ac7f42075e21a
treeafb07d56c1dbf1d0b68c56e22b1e4fefb84f9cc7
parentad1834fd8a479f499918107e1f97591eb0a4b39f
cifs: fix return value for cifs_listxattr

[ Upstream commit 0c5d6cb6643f48ad3775322f3ebab6c7eb67484e ]

If the application buffer was too small to fit all the names
we would still count the number of bytes and return this for
listxattr. This would then trigger a BUG in usercopy.c

Fix the computation of the size so that we return -ERANGE
correctly when the buffer is too small.

This fixes the kernel BUG for xfstest generic/377

Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/cifs/smb2ops.c