Commit 7759fc9d authored by Li Zefan's avatar Li Zefan Committed by Linus Torvalds

devcgroup: code cleanup

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

[akpm@linux-foundation.org: fix simple_strtoul() usage]
[kosaki.motohiro@jp.fujitsu.com: fix warnings]
Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
Acked-by: default avatarSerge Hallyn <serue@us.ibm.com>
Cc: Serge Hallyn <serue@us.ibm.com>
Cc: Paul Menage <menage@google.com>
Cc: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: default avatarKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 4efd1a1b
......@@ -202,7 +202,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);
......@@ -264,11 +264,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,
......@@ -360,6 +359,7 @@ static int devcgroup_update_access(struct dev_cgroup *devcgroup,
{
struct dev_cgroup *cur_devcgroup;
const char *b;
char *endp;
int retval = 0, count;
struct dev_whitelist_item wh;
......@@ -395,11 +395,8 @@ static int devcgroup_update_access(struct dev_cgroup *devcgroup,
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, &endp, 10);
b = endp;
} else {
return -EINVAL;
}
......@@ -412,11 +409,8 @@ static int devcgroup_update_access(struct dev_cgroup *devcgroup,
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, &endp, 10);
b = endp;
} else {
return -EINVAL;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment