[PATCH 0/2] Fix Random Kernel panic from when fail to reserve memory

From: Lucas Tanure
Date: Thu Apr 06 2023 - 11:15:10 EST


I am trying to fix an issue where the kernel panics randomly on my Vim3 board.
The issue happens when the ARM Trusted Firmware memory is not removed from the
available ram.

This happens because my u-boot provides this region as a /memreserve/, but it
doesn't flag it as nomap. And the kernel can't map as nomap as the region is
already reserved.
My proposal here is to allow the kernel to mark as nomap if the region from
the device tree and FDT have the same base and size.

arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi:
/* 3 MiB reserved for ARM Trusted Firmware (BL31) */
secmon_reserved: secmon@5000000 {
reg = <0x0 0x05000000 0x0 0x300000>;
no-map;
};

Previos Threads:
#regzbot link: https://lore.kernel.org/linux-arm-kernel/40ca11f84b7cdbfb9ad2ddd480cb204a@xxxxxxxx/#regzbot
#regzbot link: https://lore.kernel.org/all/CAJX_Q+1Tjc+-TjZ6JW9X0NxEdFe=82a9626yL63j7uVD4LpxEA@xxxxxxxxxxxxxx/

Lucas Tanure (2):
memblock: Differentiate regions overlap from both regions being the
same
of: fdt: Allow the kernel to mark nomap regions received from fdt

drivers/of/fdt.c | 10 ++++++----
include/linux/memblock.h | 18 +++++++++++++++---
mm/memblock.c | 37 ++++++++++++++++++++++++-------------
3 files changed, 45 insertions(+), 20 deletions(-)

--
2.40.0