public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 3/3] devcgroup: code cleanup
@ 2008-07-08  1:51 Li Zefan
  2008-07-13  5:59 ` Andrew Morton
  0 siblings, 1 reply; 2+ messages in thread
From: Li Zefan @ 2008-07-08  1:51 UTC (permalink / raw)
  To: Andrew Morton; +Cc: LKML, Serge E. Hallyn, Paul Menage, Pavel Emelianov

- clean up set_majmin()
- use simple_strtoul() to parse major/minor

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Acked-by: Serge Hallyn <serue@us.ibm.com>
---
 security/device_cgroup.c |   19 +++++--------------
 1 files changed, 5 insertions(+), 14 deletions(-)

diff --git a/security/device_cgroup.c b/security/device_cgroup.c
index ddd92ce..34a10bf 100644
--- a/security/device_cgroup.c
+++ b/security/device_cgroup.c
@@ -188,7 +188,7 @@ static struct cgroup_subsys_state *devcgroup_create(struct cgroup_subsys *ss,
 		}
 		wh->minor = wh->major = ~0;
 		wh->type = DEV_ALL;
-		wh->access = ACC_MKNOD | ACC_READ | ACC_WRITE;
+		wh->access = ACC_MASK;
 		list_add(&wh->list, &dev_cgroup->whitelist);
 	} else {
 		parent_dev_cgroup = cgroup_to_devcgroup(parent_cgroup);
@@ -250,11 +250,10 @@ static char type_to_char(short type)
 
 static void set_majmin(char *str, unsigned m)
 {
-	memset(str, 0, MAJMINLEN);
 	if (m == ~0)
-		sprintf(str, "*");
+		strcpy(str, "*");
 	else
-		snprintf(str, MAJMINLEN, "%u", m);
+		sprintf(str, "%u", m);
 }
 
 static int devcgroup_seq_read(struct cgroup *cgroup, struct cftype *cft,
@@ -405,11 +404,7 @@ static ssize_t devcgroup_access_write(struct cgroup *cgroup, struct cftype *cft,
 		wh.major = ~0;
 		b++;
 	} else if (isdigit(*b)) {
-		wh.major = 0;
-		while (isdigit(*b)) {
-			wh.major = wh.major*10+(*b-'0');
-			b++;
-		}
+		wh.major = simple_strtoul(b, &b, 0);
 	} else {
 		retval = -EINVAL;
 		goto out2;
@@ -425,11 +420,7 @@ static ssize_t devcgroup_access_write(struct cgroup *cgroup, struct cftype *cft,
 		wh.minor = ~0;
 		b++;
 	} else if (isdigit(*b)) {
-		wh.minor = 0;
-		while (isdigit(*b)) {
-			wh.minor = wh.minor*10+(*b-'0');
-			b++;
-		}
+		wh.minor = simple_strtoul(b, &b, 0);
 	} else {
 		retval = -EINVAL;
 		goto out2;
-- 
1.5.4.rc3

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

* Re: [PATCH 3/3] devcgroup: code cleanup
  2008-07-08  1:51 [PATCH 3/3] devcgroup: code cleanup Li Zefan
@ 2008-07-13  5:59 ` Andrew Morton
  0 siblings, 0 replies; 2+ messages in thread
From: Andrew Morton @ 2008-07-13  5:59 UTC (permalink / raw)
  To: Li Zefan; +Cc: LKML, Serge E. Hallyn, Paul Menage, Pavel Emelianov

On Tue, 08 Jul 2008 09:51:13 +0800 Li Zefan <lizf@cn.fujitsu.com> wrote:

> @@ -405,11 +404,7 @@ static ssize_t devcgroup_access_write(struct cgroup *cgroup, struct cftype *cft,
>  		wh.major = ~0;
>  		b++;
>  	} else if (isdigit(*b)) {
> -		wh.major = 0;
> -		while (isdigit(*b)) {
> -			wh.major = wh.major*10+(*b-'0');
> -			b++;
> -		}
> +		wh.major = simple_strtoul(b, &b, 0);
>  	} else {
>  		retval = -EINVAL;
>  		goto out2;
> @@ -425,11 +420,7 @@ static ssize_t devcgroup_access_write(struct cgroup *cgroup, struct cftype *cft,
>  		wh.minor = ~0;
>  		b++;
>  	} else if (isdigit(*b)) {
> -		wh.minor = 0;
> -		while (isdigit(*b)) {
> -			wh.minor = wh.minor*10+(*b-'0');
> -			b++;
> -		}
> +		wh.minor = simple_strtoul(b, &b, 0);

This is an interface change.  Previously we only took decimal input. 
Now, we accept decimal or octal or hex, based upon automagic detection.

So scripts which were feeding in "010" will now be setting things to eight,
not to ten.

Methinks we should do this:

--- a/security/device_cgroup.c~devcgroup-code-cleanup-fix
+++ a/security/device_cgroup.c
@@ -394,7 +394,7 @@ static int devcgroup_update_access(struc
 		wh.major = ~0;
 		b++;
 	} else if (isdigit(*b)) {
-		wh.major = simple_strtoul(b, &b, 0);
+		wh.major = simple_strtoul(b, &b, 10);
 	} else {
 		return -EINVAL;
 	}
@@ -407,7 +407,7 @@ static int devcgroup_update_access(struc
 		wh.minor = ~0;
 		b++;
 	} else if (isdigit(*b)) {
-		wh.minor = simple_strtoul(b, &b, 0);
+		wh.minor = simple_strtoul(b, &b, 10);
 	} else {
 		return -EINVAL;
 	}
_


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

end of thread, other threads:[~2008-07-13  6:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-08  1:51 [PATCH 3/3] devcgroup: code cleanup Li Zefan
2008-07-13  5:59 ` Andrew Morton

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