linux/fs/cifs
Paulo Alcantara ae2cd7fb47 cifs: smb2ops: Fix listxattr() when there are no EAs
As per listxattr(2):

       On success, a nonnegative number is returned indicating the size
       of the extended attribute name list.  On failure, -1 is returned
       and errno  is set appropriately.

In SMB1, when the server returns an empty EA list through a listxattr(),
it will correctly return 0 as there are no EAs for the given file.

However, in SMB2+, it returns -ENODATA in listxattr() which is wrong since
the request and response were sent successfully, although there's no actual
EA for the given file.

This patch fixes listxattr() for SMB2+ by returning 0 in cifs_listxattr()
when the server returns an empty list of EAs.

Signed-off-by: Paulo Alcantara <palcantara@suse.de>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
Signed-off-by: Steve French <smfrench@gmail.com>
2018-05-09 11:48:42 -05:00
..
asn1.c
cache.c fscache: Pass object size in rather than calling back for it 2018-04-06 14:05:14 +01:00
cifs_debug.c CIFS: add ONCE flag for cifs_dbg type 2018-04-11 16:44:58 -05:00
cifs_debug.h CIFS: fix typo in cifs_dbg 2018-04-20 13:39:10 -05:00
cifs_dfs_ref.c CIFS: add build_path_from_dentry_optional_prefix() 2017-03-01 22:26:10 -06:00
cifs_fs_sb.h Rename superblock flags (MS_xyz -> SB_xyz) 2017-11-27 13:05:09 -08:00
cifs_ioctl.h Enable previous version support 2016-10-13 19:48:11 -05:00
cifs_spnego.c cifs: Create dedicated keyring for spnego operations 2016-05-19 21:56:30 -05:00
cifs_spnego.h
cifs_unicode.c [SMB3] Remove ifdef since SMB3 (and later) now STRONGLY preferred 2017-07-08 18:57:07 -05:00
cifs_unicode.h [SMB3] Remove ifdef since SMB3 (and later) now STRONGLY preferred 2017-07-08 18:57:07 -05:00
cifs_uniupr.h
cifsacl.c fs/cifs/cifsacl.c Fixes typo in a comment 2018-01-28 09:19:45 -06:00
cifsacl.h
cifsencrypt.c CIFS: fix sha512 check in cifs_crypto_secmech_release 2018-04-01 20:24:40 -05:00
cifsfs.c CIFS: add sha512 secmech 2018-04-01 20:24:39 -05:00
cifsfs.h update internal version number for cifs.ko 2018-01-26 17:03:01 -06:00
cifsglob.h cifs: add resp_buf_size to the mid_q_entry structure 2018-04-12 20:32:48 -05:00
cifspdu.h CIFS: move DFS response parsing out of SMB1 code 2017-03-01 22:26:10 -06:00
cifsproto.h CIFS: refactor crypto shash/sdesc allocation&free 2018-04-01 20:24:39 -05:00
cifssmb.c cifs: smbd: Don't use RDMA read/write when signing is used 2018-04-25 11:15:53 -05:00
connect.c cifs: smbd: Enable signing with smbdirect 2018-05-09 11:48:35 -05:00
dir.c cifs: do not allow creating sockets except with SMB1 posix exensions 2018-04-20 13:31:32 -05:00
dns_resolve.c cifs: fix composing of mount options for DFS referrals 2013-05-24 13:08:31 -05:00
dns_resolve.h
export.c
file.c fs: cifs: Adding new return type vm_fault_t 2018-04-17 14:44:35 -05:00
fscache.c fscache: Pass object size in rather than calling back for it 2018-04-06 14:05:14 +01:00
fscache.h fscache: Attach the index key and aux data to the cookie 2018-04-04 13:41:28 +01:00
inode.c cifs: Use ULL suffix for 64-bit constant 2018-04-11 16:44:58 -05:00
ioctl.c [SMB3] Remove ifdef since SMB3 (and later) now STRONGLY preferred 2017-07-08 18:57:07 -05:00
Kconfig cifs: smbd: depend on INFINIBAND_ADDR_TRANS 2018-04-27 11:15:44 -04:00
link.c CIFS: refactor crypto shash/sdesc allocation&free 2018-04-01 20:24:39 -05:00
Makefile CIFS: SMBD: Establish SMB Direct connection 2018-01-24 19:49:05 -06:00
misc.c CIFS: refactor crypto shash/sdesc allocation&free 2018-04-01 20:24:39 -05:00
netmisc.c cifs: small underflow in cnvrtDosUnixTm() 2017-05-02 14:57:34 -05:00
nterr.c
nterr.h
ntlmssp.h cifs: dynamic allocation of ntlmssp blob 2016-06-23 23:45:07 -05:00
readdir.c cifs: initialize file_info_lock 2017-01-14 14:58:29 -06:00
rfc1002pdu.h
sess.c smb2: Enforce sec= mount option 2017-03-02 23:13:37 -06:00
smb1ops.c cifs: add server->vals->header_preamble_size 2018-04-02 13:09:44 -05:00
smb2file.c CIFS: use tcon_ipc instead of use_ipc parameter of SMB2_ioctl 2018-01-26 17:03:00 -06:00
smb2glob.h CIFS: Separate SMB2 header structure 2017-02-01 16:46:34 -06:00
smb2inode.c Do not send SMB3 SET_INFO request if nothing is changing 2016-10-13 19:46:51 -05:00
smb2maperror.c Don't log expected error on DFS referral request 2018-04-01 20:24:40 -05:00
smb2misc.c smb3.11: replace a 4 with server->vals->header_preamble_size 2018-04-12 20:32:13 -05:00
smb2ops.c cifs: smb2ops: Fix listxattr() when there are no EAs 2018-05-09 11:48:42 -05:00
smb2pdu.c cifs: smbd: Enable signing with smbdirect 2018-05-09 11:48:35 -05:00
smb2pdu.h SMB3: Fix 3.11 encryption to Windows and handle encrypted smb3 tcon 2018-04-24 10:07:14 -05:00
smb2proto.h cifs: Change SMB2_open to return an iov for the error parameter 2018-04-12 20:32:50 -05:00
smb2status.h
smb2transport.c cifs: add resp_buf_size to the mid_q_entry structure 2018-04-12 20:32:48 -05:00
smbdirect.c cifs: smbd: Avoid allocating iov on the stack 2018-04-25 11:15:58 -05:00
smbdirect.h move a few externs to smbdirect.h to eliminate warning 2018-01-26 17:03:00 -06:00
smbencrypt.c CIFS: refactor crypto shash/sdesc allocation&free 2018-04-01 20:24:39 -05:00
smberr.h
smbfsctl.h [SMB3] Send durable handle v2 contexts when use of persistent handles required 2015-11-03 09:26:27 -06:00
transport.c SMB311: Fix reconnect 2018-04-25 11:15:20 -05:00
winucase.c [CIFS] quiet sparse compile warning 2013-09-08 14:54:24 -05:00
xattr.c Rename superblock flags (MS_xyz -> SB_xyz) 2017-11-27 13:05:09 -08:00