2012-11-27 19:35:20

by Aristeu Rozanski

[permalink] [raw]
Subject: [PATCH 2/5] device_cgroup: prepare exception list handling functions for two lists

In the following patches, device_cgroup structure will have two sets of
behavior and exceptions list (actual one, another with the local settings)
so rework the functions to use exception list, not a device_cgroup.

Cc: Tejun Heo <[email protected]>
Cc: Serge Hallyn <[email protected]>
Signed-off-by: Aristeu Rozanski <[email protected]>

---
security/device_cgroup.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)

Index: github/security/device_cgroup.c
===================================================================
--- github.orig/security/device_cgroup.c 2012-11-26 17:13:55.972206330 -0500
+++ github/security/device_cgroup.c 2012-11-27 11:58:28.025841706 -0500
@@ -104,7 +104,7 @@
/*
* called under devcgroup_mutex
*/
-static int dev_exception_add(struct dev_cgroup *dev_cgroup,
+static int dev_exception_add(struct list_head *exceptions,
struct dev_exception_item *ex)
{
struct dev_exception_item *excopy, *walk;
@@ -115,7 +115,7 @@
if (!excopy)
return -ENOMEM;

- list_for_each_entry(walk, &dev_cgroup->exceptions, list) {
+ list_for_each_entry(walk, exceptions, list) {
if (walk->type != ex->type)
continue;
if (walk->major != ex->major)
@@ -129,21 +129,21 @@
}

if (excopy != NULL)
- list_add_tail_rcu(&excopy->list, &dev_cgroup->exceptions);
+ list_add_tail_rcu(&excopy->list, exceptions);
return 0;
}

/*
* called under devcgroup_mutex
*/
-static void dev_exception_rm(struct dev_cgroup *dev_cgroup,
+static void dev_exception_rm(struct list_head *exceptions,
struct dev_exception_item *ex)
{
struct dev_exception_item *walk, *tmp;

lockdep_assert_held(&devcgroup_mutex);

- list_for_each_entry_safe(walk, tmp, &dev_cgroup->exceptions, list) {
+ list_for_each_entry_safe(walk, tmp, exceptions, list) {
if (walk->type != ex->type)
continue;
if (walk->major != ex->major)
@@ -513,10 +513,10 @@
* don't want to break compatibility
*/
if (devcgroup->behavior == DEVCG_DEFAULT_ALLOW) {
- dev_exception_rm(devcgroup, &ex);
+ dev_exception_rm(&devcgroup->exceptions, &ex);
return 0;
}
- return dev_exception_add(devcgroup, &ex);
+ return dev_exception_add(&devcgroup->exceptions, &ex);
case DEVCG_DENY:
/*
* If the default policy is to deny by default, try to remove
@@ -524,10 +524,10 @@
* don't want to break compatibility
*/
if (devcgroup->behavior == DEVCG_DEFAULT_DENY) {
- dev_exception_rm(devcgroup, &ex);
+ dev_exception_rm(&devcgroup->exceptions, &ex);
return 0;
}
- return dev_exception_add(devcgroup, &ex);
+ return dev_exception_add(&devcgroup->exceptions, &ex);
default:
return -EINVAL;
}


2012-11-29 19:03:25

by Serge E. Hallyn

[permalink] [raw]
Subject: Re: [PATCH 2/5] device_cgroup: prepare exception list handling functions for two lists

Quoting Aristeu Rozanski ([email protected]):
> In the following patches, device_cgroup structure will have two sets of
> behavior and exceptions list (actual one, another with the local settings)
> so rework the functions to use exception list, not a device_cgroup.
>
> Cc: Tejun Heo <[email protected]>
> Cc: Serge Hallyn <[email protected]>

Acked-by: Serge Hallyn <[email protected]>

> Signed-off-by: Aristeu Rozanski <[email protected]>
>
> ---
> security/device_cgroup.c | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
>
> Index: github/security/device_cgroup.c
> ===================================================================
> --- github.orig/security/device_cgroup.c 2012-11-26 17:13:55.972206330 -0500
> +++ github/security/device_cgroup.c 2012-11-27 11:58:28.025841706 -0500
> @@ -104,7 +104,7 @@
> /*
> * called under devcgroup_mutex
> */
> -static int dev_exception_add(struct dev_cgroup *dev_cgroup,
> +static int dev_exception_add(struct list_head *exceptions,
> struct dev_exception_item *ex)
> {
> struct dev_exception_item *excopy, *walk;
> @@ -115,7 +115,7 @@
> if (!excopy)
> return -ENOMEM;
>
> - list_for_each_entry(walk, &dev_cgroup->exceptions, list) {
> + list_for_each_entry(walk, exceptions, list) {
> if (walk->type != ex->type)
> continue;
> if (walk->major != ex->major)
> @@ -129,21 +129,21 @@
> }
>
> if (excopy != NULL)
> - list_add_tail_rcu(&excopy->list, &dev_cgroup->exceptions);
> + list_add_tail_rcu(&excopy->list, exceptions);
> return 0;
> }
>
> /*
> * called under devcgroup_mutex
> */
> -static void dev_exception_rm(struct dev_cgroup *dev_cgroup,
> +static void dev_exception_rm(struct list_head *exceptions,
> struct dev_exception_item *ex)
> {
> struct dev_exception_item *walk, *tmp;
>
> lockdep_assert_held(&devcgroup_mutex);
>
> - list_for_each_entry_safe(walk, tmp, &dev_cgroup->exceptions, list) {
> + list_for_each_entry_safe(walk, tmp, exceptions, list) {
> if (walk->type != ex->type)
> continue;
> if (walk->major != ex->major)
> @@ -513,10 +513,10 @@
> * don't want to break compatibility
> */
> if (devcgroup->behavior == DEVCG_DEFAULT_ALLOW) {
> - dev_exception_rm(devcgroup, &ex);
> + dev_exception_rm(&devcgroup->exceptions, &ex);
> return 0;
> }
> - return dev_exception_add(devcgroup, &ex);
> + return dev_exception_add(&devcgroup->exceptions, &ex);
> case DEVCG_DENY:
> /*
> * If the default policy is to deny by default, try to remove
> @@ -524,10 +524,10 @@
> * don't want to break compatibility
> */
> if (devcgroup->behavior == DEVCG_DEFAULT_DENY) {
> - dev_exception_rm(devcgroup, &ex);
> + dev_exception_rm(&devcgroup->exceptions, &ex);
> return 0;
> }
> - return dev_exception_add(devcgroup, &ex);
> + return dev_exception_add(&devcgroup->exceptions, &ex);
> default:
> return -EINVAL;
> }
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/