diff options
author | David Disseldorp <ddiss@suse.de> | 2017-05-04 00:41:13 +0200 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2017-05-03 19:32:35 -0500 |
commit | d8a6e505d6bba2250852fbc1c1c86fe68aaf9af3 (patch) | |
tree | e360222e1765717f60f0c32474fa6ef80268d51a /fs/cifs | |
parent | b704e70b7cf48f9b67c07d585168e102dfa30bb4 (diff) | |
download | linux-d8a6e505d6bba2250852fbc1c1c86fe68aaf9af3.tar.gz linux-d8a6e505d6bba2250852fbc1c1c86fe68aaf9af3.tar.bz2 linux-d8a6e505d6bba2250852fbc1c1c86fe68aaf9af3.zip |
cifs: fix CIFS_IOC_GET_MNT_INFO oops
An open directory may have a NULL private_data pointer prior to readdir.
Fixes: 0de1f4c6f6c0 ("Add way to query server fs info for smb3")
Cc: stable@vger.kernel.org
Signed-off-by: David Disseldorp <ddiss@suse.de>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs')
-rw-r--r-- | fs/cifs/ioctl.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/cifs/ioctl.c b/fs/cifs/ioctl.c index 4d598a71cf84..76fb0917dc8c 100644 --- a/fs/cifs/ioctl.c +++ b/fs/cifs/ioctl.c @@ -209,6 +209,8 @@ long cifs_ioctl(struct file *filep, unsigned int command, unsigned long arg) rc = -EOPNOTSUPP; break; case CIFS_IOC_GET_MNT_INFO: + if (pSMBFile == NULL) + break; tcon = tlink_tcon(pSMBFile->tlink); rc = smb_mnt_get_fsinfo(xid, tcon, (void __user *)arg); break; |