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>
This commit is contained in:

committed by
Steve French

parent
0ff2b018b0
commit
487317c994
@@ -303,6 +303,7 @@ cifs_alloc_inode(struct super_block *sb)
|
||||
cifs_inode->uniqueid = 0;
|
||||
cifs_inode->createtime = 0;
|
||||
cifs_inode->epoch = 0;
|
||||
spin_lock_init(&cifs_inode->open_file_lock);
|
||||
generate_random_uuid(cifs_inode->lease_key);
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user