From patchwork Sat Oct 21 13:43:02 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Belouin X-Patchwork-Id: 828934 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-ext4-owner@vger.kernel.org; receiver=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yK3wf007Bz9t38 for ; Sun, 22 Oct 2017 00:51:13 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932100AbdJUNvM (ORCPT ); Sat, 21 Oct 2017 09:51:12 -0400 Received: from smtp-sh2.infomaniak.ch ([128.65.195.6]:34951 "EHLO smtp-sh2.infomaniak.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932085AbdJUNvL (ORCPT ); Sat, 21 Oct 2017 09:51:11 -0400 Received: from smtp5.infomaniak.ch (smtp5.infomaniak.ch [83.166.132.18]) by smtp-sh.infomaniak.ch (8.14.5/8.14.5) with ESMTP id v9LDgeIr030910 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Sat, 21 Oct 2017 15:42:40 +0200 Received: from asteria.bifrost.heptaoctet.net (2a01cb0006599200ecc2fee554347e0f.ipv6.abo.wanadoo.fr [IPv6:2a01:cb00:659:9200:ecc2:fee5:5434:7e0f]) (authenticated bits=0) by smtp5.infomaniak.ch (8.14.5/8.14.5) with ESMTP id v9LDgabg014811; Sat, 21 Oct 2017 15:42:37 +0200 From: Nicolas Belouin To: David Howells , "Theodore Ts'o" , Andreas Dilger , Alexander Viro , Serge Hallyn , Paul Moore , Stephen Smalley , Eric Paris , James Morris , linux-cachefs@redhat.com, linux-kernel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-security-module@vger.kernel.org, selinux@tycho.nsa.gov, linux-api@vger.kernel.org, kernel-hardening@lists.openwall.com Cc: Nicolas Belouin Subject: [RFC PATCH 1/2] security, capabilities: Add CAP_SYS_MOUNT Date: Sat, 21 Oct 2017 15:43:02 +0200 Message-Id: <20171021134303.20685-1-nicolas@belouin.fr> X-Mailer: git-send-email 2.14.2 X-Antivirus: Dr.Web (R) for Unix mail servers drweb plugin ver.6.0.2.8 X-Antivirus-Code: 0x100000 Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org With CAP_SYS_ADMIN being bloated and inapropriate for actions such as mounting/unmounting filesystems, the creation of a new capability is needed. CAP_SYS_MOUNT is meant to give a process the ability to call for mount, umount and umount2 syscalls. Signed-off-by: Nicolas Belouin --- include/uapi/linux/capability.h | 5 ++++- security/selinux/include/classmap.h | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/include/uapi/linux/capability.h b/include/uapi/linux/capability.h index 230e05d35191..ce230aa6d928 100644 --- a/include/uapi/linux/capability.h +++ b/include/uapi/linux/capability.h @@ -365,8 +365,11 @@ struct vfs_ns_cap_data { #define CAP_AUDIT_READ 37 +/* Allow mounting, unmounting filesystems */ -#define CAP_LAST_CAP CAP_AUDIT_READ +#define CAP_SYS_MOUNT 38 + +#define CAP_LAST_CAP CAP_SYS_MOUNT #define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP) diff --git a/security/selinux/include/classmap.h b/security/selinux/include/classmap.h index 35ffb29a69cb..a873dce97fd5 100644 --- a/security/selinux/include/classmap.h +++ b/security/selinux/include/classmap.h @@ -24,9 +24,9 @@ "audit_control", "setfcap" #define COMMON_CAP2_PERMS "mac_override", "mac_admin", "syslog", \ - "wake_alarm", "block_suspend", "audit_read" + "wake_alarm", "block_suspend", "audit_read", "sys_mount" -#if CAP_LAST_CAP > CAP_AUDIT_READ +#if CAP_LAST_CAP > CAP_SYS_MOUNT #error New capability defined, please update COMMON_CAP2_PERMS. #endif