[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120905030025.GA13310@mail.hallyn.com>
Date: Wed, 5 Sep 2012 03:00:25 +0000
From: "Serge E. Hallyn" <serge@...lyn.com>
To: Aristeu Rozanski <aris@...hat.com>
Cc: linux-kernel@...r.kernel.org, cgroups@...r.kernel.org,
Tejun Heo <tj@...nel.org>, Li Zefan <lizefan@...wei.com>,
James Morris <jmorris@...ei.org>,
Pavel Emelyanov <xemul@...nvz.org>,
Serge Hallyn <serge.hallyn@...onical.com>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH v2 1/6] device_cgroup: add "behavior" in dev_cgroup
structure
Quoting Aristeu Rozanski (aris@...hat.com):
> behavior will determine if the default policy is to deny all device access
> unless for the ones in the exception list.
>
> This variable will be used in the next patches to convert device_cgroup
> internally into a default policy + rules.
>
> v2:
> - renamed deny_all to behavior
>
> Cc: Tejun Heo <tj@...nel.org>
> Cc: Li Zefan <lizefan@...wei.com>
> Cc: James Morris <jmorris@...ei.org>
> Cc: Pavel Emelyanov <xemul@...nvz.org>
> Cc: Serge Hallyn <serge.hallyn@...onical.com>
Acked-by: Serge Hallyn <serge.hallyn@...onical.com>
> Signed-off-by: Aristeu Rozanski <aris@...hat.com>
>
> ---
> security/device_cgroup.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> Index: github/security/device_cgroup.c
> ===================================================================
> --- github.orig/security/device_cgroup.c 2012-08-21 09:49:38.698415513 -0400
> +++ github/security/device_cgroup.c 2012-08-21 10:50:34.650810797 -0400
> @@ -42,6 +42,10 @@
> struct dev_cgroup {
> struct cgroup_subsys_state css;
> struct list_head whitelist;
> + enum {
> + DEVCG_DEFAULT_ALLOW,
> + DEVCG_DEFAULT_DENY,
> + } behavior;
> };
>
> static inline struct dev_cgroup *css_to_devcgroup(struct cgroup_subsys_state *s)
> @@ -178,12 +182,14 @@
> wh->minor = wh->major = ~0;
> wh->type = DEV_ALL;
> wh->access = ACC_MASK;
> + dev_cgroup->behavior = DEVCG_DEFAULT_ALLOW;
> list_add(&wh->list, &dev_cgroup->whitelist);
> } else {
> parent_dev_cgroup = cgroup_to_devcgroup(parent_cgroup);
> mutex_lock(&devcgroup_mutex);
> ret = dev_whitelist_copy(&dev_cgroup->whitelist,
> &parent_dev_cgroup->whitelist);
> + dev_cgroup->behavior = parent_dev_cgroup->behavior;
> mutex_unlock(&devcgroup_mutex);
> if (ret) {
> kfree(dev_cgroup);
> @@ -409,9 +415,11 @@
> case DEVCG_ALLOW:
> if (!parent_has_perm(devcgroup, &wh))
> return -EPERM;
> + devcgroup->behavior = DEVCG_DEFAULT_ALLOW;
> return dev_whitelist_add(devcgroup, &wh);
> case DEVCG_DENY:
> dev_whitelist_rm(devcgroup, &wh);
> + devcgroup->behavior = DEVCG_DEFAULT_DENY;
> break;
> default:
> return -EINVAL;
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists