cifs: Check for existing directory when opening file with O_CREAT
authorSachin Prabhu <sprabhu@redhat.com>
Thu, 7 Jul 2016 20:28:27 +0000 (21:28 +0100)
committerSteve French <smfrench@gmail.com>
Tue, 12 Jul 2016 21:09:38 +0000 (16:09 -0500)
commit8d9535b6efd86e6c07da59f97e68f44efb7fe080
tree3fcb5551ed58b08d7a435f906b7357738efb5814
parent5b23c97d7ee8fd443c7ff29813ed13f006e8d570
cifs: Check for existing directory when opening file with O_CREAT

When opening a file with O_CREAT flag, check to see if the file opened
is an existing directory.

This prevents the directory from being opened which subsequently causes
a crash when the close function for directories cifs_closedir() is called
which frees up the file->private_data memory while the file is still
listed on the open file list for the tcon.

Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
CC: Stable <stable@vger.kernel.org>
Reported-by: Xiaoli Feng <xifeng@redhat.com>
fs/cifs/dir.c