All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] cr: uts: don't pass an unsigned var as a signed int
@ 2009-06-19 20:37 Serge E. Hallyn
       [not found] ` <20090619203719.GA30093-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Serge E. Hallyn @ 2009-06-19 20:37 UTC (permalink / raw)
  To: Oren Laadan; +Cc: Linux Containers

Else my checkpoing image gets reeeaallly huge.  Just passing the
result of sizeof() however does the right thing.

Signed-off-by: Serge E. Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
---
 checkpoint/namespace.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/checkpoint/namespace.c b/checkpoint/namespace.c
index 5726acb..8206aee 100644
--- a/checkpoint/namespace.c
+++ b/checkpoint/namespace.c
@@ -46,22 +46,22 @@ static int do_checkpoint_uts_ns(struct ckpt_ctx *ctx,
 		return ret;
 
 	down_read(&uts_sem);
-	ret = ckpt_write_string(ctx, name->sysname, h->sysname_len);
+	ret = ckpt_write_string(ctx, name->sysname, sizeof(name->sysname));
 	if (ret < 0)
 		goto up;
-	ret = ckpt_write_string(ctx, name->nodename, h->nodename_len);
+	ret = ckpt_write_string(ctx, name->nodename, sizeof(name->nodename));
 	if (ret < 0)
 		goto up;
-	ret = ckpt_write_string(ctx, name->release, h->release_len);
+	ret = ckpt_write_string(ctx, name->release, sizeof(name->release));
 	if (ret < 0)
 		goto up;
-	ret = ckpt_write_string(ctx, name->version, h->version_len);
+	ret = ckpt_write_string(ctx, name->version, sizeof(name->version));
 	if (ret < 0)
 		goto up;
-	ret = ckpt_write_string(ctx, name->machine, h->machine_len);
+	ret = ckpt_write_string(ctx, name->machine, sizeof(name->machine));
 	if (ret < 0)
 		goto up;
-	ret = ckpt_write_string(ctx, name->domainname, h->domainname_len);
+	ret = ckpt_write_string(ctx, name->domainname, sizeof(name->domainname));
  up:
 	up_read(&uts_sem);
 	return ret;
-- 
1.6.1

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

* Re: [PATCH 1/1] cr: uts: don't pass an unsigned var as a signed int
       [not found] ` <20090619203719.GA30093-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
@ 2009-06-20  4:27   ` Nathan Lynch
       [not found]     ` <m3prczfs2m.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
  2009-06-22 23:20   ` Nathan Lynch
  1 sibling, 1 reply; 11+ messages in thread
From: Nathan Lynch @ 2009-06-20  4:27 UTC (permalink / raw)
  To: Serge E. Hallyn; +Cc: Linux Containers

"Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> writes:

> Else my checkpoing image gets reeeaallly huge.  Just passing the
> result of sizeof() however does the right thing.
>
> Signed-off-by: Serge E. Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
> ---
>  checkpoint/namespace.c |   12 ++++++------
>  1 files changed, 6 insertions(+), 6 deletions(-)

But right above the code you're changing we have:

	h->sysname_len = sizeof(name->sysname);
	h->nodename_len = sizeof(name->nodename);
	h->release_len = sizeof(name->release);
	h->version_len = sizeof(name->version);
	h->machine_len = sizeof(name->machine);
	h->domainname_len = sizeof(name->domainname);

Your patch shouldn't change any behavior.  What gives?

(PS: ckpt_write_string and friends should take a size_t or some other
unsigned type for len.)


> diff --git a/checkpoint/namespace.c b/checkpoint/namespace.c
> index 5726acb..8206aee 100644
> --- a/checkpoint/namespace.c
> +++ b/checkpoint/namespace.c
> @@ -46,22 +46,22 @@ static int do_checkpoint_uts_ns(struct ckpt_ctx *ctx,
>  		return ret;
>  
>  	down_read(&uts_sem);
> -	ret = ckpt_write_string(ctx, name->sysname, h->sysname_len);
> +	ret = ckpt_write_string(ctx, name->sysname, sizeof(name->sysname));
>  	if (ret < 0)
>  		goto up;
> -	ret = ckpt_write_string(ctx, name->nodename, h->nodename_len);
> +	ret = ckpt_write_string(ctx, name->nodename, sizeof(name->nodename));
>  	if (ret < 0)
>  		goto up;
> -	ret = ckpt_write_string(ctx, name->release, h->release_len);
> +	ret = ckpt_write_string(ctx, name->release, sizeof(name->release));
>  	if (ret < 0)
>  		goto up;
> -	ret = ckpt_write_string(ctx, name->version, h->version_len);
> +	ret = ckpt_write_string(ctx, name->version, sizeof(name->version));
>  	if (ret < 0)
>  		goto up;
> -	ret = ckpt_write_string(ctx, name->machine, h->machine_len);
> +	ret = ckpt_write_string(ctx, name->machine, sizeof(name->machine));
>  	if (ret < 0)
>  		goto up;
> -	ret = ckpt_write_string(ctx, name->domainname, h->domainname_len);
> +	ret = ckpt_write_string(ctx, name->domainname, sizeof(name->domainname));
>   up:
>  	up_read(&uts_sem);
>  	return ret;

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

* Re: [PATCH 1/1] cr: uts: don't pass an unsigned var as a signed int
       [not found]     ` <m3prczfs2m.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
@ 2009-06-21  0:18       ` Serge E. Hallyn
       [not found]         ` <20090621001837.GA32394-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Serge E. Hallyn @ 2009-06-21  0:18 UTC (permalink / raw)
  To: Nathan Lynch; +Cc: Linux Containers

Quoting Nathan Lynch (ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org):
> "Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> writes:
> 
> > Else my checkpoing image gets reeeaallly huge.  Just passing the
> > result of sizeof() however does the right thing.
> >
> > Signed-off-by: Serge E. Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
> > ---
> >  checkpoint/namespace.c |   12 ++++++------
> >  1 files changed, 6 insertions(+), 6 deletions(-)
> 
> But right above the code you're changing we have:
> 
> 	h->sysname_len = sizeof(name->sysname);
> 	h->nodename_len = sizeof(name->nodename);
> 	h->release_len = sizeof(name->release);
> 	h->version_len = sizeof(name->version);
> 	h->machine_len = sizeof(name->machine);
> 	h->domainname_len = sizeof(name->domainname);
> 
> Your patch shouldn't change any behavior.  What gives?

"Shouldn't", perhaps, but does.

I assumed the compiler guessed that i wanted an int in the
second case and gave me a different result for that sizeof.

> (PS: ckpt_write_string and friends should take a size_t or some other
> unsigned type for len.)

There I agree, but then we need to check that no callers are
passing in potentially negative signed ints coming from userspace,
so I thought this patch would spur discussion about best path
forward (plus make checkpoint work for me again :)

-serge

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

* Re: [PATCH 1/1] cr: uts: don't pass an unsigned var as a signed int
       [not found]         ` <20090621001837.GA32394-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
@ 2009-06-21  5:29           ` Nathan Lynch
       [not found]             ` <m34ouaf942.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Nathan Lynch @ 2009-06-21  5:29 UTC (permalink / raw)
  To: Serge E. Hallyn; +Cc: Linux Containers

"Serge E. Hallyn" <serge-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org> writes:

> Quoting Nathan Lynch (ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org):
>> "Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> writes:
>> 
>> > Else my checkpoing image gets reeeaallly huge.  Just passing the
>> > result of sizeof() however does the right thing.
>> >
>> > Signed-off-by: Serge E. Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
>> > ---
>> >  checkpoint/namespace.c |   12 ++++++------
>> >  1 files changed, 6 insertions(+), 6 deletions(-)
>> 
>> But right above the code you're changing we have:
>> 
>> 	h->sysname_len = sizeof(name->sysname);
>> 	h->nodename_len = sizeof(name->nodename);
>> 	h->release_len = sizeof(name->release);
>> 	h->version_len = sizeof(name->version);
>> 	h->machine_len = sizeof(name->machine);
>> 	h->domainname_len = sizeof(name->domainname);
>> 
>> Your patch shouldn't change any behavior.  What gives?
>
> "Shouldn't", perhaps, but does.


Revisiting do_checkpoint_uts_ns, I think it's a case of use after free:

	h = ckpt_hdr_get_type(ctx, sizeof(*h), CKPT_HDR_UTS_NS);
	if (!h)
		return -ENOMEM;

	h->sysname_len = sizeof(name->sysname);
	h->nodename_len = sizeof(name->nodename);
	h->release_len = sizeof(name->release);
	h->version_len = sizeof(name->version);
	h->machine_len = sizeof(name->machine);
	h->domainname_len = sizeof(name->domainname);

	ret = ckpt_write_obj(ctx, &h->h);
	ckpt_hdr_put(ctx, h);
	if (ret < 0)
		return ret;

	down_read(&uts_sem);
	ret = ckpt_write_string(ctx, name->sysname, h->sysname_len);

We're continuing to use h's memory after it has been released by
ckpt_hdr_put.  Seems plausible that the poison values written by sl*b
debug would cause the len argument to be ridiculously large.

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

* Re: [PATCH 1/1] cr: uts: don't pass an unsigned var as a signed int
       [not found]             ` <m34ouaf942.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
@ 2009-06-21 13:53               ` Serge E. Hallyn
  2009-06-21 19:13               ` Serge E. Hallyn
  1 sibling, 0 replies; 11+ messages in thread
From: Serge E. Hallyn @ 2009-06-21 13:53 UTC (permalink / raw)
  To: Nathan Lynch; +Cc: Linux Containers

Quoting Nathan Lynch (ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org):
> "Serge E. Hallyn" <serge-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org> writes:
> 
> > Quoting Nathan Lynch (ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org):
> >> "Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> writes:
> >> 
> >> > Else my checkpoing image gets reeeaallly huge.  Just passing the
> >> > result of sizeof() however does the right thing.
> >> >
> >> > Signed-off-by: Serge E. Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
> >> > ---
> >> >  checkpoint/namespace.c |   12 ++++++------
> >> >  1 files changed, 6 insertions(+), 6 deletions(-)
> >> 
> >> But right above the code you're changing we have:
> >> 
> >> 	h->sysname_len = sizeof(name->sysname);
> >> 	h->nodename_len = sizeof(name->nodename);
> >> 	h->release_len = sizeof(name->release);
> >> 	h->version_len = sizeof(name->version);
> >> 	h->machine_len = sizeof(name->machine);
> >> 	h->domainname_len = sizeof(name->domainname);
> >> 
> >> Your patch shouldn't change any behavior.  What gives?
> >
> > "Shouldn't", perhaps, but does.
> 
> 
> Revisiting do_checkpoint_uts_ns, I think it's a case of use after free:
> 
> 	h = ckpt_hdr_get_type(ctx, sizeof(*h), CKPT_HDR_UTS_NS);
> 	if (!h)
> 		return -ENOMEM;
> 
> 	h->sysname_len = sizeof(name->sysname);
> 	h->nodename_len = sizeof(name->nodename);
> 	h->release_len = sizeof(name->release);
> 	h->version_len = sizeof(name->version);
> 	h->machine_len = sizeof(name->machine);
> 	h->domainname_len = sizeof(name->domainname);
> 
> 	ret = ckpt_write_obj(ctx, &h->h);
> 	ckpt_hdr_put(ctx, h);
> 	if (ret < 0)
> 		return ret;
> 
> 	down_read(&uts_sem);
> 	ret = ckpt_write_string(ctx, name->sysname, h->sysname_len);
> 
> We're continuing to use h's memory after it has been released by
> ckpt_hdr_put.  Seems plausible that the poison values written by sl*b
> debug would cause the len argument to be ridiculously large.

Haha.  Can't believe I didn't see that!

Thanks.

-serge

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

* Re: [PATCH 1/1] cr: uts: don't pass an unsigned var as a signed int
       [not found]             ` <m34ouaf942.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
  2009-06-21 13:53               ` Serge E. Hallyn
@ 2009-06-21 19:13               ` Serge E. Hallyn
       [not found]                 ` <20090621191305.GA2499-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
  1 sibling, 1 reply; 11+ messages in thread
From: Serge E. Hallyn @ 2009-06-21 19:13 UTC (permalink / raw)
  To: Nathan Lynch; +Cc: Linux Containers

Quoting Nathan Lynch (ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org):
> "Serge E. Hallyn" <serge-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org> writes:
> 
> > Quoting Nathan Lynch (ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org):
> >> "Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> writes:
> >> 
> >> > Else my checkpoing image gets reeeaallly huge.  Just passing the
> >> > result of sizeof() however does the right thing.
> >> >
> >> > Signed-off-by: Serge E. Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
> >> > ---
> >> >  checkpoint/namespace.c |   12 ++++++------
> >> >  1 files changed, 6 insertions(+), 6 deletions(-)
> >> 
> >> But right above the code you're changing we have:
> >> 
> >> 	h->sysname_len = sizeof(name->sysname);
> >> 	h->nodename_len = sizeof(name->nodename);
> >> 	h->release_len = sizeof(name->release);
> >> 	h->version_len = sizeof(name->version);
> >> 	h->machine_len = sizeof(name->machine);
> >> 	h->domainname_len = sizeof(name->domainname);
> >> 
> >> Your patch shouldn't change any behavior.  What gives?
> >
> > "Shouldn't", perhaps, but does.
> 
> 
> Revisiting do_checkpoint_uts_ns, I think it's a case of use after free:
> 
> 	h = ckpt_hdr_get_type(ctx, sizeof(*h), CKPT_HDR_UTS_NS);
> 	if (!h)
> 		return -ENOMEM;
> 
> 	h->sysname_len = sizeof(name->sysname);
> 	h->nodename_len = sizeof(name->nodename);
> 	h->release_len = sizeof(name->release);
> 	h->version_len = sizeof(name->version);
> 	h->machine_len = sizeof(name->machine);
> 	h->domainname_len = sizeof(name->domainname);
> 
> 	ret = ckpt_write_obj(ctx, &h->h);
> 	ckpt_hdr_put(ctx, h);
> 	if (ret < 0)
> 		return ret;
> 
> 	down_read(&uts_sem);
> 	ret = ckpt_write_string(ctx, name->sysname, h->sysname_len);
> 
> We're continuing to use h's memory after it has been released by
> ckpt_hdr_put.  Seems plausible that the poison values written by sl*b
> debug would cause the len argument to be ridiculously large.

Oren,

would it be possible to put up a filter, either manual or
automatic, to send every patch that gets pushed on the current
ckpt git branch to the containers list, maybe with a [CKPT PUSH]
tag in the subject line?

I think it will foster much more review of every patch.  Right now
it feels like we just catch blatant bugs when they bite us too hard,
but I don't think many people are looking through 'git wc' every
day.

-serge

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

* Re: [PATCH 1/1] cr: uts: don't pass an unsigned var as a signed int
       [not found]                 ` <20090621191305.GA2499-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
@ 2009-06-22  4:13                   ` Nathan Lynch
       [not found]                     ` <m3fxdsc3dm.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
  2009-06-23 11:41                   ` Cedric Le Goater
  1 sibling, 1 reply; 11+ messages in thread
From: Nathan Lynch @ 2009-06-22  4:13 UTC (permalink / raw)
  To: Serge E. Hallyn; +Cc: Linux Containers

"Serge E. Hallyn" <serge-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org> writes:
> Quoting Nathan Lynch (ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org):
>> "Serge E. Hallyn" <serge-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org> writes:
>> 
>> > Quoting Nathan Lynch (ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org):
>> >> "Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> writes:
>> >> 
>> >> > Else my checkpoing image gets reeeaallly huge.  Just passing the
>> >> > result of sizeof() however does the right thing.
>> >> >
>> >> > Signed-off-by: Serge E. Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
>> >> > ---
>> >> >  checkpoint/namespace.c |   12 ++++++------
>> >> >  1 files changed, 6 insertions(+), 6 deletions(-)
>> >> 
>> >> But right above the code you're changing we have:
>> >> 
>> >> 	h->sysname_len = sizeof(name->sysname);
>> >> 	h->nodename_len = sizeof(name->nodename);
>> >> 	h->release_len = sizeof(name->release);
>> >> 	h->version_len = sizeof(name->version);
>> >> 	h->machine_len = sizeof(name->machine);
>> >> 	h->domainname_len = sizeof(name->domainname);
>> >> 
>> >> Your patch shouldn't change any behavior.  What gives?
>> >
>> > "Shouldn't", perhaps, but does.
>> 
>> 
>> Revisiting do_checkpoint_uts_ns, I think it's a case of use after free:
>> 
>> 	h = ckpt_hdr_get_type(ctx, sizeof(*h), CKPT_HDR_UTS_NS);
>> 	if (!h)
>> 		return -ENOMEM;
>> 
>> 	h->sysname_len = sizeof(name->sysname);
>> 	h->nodename_len = sizeof(name->nodename);
>> 	h->release_len = sizeof(name->release);
>> 	h->version_len = sizeof(name->version);
>> 	h->machine_len = sizeof(name->machine);
>> 	h->domainname_len = sizeof(name->domainname);
>> 
>> 	ret = ckpt_write_obj(ctx, &h->h);
>> 	ckpt_hdr_put(ctx, h);
>> 	if (ret < 0)
>> 		return ret;
>> 
>> 	down_read(&uts_sem);
>> 	ret = ckpt_write_string(ctx, name->sysname, h->sysname_len);
>> 
>> We're continuing to use h's memory after it has been released by
>> ckpt_hdr_put.  Seems plausible that the poison values written by sl*b
>> debug would cause the len argument to be ridiculously large.
>
> Oren,
>
> would it be possible to put up a filter, either manual or
> automatic, to send every patch that gets pushed on the current
> ckpt git branch to the containers list, maybe with a [CKPT PUSH]
> tag in the subject line?

Or just post patches to the mailing list before committing them to
public branches on which others are basing work.

This seems like an opportune moment to point out the guidelines for
including a tree in linux-next:

all patches/commits in the tree/series must have been:

	posted to a relevant mailing list
	reviewed
	unit tested
	destined for the next merge window (or the current release)

*before* they are included.

(source: http://lkml.org/lkml/2009/6/20/6 )

If upstream inclusion is the ultimate goal, those are the standards
which apply.


> I think it will foster much more review of every patch.  Right now
> it feels like we just catch blatant bugs when they bite us too hard,
> but I don't think many people are looking through 'git wc' every
> day.

Right.

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

* Re: [PATCH 1/1] cr: uts: don't pass an unsigned var as a signed int
       [not found] ` <20090619203719.GA30093-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
  2009-06-20  4:27   ` Nathan Lynch
@ 2009-06-22 23:20   ` Nathan Lynch
  1 sibling, 0 replies; 11+ messages in thread
From: Nathan Lynch @ 2009-06-22 23:20 UTC (permalink / raw)
  To: Serge E. Hallyn; +Cc: Linux Containers

"Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> writes:
> Else my checkpoing image gets reeeaallly huge.  Just passing the
> result of sizeof() however does the right thing.
>
> Signed-off-by: Serge E. Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
> ---
>  checkpoint/namespace.c |   12 ++++++------
>  1 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/checkpoint/namespace.c b/checkpoint/namespace.c
> index 5726acb..8206aee 100644
> --- a/checkpoint/namespace.c
> +++ b/checkpoint/namespace.c
> @@ -46,22 +46,22 @@ static int do_checkpoint_uts_ns(struct ckpt_ctx *ctx,
>  		return ret;
>  
>  	down_read(&uts_sem);
> -	ret = ckpt_write_string(ctx, name->sysname, h->sysname_len);
> +	ret = ckpt_write_string(ctx, name->sysname, sizeof(name->sysname));
>  	if (ret < 0)
>  		goto up;
> -	ret = ckpt_write_string(ctx, name->nodename, h->nodename_len);
> +	ret = ckpt_write_string(ctx, name->nodename, sizeof(name->nodename));
>  	if (ret < 0)
>  		goto up;
> -	ret = ckpt_write_string(ctx, name->release, h->release_len);
> +	ret = ckpt_write_string(ctx, name->release, sizeof(name->release));
>  	if (ret < 0)
>  		goto up;
> -	ret = ckpt_write_string(ctx, name->version, h->version_len);
> +	ret = ckpt_write_string(ctx, name->version, sizeof(name->version));
>  	if (ret < 0)
>  		goto up;
> -	ret = ckpt_write_string(ctx, name->machine, h->machine_len);
> +	ret = ckpt_write_string(ctx, name->machine, sizeof(name->machine));
>  	if (ret < 0)
>  		goto up;
> -	ret = ckpt_write_string(ctx, name->domainname, h->domainname_len);
> +	ret = ckpt_write_string(ctx, name->domainname, sizeof(name->domainname));
>   up:
>  	up_read(&uts_sem);
>  	return ret;

So, getting back to the actual patch, this change seems fine -- just the
commit subject and message should be updated, yes?

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

* Re: [PATCH 1/1] cr: uts: don't pass an unsigned var as a signed int
       [not found]                 ` <20090621191305.GA2499-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
  2009-06-22  4:13                   ` Nathan Lynch
@ 2009-06-23 11:41                   ` Cedric Le Goater
       [not found]                     ` <4A40BF4F.9080704-GANU6spQydw@public.gmane.org>
  1 sibling, 1 reply; 11+ messages in thread
From: Cedric Le Goater @ 2009-06-23 11:41 UTC (permalink / raw)
  To: Serge E. Hallyn; +Cc: Linux Containers, Nathan Lynch

> would it be possible to put up a filter, either manual or
> automatic, to send every patch that gets pushed on the current
> ckpt git branch to the containers list, maybe with a [CKPT PUSH]
> tag in the subject line?

you might want to use the 'post-receive' hook  like it's done on lxc-devel@ :

http://sourceforge.net/mailarchive/forum.php?thread_name=E1MF7MN-00089i-Oz%40fxgxhf1.ch3.sourceforge.com&forum_name=lxc-devel

Cheers,

C.

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

* Re: [PATCH 1/1] cr: uts: don't pass an unsigned var as a signed int
       [not found]                     ` <4A40BF4F.9080704-GANU6spQydw@public.gmane.org>
@ 2009-06-23 13:05                       ` Serge E. Hallyn
  0 siblings, 0 replies; 11+ messages in thread
From: Serge E. Hallyn @ 2009-06-23 13:05 UTC (permalink / raw)
  To: Cedric Le Goater; +Cc: Linux Containers, Nathan Lynch

Quoting Cedric Le Goater (legoater-GANU6spQydw@public.gmane.org):
> > would it be possible to put up a filter, either manual or
> > automatic, to send every patch that gets pushed on the current
> > ckpt git branch to the containers list, maybe with a [CKPT PUSH]
> > tag in the subject line?
> 
> you might want to use the 'post-receive' hook  like it's done on lxc-devel@ :
> 
> http://sourceforge.net/mailarchive/forum.php?thread_name=E1MF7MN-00089i-Oz%40fxgxhf1.ch3.sourceforge.com&forum_name=lxc-devel
> 
> Cheers,
> 
> C.

Thanks, neat idea.

As Nathan pointed out, it would be better (in terms of assuring upstream
maintainers of quality of the tree) to demand an ack *before* pushing to
git.  But even so, a post-receive hook would still be nice.

-serge

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

* Re: [PATCH 1/1] cr: uts: don't pass an unsigned var as a signed int
       [not found]                     ` <m3fxdsc3dm.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
@ 2009-06-24 17:07                       ` Oren Laadan
  0 siblings, 0 replies; 11+ messages in thread
From: Oren Laadan @ 2009-06-24 17:07 UTC (permalink / raw)
  To: Nathan Lynch; +Cc: Linux Containers



Nathan Lynch wrote:

[...]

> "Serge E. Hallyn" <serge-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org> writes:

[...]

>> Oren,
>>
>> would it be possible to put up a filter, either manual or
>> automatic, to send every patch that gets pushed on the current
>> ckpt git branch to the containers list, maybe with a [CKPT PUSH]
>> tag in the subject line?
> 
> Or just post patches to the mailing list before committing them to
> public branches on which others are basing work.
> 
> This seems like an opportune moment to point out the guidelines for
> including a tree in linux-next:
> 
> all patches/commits in the tree/series must have been:
> 
> 	posted to a relevant mailing list
> 	reviewed
> 	unit tested
> 	destined for the next merge window (or the current release)
> 
> *before* they are included.
> 
> (source: http://lkml.org/lkml/2009/6/20/6 )
> 
> If upstream inclusion is the ultimate goal, those are the standards
> which apply.
> 
> 
>> I think it will foster much more review of every patch.  Right now
>> it feels like we just catch blatant bugs when they bite us too hard,
>> but I don't think many people are looking through 'git wc' every
>> day.

Yes, I agree with both suggestions, and will do both.

FWIW, I decided to push less-tested code to avoid delay for a long
period due to travel plans. Posting them on the list would have
helped to improve them, of course.

Oren.

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

end of thread, other threads:[~2009-06-24 17:07 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-06-19 20:37 [PATCH 1/1] cr: uts: don't pass an unsigned var as a signed int Serge E. Hallyn
     [not found] ` <20090619203719.GA30093-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-06-20  4:27   ` Nathan Lynch
     [not found]     ` <m3prczfs2m.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2009-06-21  0:18       ` Serge E. Hallyn
     [not found]         ` <20090621001837.GA32394-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
2009-06-21  5:29           ` Nathan Lynch
     [not found]             ` <m34ouaf942.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2009-06-21 13:53               ` Serge E. Hallyn
2009-06-21 19:13               ` Serge E. Hallyn
     [not found]                 ` <20090621191305.GA2499-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
2009-06-22  4:13                   ` Nathan Lynch
     [not found]                     ` <m3fxdsc3dm.fsf-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2009-06-24 17:07                       ` Oren Laadan
2009-06-23 11:41                   ` Cedric Le Goater
     [not found]                     ` <4A40BF4F.9080704-GANU6spQydw@public.gmane.org>
2009-06-23 13:05                       ` Serge E. Hallyn
2009-06-22 23:20   ` Nathan Lynch

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.