notify_change(): check that i_mutex is held
Cc: Djalal Harouni <tixxdz@opendz.org> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
b5fb63c183
commit
c4107b3097
|
@ -171,6 +171,8 @@ int notify_change(struct dentry * dentry, struct iattr * attr)
|
|||
struct timespec now;
|
||||
unsigned int ia_valid = attr->ia_valid;
|
||||
|
||||
WARN_ON_ONCE(!mutex_is_locked(&inode->i_mutex));
|
||||
|
||||
if (ia_valid & (ATTR_MODE | ATTR_UID | ATTR_GID | ATTR_TIMES_SET)) {
|
||||
if (IS_IMMUTABLE(inode) || IS_APPEND(inode))
|
||||
return -EPERM;
|
||||
|
@ -250,5 +252,4 @@ int notify_change(struct dentry * dentry, struct iattr * attr)
|
|||
|
||||
return error;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(notify_change);
|
||||
|
|
Loading…
Reference in New Issue