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

From: Kurt Garloff
Date: Tue Feb 28 2006 - 09:14:59 EST


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?

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.

Thanks for noticing and thanks for sending the fix!

Best,
--
Kurt Garloff, Head Architect Linux, Novell Inc.

Attachment: pgp00000.pgp
Description: PGP signature