linux/fs/cifs
Ronnie Sahlberg 271b9c0c80 smb3: Fix rmdir compounding regression to strict servers
Some servers require that the setinfo matches the exact size,
and in this case compounding changes introduced by
commit c2e0fe3f5a ("cifs: make rmdir() use compounding")
caused us to send 8 bytes (padded length) instead of 1 byte
(the size of the structure).  See MS-FSCC section 2.4.11.

Fixing this when we send a SET_INFO command for delete file
disposition, then ends up as an iov of a single byte but this
causes problems with SMB3 and encryption.

To avoid this, instead of creating a one byte iov for the disposition value
and then appending an additional iov with a 7 byte padding we now handle
this as a single 8 byte iov containing both the disposition byte as well as
the padding in one single buffer.

Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Acked-by: Paulo Alcantara <palcantara@suse.de>
2018-12-19 07:55:32 -06:00
..
asn1.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
cache.c cifs: use 64-bit timestamps for fscache 2018-08-07 14:15:41 -05:00
cifs_debug.c smb3: allow more detailed protocol info on open files for debugging 2018-11-02 14:09:41 -05:00
cifs_debug.h cifs: minor clarification in comments 2018-10-23 21:16:05 -05:00
cifs_dfs_ref.c CIFS: make 'nodfs' mount opt a superblock flag 2018-10-23 21:16:05 -05:00
cifs_fs_sb.h CIFS: make 'nodfs' mount opt a superblock flag 2018-10-23 21:16:05 -05:00
cifs_ioctl.h cifs: add IOCTL for QUERY_INFO passthrough to userspace 2018-10-23 21:16:05 -05:00
cifs_spnego.c smb3: on kerberos mount if server doesn't specify auth type use krb5 2018-11-02 14:09:41 -05:00
cifs_spnego.h [CIFS] Rename three structures to avoid camel case 2011-05-27 04:34:02 +00:00
cifs_unicode.c fs/cifs: don't translate SFM_SLASH (U+F026) to backslash 2018-09-02 23:21:42 -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 cifs: correction of unicode header files 2010-08-20 00:46:42 +00:00
cifsacl.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
cifsacl.h cifs: For SMB2 security informaion query, check for minimum sized security descriptor instead of sizeof FileAllInformation class 2018-06-04 19:19:24 -05:00
cifsencrypt.c cifs: Make sure all data pages are signed correctly 2018-08-07 14:15:41 -05:00
cifsfs.c cifs: don't dereference smb_file_target before null check 2018-11-02 14:09:42 -05:00
cifsfs.h CIFS: Add support for direct I/O write 2018-11-02 14:09:42 -05:00
cifsglob.h CIFS: Add support for direct I/O read 2018-11-02 14:09:41 -05:00
cifspdu.h smb3: missing defines and structs for reparse point handling 2018-11-02 14:09:41 -05:00
cifsproto.h cifs: OFD locks do not conflict with eachothers 2018-10-23 21:16:05 -05:00
cifssmb.c CIFS: pass page offsets on SMB1 read/write 2018-10-23 21:16:05 -05:00
connect.c Merge branch 'work.afs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2018-11-01 19:58:52 -07:00
dir.c cifs: Fix separator when building path from dentry 2018-12-06 02:20:17 -06:00
dns_resolve.c cifs: fix composing of mount options for DFS referrals 2013-05-24 13:08:31 -05:00
dns_resolve.h DNS: Separate out CIFS DNS Resolver code 2010-08-05 17:17:51 +00:00
export.c [CIFS] cifs: Rename cERROR and cFYI to cifs_dbg 2013-05-04 22:17:23 -05:00
file.c CIFS: Avoid returning EBUSY to upper layer VFS 2018-12-07 00:59:23 -06:00
fscache.c cifs: use 64-bit timestamps for fscache 2018-08-07 14:15:41 -05:00
fscache.h cifs: use 64-bit timestamps for fscache 2018-08-07 14:15:41 -05:00
inode.c cifs: fix spelling mistake, EACCESS -> EACCES 2018-11-02 14:09:41 -05:00
ioctl.c cifs: add support for ioctl on directories 2018-10-23 21:16:05 -05:00
Kconfig cifs: In Kconfig CONFIG_CIFS_POSIX needs depends on legacy (insecure cifs) 2018-12-06 02:20:14 -06:00
link.c smb3: don't request leases in symlink creation and query 2018-08-07 14:15:57 -05:00
Makefile smb3: Add ftrace tracepoints for improved SMB3 debugging 2018-05-27 17:56:35 -05:00
misc.c Merge branch 'work.afs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2018-11-01 19:58:52 -07:00
netmisc.c cifs: use timespec64 internally 2018-08-07 14:15:41 -05:00
nterr.c CIFS: Rename 7 error codes to NT_ style 2012-07-24 10:25:10 -05:00
nterr.h CIFS: Rename 7 error codes to NT_ style 2012-07-24 10:25:10 -05:00
ntlmssp.h cifs: dynamic allocation of ntlmssp blob 2016-06-23 23:45:07 -05:00
readdir.c cifs: prevent integer overflow in nxt_dir_entry() 2018-09-12 09:27:57 -05:00
rfc1002pdu.h
sess.c cifs: check kmalloc before use 2018-08-23 15:10:49 -05:00
smb1ops.c cifs: simple stats should always be enabled 2018-08-07 14:20:22 -05:00
smb2file.c cifs: Fix stack out-of-bounds in smb{2,3}_create_lease_buf() 2018-07-05 13:48:25 -05:00
smb2glob.h cifs: change SMB2_OP_RENAME and SMB2_OP_HARDLINK to use compounding 2018-10-23 21:16:04 -05:00
smb2inode.c smb3: Fix rmdir compounding regression to strict servers 2018-12-19 07:55:32 -06:00
smb2maperror.c smb3: do not display confusing message on mount to Azure servers 2018-10-23 21:16:03 -05:00
smb2misc.c smb3: minor debugging clarifications in rfc1001 len processing 2018-09-02 23:21:42 -05:00
smb2ops.c smb3: Fix rmdir compounding regression to strict servers 2018-12-19 07:55:32 -06:00
smb2pdu.c smb3: allow more detailed protocol info on open files for debugging 2018-11-02 14:09:41 -05:00
smb2pdu.h smb3: missing defines and structs for reparse point handling 2018-11-02 14:09:41 -05:00
smb2proto.h smb3: Fix rmdir compounding regression to strict servers 2018-12-19 07:55:32 -06:00
smb2status.h CIFS: Add SMB2 status codes 2012-07-24 10:25:13 -05:00
smb2transport.c CIFS: fix uninitialized ptr deref in smb2 signing 2018-08-07 14:30:59 -05:00
smbdirect.c Merge branch 'work.afs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2018-11-01 19:58:52 -07:00
smbdirect.h cifs: fix SMB1 breakage 2018-07-05 13:48:24 -05:00
smbencrypt.c CIFS: refactor crypto shash/sdesc allocation&free 2018-04-01 20:24:39 -05:00
smberr.h cifs: map NT_STATUS_ERROR_WRITE_PROTECTED to -EROFS 2010-08-02 12:40:40 +00:00
smbfsctl.h [SMB3] Send durable handle v2 contexts when use of persistent handles required 2015-11-03 09:26:27 -06:00
trace.c smb3: Add ftrace tracepoints for improved SMB3 debugging 2018-05-27 17:56:35 -05:00
trace.h smb3: add trace point for tree connection 2018-11-02 14:09:41 -05:00
transport.c Merge branch 'work.afs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2018-11-01 19:58:52 -07:00
winucase.c [CIFS] quiet sparse compile warning 2013-09-08 14:54:24 -05:00
xattr.c smb3: create smb3 equivalent alias for cifs pseudo-xattrs 2018-08-10 18:46:58 -05:00