Re: Patch "percpu: fix a memory leak in pcpu_extend_area_map()" has been added to the 2.6.35-stable tree

From: Stefan Lippers-Hollmann
Date: Thu Sep 16 2010 - 19:37:37 EST


Hi

On Friday 17 September 2010, Greg KH wrote:
> On Thu, Sep 16, 2010 at 11:39:02PM +0200, Stefan Lippers-Hollmann wrote:
[...]
> > On Thursday 16 September 2010, gregkh@xxxxxxx wrote:
> > > This is a note to let you know that I've just added the patch titled
> > > percpu: fix a memory leak in pcpu_extend_area_map()
> > > to the 2.6.35-stable tree which can be found at:
> > > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> > [...]
> > > From a002d148426f40bc2b7dc066982eb177cdebeaaa Mon Sep 17 00:00:00 2001
> > > From: Huang Shijie <shijie8@xxxxxxxxx>
> > > Date: Sun, 8 Aug 2010 14:39:07 +0200
> > > Subject: percpu: fix a memory leak in pcpu_extend_area_map()
> > >
> > > From: Huang Shijie <shijie8@xxxxxxxxx>
> > >
> > > commit a002d148426f40bc2b7dc066982eb177cdebeaaa upstream.
> > >
> > > The original code did not free the old map. This patch fixes it.
> > >
> > > tj: use @old as memcpy source instead of @chunk->map, and indentation
> > > and description update
> >
> > This patch, as part of the current -stable queue-2.6.35, breaks booting for
> > me on nforce4/ AMD64 X2. Unfortunately it fails even before the serial
> > console is initialized and the only messages shown on screen are:
> >
> > Decompressing Linux... Parsing ELF... done.
> > Booting kernel.
[...]
> > > --- a/mm/percpu.c
> > > +++ b/mm/percpu.c
> > > @@ -390,7 +390,9 @@ static int pcpu_extend_area_map(struct p
> > > goto out_unlock;
> > >
> > > old_size = chunk->map_alloc * sizeof(chunk->map[0]);
> > > - memcpy(new, chunk->map, old_size);
> > > + old = chunk->map;
> > > +
> > > + memcpy(new, old, old_size);
> > >
> > > /*
> > > * map_alloc < PCPU_DFL_MAP_ALLOC indicates that the chunk is
> >
> > Reverting just this patch from the current queue-2.6.35 fixes the issue for
> > me; gzipped kernel config (amd64) attached.
>
> Does Linus's tree also cause the same problems for you?

Current linux-2.6 HEAD (v2.6.36-rc4-134-g03a7ab0) boots and works fine with
a config very closely derived from the previous one.

Regards
Stefan Lippers-Hollmann
--
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/