linux_dsm_epyc7002/fs/cifs
Steve French 1d0cffa674 cifs: do not allow creating sockets except with SMB1 posix exensions
RHBZ: 1453123

Since at least the 3.10 kernel and likely a lot earlier we have
not been able to create unix domain sockets in a cifs share
when mounted using the SFU mount option (except when mounted
with the cifs unix extensions to Samba e.g.)
Trying to create a socket, for example using the af_unix command from
xfstests will cause :
BUG: unable to handle kernel NULL pointer dereference at 00000000
00000040

Since no one uses or depends on being able to create unix domains sockets
on a cifs share the easiest fix to stop this vulnerability is to simply
not allow creation of any other special files than char or block devices
when sfu is used.

Added update to Ronnie's patch to handle a tcon link leak, and
to address a buf leak noticed by Gustavo and Colin.

Acked-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
CC:  Colin Ian King <colin.king@canonical.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
Reported-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
Cc: stable@vger.kernel.org
2018-04-20 13:31:32 -05:00
..
asn1.c [CIFS] cifs: Rename cERROR and cFYI to cifs_dbg 2013-05-04 22:17:23 -05:00
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: add ONCE flag for cifs_dbg type 2018-04-11 16:44:58 -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] Rename three structures to avoid camel case 2011-05-27 04:34:02 +00:00
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 cifs: correction of unicode header files 2010-08-20 00:46:42 +00:00
cifsacl.c fs/cifs/cifsacl.c Fixes typo in a comment 2018-01-28 09:19:45 -06:00
cifsacl.h cifs: fix SID binary to string conversion 2012-12-11 11:48:49 -06:00
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: remove rfc1002 hardcoded constants from cifs_discard_remaining_data() 2018-04-12 20:32:53 -05:00
connect.c cifs: add resp_buf_size to the mid_q_entry structure 2018-04-12 20:32:48 -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 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 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 SMB3.1.1 dialect is no longer experimental 2018-04-01 20:24:40 -05: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 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: 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 NULL check in smb2_query_symlink 2018-04-17 14:44:30 -05:00
smb2pdu.c cifs: change validate_buf to validate_iov 2018-04-12 20:32:55 -05:00
smb2pdu.h SMB311: Improve checking of negotiate security contexts 2018-04-12 16:54:06 -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 CIFS: Add SMB2 status codes 2012-07-24 10:25:13 -05:00
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: Dump SMB packet when configured 2018-04-20 12:18:28 -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 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
transport.c cifs: add resp_buf_size to the mid_q_entry structure 2018-04-12 20:32:48 -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