public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] devcgroup: fix odd behaviour when writing 'a' to devices.allow
@ 2008-07-04  5:54 Li Zefan
  2008-07-07 17:25 ` Serge E. Hallyn
  0 siblings, 1 reply; 2+ messages in thread
From: Li Zefan @ 2008-07-04  5:54 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Serge E. Hallyn, LKML

 # cat /devcg/devices.list
 a *:* rwm
 # echo a > devices.allow
 # cat /devcg/devices.list
 a *:* rwm
 a 0:0 rwm

This is odd and maybe confusing. With this patch, writing 'a'
to devices.allow will add 'a *:* rwm' to the whitelist.

Also a few fixes and updates to the document.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
---
 Documentation/controllers/devices.txt |    8 ++++++--
 security/device_cgroup.c              |    2 ++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/Documentation/controllers/devices.txt b/Documentation/controllers/devices.txt
index 4dcea42..7cc6e6a 100644
--- a/Documentation/controllers/devices.txt
+++ b/Documentation/controllers/devices.txt
@@ -13,7 +13,7 @@ either an integer or * for all.  Access is a composition of r
 The root device cgroup starts with rwm to 'all'.  A child device
 cgroup gets a copy of the parent.  Administrators can then remove
 devices from the whitelist or add new entries.  A child cgroup can
-never receive a device access which is denied its parent.  However
+never receive a device access which is denied by its parent.  However
 when a device access is removed from a parent it will not also be
 removed from the child(ren).
 
@@ -29,7 +29,11 @@ allows cgroup 1 to read and mknod the device usually known as
 
 	echo a > /cgroups/1/devices.deny
 
-will remove the default 'a *:* mrw' entry.
+will remove the default 'a *:* rwm' entry. Doing
+
+	echo a > /cgroups/1/devices.allow
+
+will add the 'a *:* rwm' entry to the whitelist.
 
 3. Security
 
diff --git a/security/device_cgroup.c b/security/device_cgroup.c
index baf3488..fd764a0 100644
--- a/security/device_cgroup.c
+++ b/security/device_cgroup.c
@@ -382,6 +382,8 @@ static ssize_t devcgroup_access_write(struct cgroup *cgroup, struct cftype *cft,
 	case 'a':
 		wh.type = DEV_ALL;
 		wh.access = ACC_MASK;
+		wh.major = ~0;
+		wh.minor = ~0;
 		goto handle;
 	case 'b':
 		wh.type = DEV_BLOCK;
-- 
1.5.4.rc3

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] devcgroup: fix odd behaviour when writing 'a' to devices.allow
  2008-07-04  5:54 [PATCH] devcgroup: fix odd behaviour when writing 'a' to devices.allow Li Zefan
@ 2008-07-07 17:25 ` Serge E. Hallyn
  0 siblings, 0 replies; 2+ messages in thread
From: Serge E. Hallyn @ 2008-07-07 17:25 UTC (permalink / raw)
  To: Li Zefan; +Cc: Andrew Morton, LKML

Quoting Li Zefan (lizf@cn.fujitsu.com):
>  # cat /devcg/devices.list
>  a *:* rwm
>  # echo a > devices.allow
>  # cat /devcg/devices.list
>  a *:* rwm
>  a 0:0 rwm
> 
> This is odd and maybe confusing. With this patch, writing 'a'
> to devices.allow will add 'a *:* rwm' to the whitelist.
> 
> Also a few fixes and updates to the document.
> 
> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>

Acked-by: Serge Hallyn <serue@us.ibm.com>

thanks,
-serge

> ---
>  Documentation/controllers/devices.txt |    8 ++++++--
>  security/device_cgroup.c              |    2 ++
>  2 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/controllers/devices.txt b/Documentation/controllers/devices.txt
> index 4dcea42..7cc6e6a 100644
> --- a/Documentation/controllers/devices.txt
> +++ b/Documentation/controllers/devices.txt
> @@ -13,7 +13,7 @@ either an integer or * for all.  Access is a composition of r
>  The root device cgroup starts with rwm to 'all'.  A child device
>  cgroup gets a copy of the parent.  Administrators can then remove
>  devices from the whitelist or add new entries.  A child cgroup can
> -never receive a device access which is denied its parent.  However
> +never receive a device access which is denied by its parent.  However
>  when a device access is removed from a parent it will not also be
>  removed from the child(ren).
> 
> @@ -29,7 +29,11 @@ allows cgroup 1 to read and mknod the device usually known as
> 
>  	echo a > /cgroups/1/devices.deny
> 
> -will remove the default 'a *:* mrw' entry.
> +will remove the default 'a *:* rwm' entry. Doing
> +
> +	echo a > /cgroups/1/devices.allow
> +
> +will add the 'a *:* rwm' entry to the whitelist.
> 
>  3. Security
> 
> diff --git a/security/device_cgroup.c b/security/device_cgroup.c
> index baf3488..fd764a0 100644
> --- a/security/device_cgroup.c
> +++ b/security/device_cgroup.c
> @@ -382,6 +382,8 @@ static ssize_t devcgroup_access_write(struct cgroup *cgroup, struct cftype *cft,
>  	case 'a':
>  		wh.type = DEV_ALL;
>  		wh.access = ACC_MASK;
> +		wh.major = ~0;
> +		wh.minor = ~0;
>  		goto handle;
>  	case 'b':
>  		wh.type = DEV_BLOCK;
> -- 
> 1.5.4.rc3

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-07-07 17:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-04  5:54 [PATCH] devcgroup: fix odd behaviour when writing 'a' to devices.allow Li Zefan
2008-07-07 17:25 ` Serge E. Hallyn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox