summaryrefslogtreecommitdiff
path: root/sys/dev/fdt
diff options
context:
space:
mode:
authorryo <ryo@NetBSD.org>2022-08-04 11:58:55 +0000
committerryo <ryo@NetBSD.org>2022-08-04 11:58:55 +0000
commit728d91fdb30d99a7651d5a228bbeb3bedd6d1ca1 (patch)
tree9f5c19adbbf5d0dda67e4066f938eb0a2e6decd9 /sys/dev/fdt
parentbbeae7732bb921b31b5a6ef43382a0bbf5beed1f (diff)
Don't pass a block of size 0 to fdt_memory_add_range().
There are some environments where size 0 blocks are passed from the loader.
Diffstat (limited to 'sys/dev/fdt')
-rw-r--r--sys/dev/fdt/fdt_memory.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/fdt/fdt_memory.c b/sys/dev/fdt/fdt_memory.c
index 2761f0f9717..d663c1451e1 100644
--- a/sys/dev/fdt/fdt_memory.c
+++ b/sys/dev/fdt/fdt_memory.c
@@ -1,4 +1,4 @@
-/* $NetBSD: fdt_memory.c,v 1.4 2022/01/07 07:25:37 mlelstv Exp $ */
+/* $NetBSD: fdt_memory.c,v 1.5 2022/08/04 11:58:55 ryo Exp $ */
/*-
* Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
#include "opt_fdt.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fdt_memory.c,v 1.4 2022/01/07 07:25:37 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fdt_memory.c,v 1.5 2022/08/04 11:58:55 ryo Exp $");
#include <sys/param.h>
#include <sys/queue.h>
@@ -88,6 +88,8 @@ fdt_memory_get(uint64_t *pstart, uint64_t *pend)
for (index = 0;
fdtbus_get_reg64(memory, index, &cur_addr, &cur_size) == 0;
index++) {
+ if (cur_size == 0)
+ continue;
fdt_memory_add_range(cur_addr, cur_size);
if (index == 0) {