From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030721AbWF0HIT (ORCPT ); Tue, 27 Jun 2006 03:08:19 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1030717AbWF0HGS (ORCPT ); Tue, 27 Jun 2006 03:06:18 -0400 Received: from ns.suse.de ([195.135.220.2]:23939 "EHLO mx1.suse.de") by vger.kernel.org with ESMTP id S1030712AbWF0HGG (ORCPT ); Tue, 27 Jun 2006 03:06:06 -0400 From: NeilBrown To: Andrew Morton Date: Tue, 27 Jun 2006 17:05:54 +1000 Message-Id: <1060627070554.26058@suse.de> X-face: [Gw_3E*Gng}4rRrKRYotwlE?.2|**#s9D Cc: linux-raid@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 009 of 12] md: Require CAP_SYS_ADMIN for (re-)configuring md devices via sysfs. References: <20060627170010.25835.patches@notabene> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org 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 Signed-off-by: Neil Brown ### Diffstat output ./drivers/md/md.c | 4 ++++ 1 file changed, 4 insertions(+) diff .prev/drivers/md/md.c ./drivers/md/md.c --- .prev/drivers/md/md.c 2006-06-27 12:17:33.000000000 +1000 +++ ./drivers/md/md.c 2006-06-27 12:17:33.000000000 +1000 @@ -1928,6 +1928,8 @@ rdev_attr_store(struct kobject *kobj, st if (!entry->store) return -EIO; + if (!capable(CAP_SYS_ADMIN)) + return -EACCES; return entry->store(rdev, page, length); } @@ -2861,6 +2863,8 @@ md_attr_store(struct kobject *kobj, stru if (!entry->store) return -EIO; + if (!capable(CAP_SYS_ADMIN)) + return -EACCES; rv = mddev_lock(mddev); if (!rv) { rv = entry->store(mddev, page, length);