ecryptfs: add missing lock around notify_change
Callers of notify_change() need to hold i_mutex. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Cc: Michael Halcrow <mhalcrow@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
18d1dbf1d4
commit
9c3580aa52
@@ -908,7 +908,9 @@ static int ecryptfs_setattr(struct dentry *dentry, struct iattr *ia)
|
|||||||
if (ia->ia_valid & (ATTR_KILL_SUID | ATTR_KILL_SGID))
|
if (ia->ia_valid & (ATTR_KILL_SUID | ATTR_KILL_SGID))
|
||||||
ia->ia_valid &= ~ATTR_MODE;
|
ia->ia_valid &= ~ATTR_MODE;
|
||||||
|
|
||||||
|
mutex_lock(&lower_dentry->d_inode->i_mutex);
|
||||||
rc = notify_change(lower_dentry, ia);
|
rc = notify_change(lower_dentry, ia);
|
||||||
|
mutex_unlock(&lower_dentry->d_inode->i_mutex);
|
||||||
out:
|
out:
|
||||||
fsstack_copy_attr_all(inode, lower_inode, NULL);
|
fsstack_copy_attr_all(inode, lower_inode, NULL);
|
||||||
return rc;
|
return rc;
|
||||||
|
Reference in New Issue
Block a user