+CC stable On 08/23/2017 08:04 PM, Pavel Tatashin wrote: > In recently introduced memblock_discard() there is a reversed logic bug. > Memory is freed of static array instead of dynamically allocated one. > > Fixes: 3010f876500f ("mm: discard memblock data later") That patch was CC'd stable. So this one should be too. Looks like it the original patch wasn't yet included in a stable release, so we can avoid breakage. > Reported-and-tested-by: Woody Suwalski <terraluna977@xxxxxxxxx> > Signed-off-by: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> > --- > mm/memblock.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/memblock.c b/mm/memblock.c > index bf14aea6ab70..91205780e6b1 100644 > --- a/mm/memblock.c > +++ b/mm/memblock.c > @@ -299,7 +299,7 @@ void __init memblock_discard(void) > __memblock_free_late(addr, size); > } > > - if (memblock.memory.regions == memblock_memory_init_regions) { > + if (memblock.memory.regions != memblock_memory_init_regions) { > addr = __pa(memblock.memory.regions); > size = PAGE_ALIGN(sizeof(struct memblock_region) * > memblock.memory.max); >