cifs: add spinlock for the openFileList to cifsInodeInfo
authorRonnie Sahlberg <lsahlber@redhat.com>
Wed, 5 Jun 2019 00:38:38 +0000 (10:38 +1000)
committerSteve French <stfrench@microsoft.com>
Thu, 13 Jun 2019 19:21:09 +0000 (14:21 -0500)
commit487317c99477d00f22370625d53be3239febabbe
treea6da1276cdc7abd0870f9eda758115c8912f930e
parent0ff2b018b02f89da26a616e0148582321a00fd99
cifs: add spinlock for the openFileList to cifsInodeInfo

We can not depend on the tcon->open_file_lock here since in multiuser mode
we may have the same file/inode open via multiple different tcons.

The current code is race prone and will crash if one user deletes a file
at the same time a different user opens/create the file.

To avoid this we need to have a spinlock attached to the inode and not the tcon.

RHBZ:  1580165

CC: Stable <stable@vger.kernel.org>
Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
fs/cifs/cifsfs.c
fs/cifs/cifsglob.h
fs/cifs/file.c