public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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