Hari Bathini <hbathini@xxxxxxxxxxxxx> writes: > With commit a4e92ce8e4c8 ("powerpc/fadump: Reservationless firmware > assisted dump"), Linux kernel's Contiguous Memory Allocator (CMA) > based reservation was introduced in fadump. That change was aimed at > using CMA to let applications utilize the memory reserved for fadump > while blocking it from being used for kernel pages. The assumption > was, even if CMA activation fails for whatever reason, the memory > still remains reserved to avoid it from being used for kernel pages. > But commit 072355c1cf2d ("mm/cma: expose all pages to the buddy if > activation of an area fails") breaks this assumption as it started > exposing all pages to buddy allocator on CMA activation failure. > It led to warning messages like below while running crash-utility > on vmcore of a kernel having above two commits: > > crash: seek error: kernel virtual address: <from reserved region> > > To fix this problem, opt out from exposing pages to buddy allocator > on CMA activation failure for fadump reserved memory. > > Signed-off-by: Hari Bathini <hbathini@xxxxxxxxxxxxx> > Acked-by: David Hildenbrand <david@xxxxxxxxxx> > --- > > Changes in v3: > * Added Acked-by tag from David. > > > arch/powerpc/kernel/fadump.c | 6 ++++++ > 1 file changed, 6 insertions(+) Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> cheers > diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c > index d03e488cfe9c..d0ad86b67e66 100644 > --- a/arch/powerpc/kernel/fadump.c > +++ b/arch/powerpc/kernel/fadump.c > @@ -112,6 +112,12 @@ static int __init fadump_cma_init(void) > return 1; > } > > + /* > + * If CMA activation fails, keep the pages reserved, instead of > + * exposing them to buddy allocator. Same as 'fadump=nocma' case. > + */ > + cma_reserve_pages_on_error(fadump_cma); > + > /* > * So we now have successfully initialized cma area for fadump. > */ > -- > 2.34.1