Re: [PATCH] OOM: initialise points variable in out_of_memory()

From: Carlos MartÃn
Date: Tue Feb 28 2006 - 10:00:23 EST


On Tuesday 28 February 2006 13:13, Kurt Garloff wrote:
> Hi Carlos,
>
> On Mon, Feb 27, 2006 at 10:36:25PM +0100, Carlos Martin wrote:
> > We didn't initialise points, so the value reported was completely
> > random. This doesn't affect the behaviour of the funcion.
>
> Did you observe it?

No. GCC complained about it.

>
> In the original patch, there is
> +static struct task_struct * select_bad_process(unsigned long *ppoints)
> {
> - unsigned long maxpoints = 0;
> struct task_struct *g, *p;
> struct task_struct *chosen = NULL;
> struct timespec uptime;
> + *ppoints = 0;
>
> And this is called from out_of_memory().
>
> But the constrained_alloc stuff seems to use points before
> select_bad_process() is called, so initializing to 0 is a
> good idea. I don't remember having see the constrained_alloc
> stuff, though, so I either did not look carefully enough or a
> merge error happened afterwards.

It never used to be a problem because it was initialised when calling
select_bad_process().

I though it was your change, but I've looked again and it was Christoph
Lameter's commit 9b0f8b040acd8dfd23860754c0d09ff4f44e2cbc which introduced
the problem.

cmn
--
Carlos MartÃn Nieto | http://www.cmartin.tk
Hobbyist programmer |
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/