| From d8a6e505d6bba2250852fbc1c1c86fe68aaf9af3 Mon Sep 17 00:00:00 2001 |
| From: David Disseldorp <ddiss@suse.de> |
| Date: Thu, 4 May 2017 00:41:13 +0200 |
| Subject: [PATCH] cifs: fix CIFS_IOC_GET_MNT_INFO oops |
| |
| commit d8a6e505d6bba2250852fbc1c1c86fe68aaf9af3 upstream. |
| |
| 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> |
| |
| 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; |
| -- |
| 2.12.0 |
| |