summary refs log tree commit diff
path: root/scripts
diff options
context:
space:
mode:
authorLeonard Crestez <leonard.crestez@nxp.com>2019-05-14 15:46:14 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2019-05-14 19:52:52 -0700
commit66d5c7c60acfeb21d80ff03a349e3b6600caa117 (patch)
tree54742b858e7ab0a5b79e1d3340cbe6b90c2c2ef4 /scripts
parent988b2686159759401a4549d0fc30ff9a8758391a (diff)
downloadlinux-66d5c7c60acfeb21d80ff03a349e3b6600caa117.tar.gz
scripts/gdb: clean up error handling in list helpers
An incorrect argument to list_for_each is an internal error in gdb
scripts so a TypeError should be raised.  The gdb.GdbError exception
type is intended for user errors such as incorrect invocation.

Drop the type assertion in list_for_each_entry because list_for_each
isn't going to suddenly yield something else.

Applies to both list and hlist

Link: http://lkml.kernel.org/r/c1d3fd4db13d999a3ba57f5bbc1924862d824f61.1556881728.git.leonard.crestez@nxp.com
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Cc: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Jason Wessel <jason.wessel@windriver.com>
Cc: Kieran Bingham <kbingham@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/gdb/linux/lists.py10
1 files changed, 2 insertions, 8 deletions
diff --git a/scripts/gdb/linux/lists.py b/scripts/gdb/linux/lists.py
index 55356b66f8ea..c487ddf09d38 100644
--- a/scripts/gdb/linux/lists.py
+++ b/scripts/gdb/linux/lists.py
@@ -24,7 +24,7 @@ def list_for_each(head):
     if head.type == list_head.get_type().pointer():
         head = head.dereference()
     elif head.type != list_head.get_type():
-        raise gdb.GdbError("Must be struct list_head not {}"
+        raise TypeError("Must be struct list_head not {}"
                            .format(head.type))
 
     node = head['next'].dereference()
@@ -35,9 +35,6 @@ def list_for_each(head):
 
 def list_for_each_entry(head, gdbtype, member):
     for node in list_for_each(head):
-        if node.type != list_head.get_type().pointer():
-            raise TypeError("Type {} found. Expected struct list_head *."
-                            .format(node.type))
         yield utils.container_of(node, gdbtype, member)
 
 
@@ -45,7 +42,7 @@ def hlist_for_each(head):
     if head.type == hlist_head.get_type().pointer():
         head = head.dereference()
     elif head.type != hlist_head.get_type():
-        raise gdb.GdbError("Must be struct hlist_head not {}"
+        raise TypeError("Must be struct hlist_head not {}"
                            .format(head.type))
 
     node = head['first'].dereference()
@@ -56,9 +53,6 @@ def hlist_for_each(head):
 
 def hlist_for_each_entry(head, gdbtype, member):
     for node in hlist_for_each(head):
-        if node.type != hlist_node.get_type().pointer():
-            raise TypeError("Type {} found. Expected struct hlist_head *."
-                            .format(node.type))
         yield utils.container_of(node, gdbtype, member)