From: Miklos Szeredi Callers of notify_change() need to hold i_mutex. Signed-off-by: Miklos Szeredi Cc: Michael Halcrow Signed-off-by: Andrew Morton --- fs/ecryptfs/inode.c | 2 ++ 1 file changed, 2 insertions(+) diff -puN fs/ecryptfs/inode.c~ecryptfs-add-missing-lock-around-notify_change fs/ecryptfs/inode.c --- a/fs/ecryptfs/inode.c~ecryptfs-add-missing-lock-around-notify_change +++ a/fs/ecryptfs/inode.c @@ -908,7 +908,9 @@ static int ecryptfs_setattr(struct dentr if (ia->ia_valid & (ATTR_KILL_SUID | ATTR_KILL_SGID)) ia->ia_valid &= ~ATTR_MODE; + mutex_lock(&lower_dentry->d_inode->i_mutex); rc = notify_change(lower_dentry, ia); + mutex_unlock(&lower_dentry->d_inode->i_mutex); out: fsstack_copy_attr_all(inode, lower_inode); return rc; _