fdt: lmb: add reserved regions as no-overwrite
The boot_fdt_add_mem_rsv_regions() function reserves the memreserve and reserved-memory regions. These regions are being set with the LMB_NONE flag which allows overwriting and re-using the regions. This was fine earlier when the LMB memory map was local and not enforced globally. But that is no longer the case. Mark these regions as LMB_NOOVERWRITE so that they cannot be used. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reported-by: Vaishnav Achath <vaishnav.a@ti.com>
This commit is contained in:
@@ -110,7 +110,7 @@ void boot_fdt_add_mem_rsv_regions(void *fdt_blob)
|
|||||||
for (i = 0; i < total; i++) {
|
for (i = 0; i < total; i++) {
|
||||||
if (fdt_get_mem_rsv(fdt_blob, i, &addr, &size) != 0)
|
if (fdt_get_mem_rsv(fdt_blob, i, &addr, &size) != 0)
|
||||||
continue;
|
continue;
|
||||||
boot_fdt_reserve_region(addr, size, LMB_NONE);
|
boot_fdt_reserve_region(addr, size, LMB_NOOVERWRITE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* process reserved-memory */
|
/* process reserved-memory */
|
||||||
@@ -122,7 +122,7 @@ void boot_fdt_add_mem_rsv_regions(void *fdt_blob)
|
|||||||
ret = fdt_get_resource(fdt_blob, subnode, "reg", 0,
|
ret = fdt_get_resource(fdt_blob, subnode, "reg", 0,
|
||||||
&res);
|
&res);
|
||||||
if (!ret && fdtdec_get_is_enabled(fdt_blob, subnode)) {
|
if (!ret && fdtdec_get_is_enabled(fdt_blob, subnode)) {
|
||||||
flags = LMB_NONE;
|
flags = LMB_NOOVERWRITE;
|
||||||
if (fdtdec_get_bool(fdt_blob, subnode,
|
if (fdtdec_get_bool(fdt_blob, subnode,
|
||||||
"no-map"))
|
"no-map"))
|
||||||
flags = LMB_NOMAP;
|
flags = LMB_NOMAP;
|
||||||
|
Reference in New Issue
Block a user