On 05.01.21 17:51, George Prekas wrote: > On 9/24/2020 9:20 AM, George Prekas wrote: >> If the list is uninitialized (next pointer is NULL), list_for_each gets >> stuck in an infinite loop. Print a message and treat list as empty. >> >> Signed-off-by: George Prekas <preka...@amazon.com> >> --- >> scripts/gdb/linux/lists.py | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/scripts/gdb/linux/lists.py b/scripts/gdb/linux/lists.py >> index c487ddf09d38..bae4d70b7eae 100644 >> --- a/scripts/gdb/linux/lists.py >> +++ b/scripts/gdb/linux/lists.py >> @@ -27,6 +27,11 @@ def list_for_each(head): >> raise TypeError("Must be struct list_head not {}" >> .format(head.type)) >> >> + if head['next'] == 0: >> + gdb.write("list_for_each: Uninitialized list '{}' treated as >> empty\n" >> + .format(head.address)) >> + return >> + >> node = head['next'].dereference() >> while node.address != head.address: >> yield node.address > > Happy New Year!
Same to you! > > Any updates on this? > Sorry, slipped through. Reviewed-by: Jan Kiszka <jan.kis...@siemens.com> Andrew, please pick this up. Jan -- Siemens AG, T RDA IOT Corporate Competence Center Embedded Linux