When memory regions start at 0, the current mem_test_request_regions function wrongly assumes that struct resource *r points at the correct region. It points to the first region however (which starts at 0). The comment states, that the code starts from the second entry. In include/linux/list.h the macro documentation however says: list_for_each_entry_from - iterate over list of given type from the current point The correct list iteration macro to use here is list_for_each_entry_continue, where the documentation says: Continue to iterate over list of given type, continuing after the current position. Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> --- common/memtest.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/memtest.c b/common/memtest.c index 8af998e883e1..0fc20467580e 100644 --- a/common/memtest.c +++ b/common/memtest.c @@ -90,7 +90,7 @@ int mem_test_request_regions(struct list_head *list) * * Between used regions. Start from second entry. */ - list_for_each_entry_from(r, &bank->res->children, sibling) { + list_for_each_entry_continue(r, &bank->res->children, sibling) { start = PAGE_ALIGN(r_prev->end + 1); end = r->start - 1; r_prev = r; -- 2.11.0 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox