diff options
Diffstat (limited to 'fs/sysfs/file.c')
| -rw-r--r-- | fs/sysfs/file.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c index f5ea4680f15f..faa1a803caa9 100644 --- a/fs/sysfs/file.c +++ b/fs/sysfs/file.c | |||
| @@ -604,17 +604,9 @@ int sysfs_chmod_file(struct kobject *kobj, struct attribute *attr, mode_t mode) | |||
| 604 | mutex_lock(&inode->i_mutex); | 604 | mutex_lock(&inode->i_mutex); |
| 605 | 605 | ||
| 606 | newattrs.ia_mode = (mode & S_IALLUGO) | (inode->i_mode & ~S_IALLUGO); | 606 | newattrs.ia_mode = (mode & S_IALLUGO) | (inode->i_mode & ~S_IALLUGO); |
| 607 | newattrs.ia_valid = ATTR_MODE | ATTR_CTIME; | 607 | newattrs.ia_valid = ATTR_MODE; |
| 608 | newattrs.ia_ctime = current_fs_time(inode->i_sb); | ||
| 609 | rc = sysfs_setattr(victim, &newattrs); | 608 | rc = sysfs_setattr(victim, &newattrs); |
| 610 | 609 | ||
| 611 | if (rc == 0) { | ||
| 612 | fsnotify_change(victim, newattrs.ia_valid); | ||
| 613 | mutex_lock(&sysfs_mutex); | ||
| 614 | victim_sd->s_mode = newattrs.ia_mode; | ||
| 615 | mutex_unlock(&sysfs_mutex); | ||
| 616 | } | ||
| 617 | |||
| 618 | mutex_unlock(&inode->i_mutex); | 610 | mutex_unlock(&inode->i_mutex); |
| 619 | out: | 611 | out: |
| 620 | dput(victim); | 612 | dput(victim); |
