[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190213163012.GA6110@rapoport-lnx>
Date: Wed, 13 Feb 2019 18:30:12 +0200
From: Mike Rapoport <rppt@...ux.ibm.com>
To: Marc Gonzalez <marc.w.gonzalez@...e.fr>
Cc: Rob Herring <robh+dt@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Stephen Rothwell <sfr@...b.auug.org.au>,
Frank Rowand <frowand.list@...il.com>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Catalin Marinas <catalin.marinas@....com>,
Prateek Patel <prpatel@...dia.com>,
DT <devicetree@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
stable <stable@...r.kernel.org>
Subject: Re: [RESEND PATCH v2] of: fix kmemleak crash caused by imbalance in
early memory reservation
On Wed, Feb 13, 2019 at 10:27:48AM +0100, Marc Gonzalez wrote:
> On 13/02/2019 07:57, Mike Rapoport wrote:
>
> > Below is the version vs. current mmotm.
> >
> > From 9ea6dceb46067d4f1cbbdbec1189c8496aa0a4bc Mon Sep 17 00:00:00 2001
> > From: Mike Rapoport <rppt@...ux.ibm.com>
> > Date: Mon, 4 Feb 2019 15:37:21 +0100
> > Subject: [PATCH] of: fix kmemleak crash caused by imbalance in early memory reservation
>
> Out of curiosity, why don't you send as a proper v3?
Was too much in a hurry
> > Marc Gonzalez reported the following kmemleak crash:
> >
> > [...]
> >
> > The crash happens when a no-map area is allocated in
> > early_init_dt_alloc_reserved_memory_arch(). The allocated region is
> > registered with kmemleak, but it is then removed from memblock using
> > memblock_remove() that is not kmemleak-aware.
> >
> > Replacing __memblock_alloc_base() with memblock_find_in_range()
>
> Nit: in this new version, you're replacing memblock_phys_alloc_range()
> with memblock_find_in_range() so I don't know if the comment still
> applies.
and didn't check the outcome of blindly applying the patch :(
I'll send a proper v3 soon. Sorry for the noise.
> > makes sure that the allocated memory is not added to kmemleak and then
> > memblock_remove()'ing this memory is safe.
> >
> > As a bonus, since memblock_find_in_range() ensures the allocation in the
> > specified range, the bounds check can be removed.
> >
> > Cc: stable@...r.kernel.org # 3.15+
> > Fixes: 3f0c820664483 ("drivers: of: add initialization code for dynamic reserved memory")
> > Acked-by: Marek Szyprowski <m.szyprowski@...sung.com>
> > Acked-by: Prateek Patel <prpatel@...dia.com>
> > Tested-by: Marc Gonzalez <marc.w.gonzalez@...e.fr>
> > Signed-off-by: Mike Rapoport <rppt@...ux.ibm.com>
>
--
Sincerely yours,
Mike.
Powered by blists - more mailing lists