Re: [PATCH 4.19 200/321] mm/page_alloc.c: deduplicate __memblock_free_early() and memblock_free()

Greg Kroah-Hartman
2019-12-06T13:03:05Z

On Fri, Dec 06, 2019 at 10:34:19AM +0800, 王文涛 wrote:
> Yes, Mike's follow up fix should be picked too with this change.
>
> On Thu, Dec 5, 2019 at 9:11 PM Mike Rapoport <rppt@linux.ibm.com> wrote:
>
> > On Thu, Dec 05, 2019 at 12:50:43PM +0100, Pavel Machek wrote:
> > > Hi!
> > > On Tue 2019-12-03 23:34:26, Greg Kroah-Hartman wrote:
> > > > From: Wentao Wang <witallwang@gmail.com>
> > > >
> > > > [ Upstream commit d31cfe7bff9109476da92c245b56083e9b48d60a ]
> > >
> > >
> > > > @@ -1537,12 +1537,7 @@ void * __init memblock_virt_alloc_try_nid(
> > > > */
> > > > void __init __memblock_free_early(phys_addr_t base, phys_addr_t size)
> > > > {
> > > > - phys_addr_t end = base + size - 1;
> > > > -
> > > > - memblock_dbg("%s: [%pa-%pa] %pF\n",
> > > > - __func__, &base, &end, (void *)_RET_IP_);
> > > > - kmemleak_free_part_phys(base, size);
> > > > - memblock_remove_range(&memblock.reserved, base, size);
> > > > + memblock_free(base, size);
> > > > }
> > >
> > > This makes the memblock_dbg() less useful: _RET_IP_ will now be one of
> > > __memblock_free_early(), not of the original caller.
> > >
> > > That may be okay, but I guess it should be mentioned in changelog, and
> > > I don't really see why it is queued for -stable.
> >
> > Not sure why this one was picked for -stable, but in upstream there is a
> > followup commit 4d72868c8f7c ("memblock: replace usage of
> > __memblock_free_early() with memblock_free()") that completely eliminates
> > __memblock_free_early(). IMHO it would make sense to either to take both or
> > to drop both.

This commit does not apply to the 4.19.y tree :(