[PATCH] md: require CAP_SYS_ADMIN for (re-)configuring md devices via sysfs
The ioctl requires CAP_SYS_ADMIN, so sysfs should too. Note that we don't require CAP_SYS_ADMIN for reading attributes even though the ioctl does. There is no reason to limit the read access, and much of the information is already available via /proc/mdstat Cc: Chris Wright <chrisw@sous-sol.org> Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
80ca3a44f5
commit
67463acb64
@ -1926,6 +1926,8 @@ rdev_attr_store(struct kobject *kobj, struct attribute *attr,
|
|||||||
|
|
||||||
if (!entry->store)
|
if (!entry->store)
|
||||||
return -EIO;
|
return -EIO;
|
||||||
|
if (!capable(CAP_SYS_ADMIN))
|
||||||
|
return -EACCES;
|
||||||
return entry->store(rdev, page, length);
|
return entry->store(rdev, page, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2859,6 +2861,8 @@ md_attr_store(struct kobject *kobj, struct attribute *attr,
|
|||||||
|
|
||||||
if (!entry->store)
|
if (!entry->store)
|
||||||
return -EIO;
|
return -EIO;
|
||||||
|
if (!capable(CAP_SYS_ADMIN))
|
||||||
|
return -EACCES;
|
||||||
rv = mddev_lock(mddev);
|
rv = mddev_lock(mddev);
|
||||||
if (!rv) {
|
if (!rv) {
|
||||||
rv = entry->store(mddev, page, length);
|
rv = entry->store(mddev, page, length);
|
||||||
|
Loading…
Reference in New Issue
Block a user