From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933258AbcITQ6Y (ORCPT ); Tue, 20 Sep 2016 12:58:24 -0400 Received: from mail-yw0-f193.google.com ([209.85.161.193]:34551 "EHLO mail-yw0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933063AbcITQ6U (ORCPT ); Tue, 20 Sep 2016 12:58:20 -0400 Date: Tue, 20 Sep 2016 12:58:17 -0400 From: Tejun Heo To: =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= Cc: Alexei Starovoitov , linux-kernel@vger.kernel.org, Alexei Starovoitov , Andy Lutomirski , Daniel Borkmann , Daniel Mack , "David S . Miller" , James Morris , Kees Cook , Martin KaFai Lau , cgroups@vger.kernel.org Subject: Re: [PATCH v1] cgroup,bpf: Add access check for cgroup_get_from_fd() Message-ID: <20160920165817.GB17513@htj.duckdns.org> References: <20160919224913.24808-1-mic@digikod.net> <20160920003007.GB91808@ast-mbp.thefacebook.com> <57E1698F.1090106@digikod.net> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <57E1698F.1090106@digikod.net> User-Agent: Mutt/1.7.0 (2016-08-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 20, 2016 at 06:53:35PM +0200, Mickaël Salaün wrote: > > On 20/09/2016 02:30, Alexei Starovoitov wrote: > > On Tue, Sep 20, 2016 at 12:49:13AM +0200, Mickaël Salaün wrote: > >> Add security access check for cgroup backed FD. The "cgroup.procs" file > >> of the corresponding cgroup should be readable to identify the cgroup, > >> and writable to prove that the current process can manage this cgroup > >> (e.g. through delegation). This is similar to the check done by > >> cgroup_procs_write_permission(). > >> > >> Fixes: 4ed8ec521ed5 ("cgroup: bpf: Add BPF_MAP_TYPE_CGROUP_ARRAY") > > > > I don't understand what 'fixes' is about. > > Looks like new feature or tightening? > > Since cgroup was opened by the process and it got an fd, > > it had an access, so extra check here looks unnecessary. > > It may not be a "fix", but this patch tighten the access control. The > current cgroup_get_from_fd() only rely on the access check done on the > passed FD. However, this FD come from a cgroup directory, not a > "cgroup.procs" (in this directory). The "cgroup.procs" is used for > cgroup delegation by cgroup_procs_write_permission(). Checking > "cgroup.procs" is then more consistent with access checks done by other > part of the cgroup code. Being able to open a cgroup directory only > means that the current process is able to list the cgroup hierarchy, not > necessarily to list the tasks in this cgroups. Currently, bpf's access control and cgroup's are completely separate and intentionally so. I don't see why this matters given the current model. Thanks. -- tejun