* [PATCH 1/2] devcgroup: always show unsigned major/minor num
@ 2008-07-05 5:39 Li Zefan
2008-07-07 15:46 ` Serge E. Hallyn
2008-07-07 19:13 ` Paul Menage
0 siblings, 2 replies; 5+ messages in thread
From: Li Zefan @ 2008-07-05 5:39 UTC (permalink / raw)
To: Andrew Morton; +Cc: LKML, Serge E. Hallyn, Pavel Emelianov
# echo "b $((0x7fffffff)):$((0x80000000)) rwm" > devices.allow
# cat devices.list
b 214748364:-21474836 rwm
though a major/minor number of 0x800000000 is meaningless, we
should not cast it to a negative value.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
---
security/device_cgroup.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/security/device_cgroup.c b/security/device_cgroup.c
index fd764a0..1e2e28a 100644
--- a/security/device_cgroup.c
+++ b/security/device_cgroup.c
@@ -222,7 +222,7 @@ static void devcgroup_destroy(struct cgroup_subsys *ss,
#define DEVCG_DENY 2
#define DEVCG_LIST 3
-#define MAJMINLEN 10
+#define MAJMINLEN 13
#define ACCLEN 4
static void set_access(char *acc, short access)
@@ -254,7 +254,7 @@ static void set_majmin(char *str, unsigned m)
if (m == ~0)
sprintf(str, "*");
else
- snprintf(str, MAJMINLEN, "%d", m);
+ snprintf(str, MAJMINLEN, "%u", m);
}
static int devcgroup_seq_read(struct cgroup *cgroup, struct cftype *cft,
--
1.5.4.rc3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] devcgroup: always show unsigned major/minor num
2008-07-05 5:39 [PATCH 1/2] devcgroup: always show unsigned major/minor num Li Zefan
@ 2008-07-07 15:46 ` Serge E. Hallyn
2008-07-07 19:13 ` Paul Menage
1 sibling, 0 replies; 5+ messages in thread
From: Serge E. Hallyn @ 2008-07-07 15:46 UTC (permalink / raw)
To: Li Zefan; +Cc: Andrew Morton, LKML, Pavel Emelianov
Quoting Li Zefan (lizf@cn.fujitsu.com):
> # echo "b $((0x7fffffff)):$((0x80000000)) rwm" > devices.allow
> # cat devices.list
> b 214748364:-21474836 rwm
>
> though a major/minor number of 0x800000000 is meaningless, we
> should not cast it to a negative value.
>
> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
makes sense.
Acked-by: Serge Hallyn <serue@us.ibm.com>
thanks,
-serge
> ---
> security/device_cgroup.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/security/device_cgroup.c b/security/device_cgroup.c
> index fd764a0..1e2e28a 100644
> --- a/security/device_cgroup.c
> +++ b/security/device_cgroup.c
> @@ -222,7 +222,7 @@ static void devcgroup_destroy(struct cgroup_subsys *ss,
> #define DEVCG_DENY 2
> #define DEVCG_LIST 3
>
> -#define MAJMINLEN 10
> +#define MAJMINLEN 13
> #define ACCLEN 4
>
> static void set_access(char *acc, short access)
> @@ -254,7 +254,7 @@ static void set_majmin(char *str, unsigned m)
> if (m == ~0)
> sprintf(str, "*");
> else
> - snprintf(str, MAJMINLEN, "%d", m);
> + snprintf(str, MAJMINLEN, "%u", m);
> }
>
> static int devcgroup_seq_read(struct cgroup *cgroup, struct cftype *cft,
> --
> 1.5.4.rc3
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] devcgroup: always show unsigned major/minor num
2008-07-05 5:39 [PATCH 1/2] devcgroup: always show unsigned major/minor num Li Zefan
2008-07-07 15:46 ` Serge E. Hallyn
@ 2008-07-07 19:13 ` Paul Menage
2008-07-08 1:27 ` Li Zefan
1 sibling, 1 reply; 5+ messages in thread
From: Paul Menage @ 2008-07-07 19:13 UTC (permalink / raw)
To: Li Zefan; +Cc: Andrew Morton, LKML, Serge E. Hallyn, Pavel Emelianov
On Fri, Jul 4, 2008 at 10:39 PM, Li Zefan <lizf@cn.fujitsu.com> wrote:
> # echo "b $((0x7fffffff)):$((0x80000000)) rwm" > devices.allow
> # cat devices.list
> b 214748364:-21474836 rwm
>
> though a major/minor number of 0x800000000 is meaningless, we
> should not cast it to a negative value.
>
> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
> ---
> security/device_cgroup.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/security/device_cgroup.c b/security/device_cgroup.c
> index fd764a0..1e2e28a 100644
> --- a/security/device_cgroup.c
> +++ b/security/device_cgroup.c
> @@ -222,7 +222,7 @@ static void devcgroup_destroy(struct cgroup_subsys *ss,
> #define DEVCG_DENY 2
> #define DEVCG_LIST 3
>
> -#define MAJMINLEN 10
> +#define MAJMINLEN 13
> #define ACCLEN 4
>
> static void set_access(char *acc, short access)
> @@ -254,7 +254,7 @@ static void set_majmin(char *str, unsigned m)
> if (m == ~0)
> sprintf(str, "*");
Can't this just be strcat(str, "*")?
> else
> - snprintf(str, MAJMINLEN, "%d", m);
> + snprintf(str, MAJMINLEN, "%u", m);
I'm not sure that using snprintf() helps here over just sprintf() -
we're not actually basing it on the available space in the string,
we're just assuming there's enough space.
Paul
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] devcgroup: always show unsigned major/minor num
2008-07-07 19:13 ` Paul Menage
@ 2008-07-08 1:27 ` Li Zefan
2008-07-08 1:32 ` Paul Menage
0 siblings, 1 reply; 5+ messages in thread
From: Li Zefan @ 2008-07-08 1:27 UTC (permalink / raw)
To: Paul Menage; +Cc: Andrew Morton, LKML, Serge E. Hallyn, Pavel Emelianov
Paul Menage wrote:
> On Fri, Jul 4, 2008 at 10:39 PM, Li Zefan <lizf@cn.fujitsu.com> wrote:
>> # echo "b $((0x7fffffff)):$((0x80000000)) rwm" > devices.allow
>> # cat devices.list
>> b 214748364:-21474836 rwm
>>
>> though a major/minor number of 0x800000000 is meaningless, we
>> should not cast it to a negative value.
>>
>> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
>> ---
>> security/device_cgroup.c | 4 ++--
>> 1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/security/device_cgroup.c b/security/device_cgroup.c
>> index fd764a0..1e2e28a 100644
>> --- a/security/device_cgroup.c
>> +++ b/security/device_cgroup.c
>> @@ -222,7 +222,7 @@ static void devcgroup_destroy(struct cgroup_subsys *ss,
>> #define DEVCG_DENY 2
>> #define DEVCG_LIST 3
>>
>> -#define MAJMINLEN 10
>> +#define MAJMINLEN 13
>> #define ACCLEN 4
>>
>> static void set_access(char *acc, short access)
>> @@ -254,7 +254,7 @@ static void set_majmin(char *str, unsigned m)
>> if (m == ~0)
>> sprintf(str, "*");
>
> Can't this just be strcat(str, "*")?
>
No, but it can be strcpy(str, "*").
>> else
>> - snprintf(str, MAJMINLEN, "%d", m);
>> + snprintf(str, MAJMINLEN, "%u", m);
>
> I'm not sure that using snprintf() helps here over just sprintf() -
> we're not actually basing it on the available space in the string,
> we're just assuming there's enough space.
>
Agreed.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] devcgroup: always show unsigned major/minor num
2008-07-08 1:27 ` Li Zefan
@ 2008-07-08 1:32 ` Paul Menage
0 siblings, 0 replies; 5+ messages in thread
From: Paul Menage @ 2008-07-08 1:32 UTC (permalink / raw)
To: Li Zefan; +Cc: Andrew Morton, LKML, Serge E. Hallyn, Pavel Emelianov
On Mon, Jul 7, 2008 at 6:27 PM, Li Zefan <lizf@cn.fujitsu.com> wrote:
>>> @@ -254,7 +254,7 @@ static void set_majmin(char *str, unsigned m)
>>> if (m == ~0)
>>> sprintf(str, "*");
>>
>> Can't this just be strcat(str, "*")?
>>
>
> No, but it can be strcpy(str, "*").
Oops, yes, that's what I should have put ...
Paul
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-07-08 1:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-05 5:39 [PATCH 1/2] devcgroup: always show unsigned major/minor num Li Zefan
2008-07-07 15:46 ` Serge E. Hallyn
2008-07-07 19:13 ` Paul Menage
2008-07-08 1:27 ` Li Zefan
2008-07-08 1:32 ` Paul Menage
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox