diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2024-08-02 14:10:55 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2024-08-02 14:10:55 +0200 |
commit | 4436e6da008fee87d54c038e983e5be9a6baf8fb (patch) | |
tree | 265a15efcf6f17e0e32e258d66b274fc5cad41d4 /scripts/gdb/linux/stackdepot.py | |
parent | b7c35279e0da414e7d90eba76f58a16223a734cb (diff) | |
parent | 8400291e289ee6b2bf9779ff1c83a291501f017b (diff) |
Merge branch 'linus' into x86/mm
Bring x86 and selftests up to date
Diffstat (limited to 'scripts/gdb/linux/stackdepot.py')
-rw-r--r-- | scripts/gdb/linux/stackdepot.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/scripts/gdb/linux/stackdepot.py b/scripts/gdb/linux/stackdepot.py index 0281d9de4b7c..bb3a0f843931 100644 --- a/scripts/gdb/linux/stackdepot.py +++ b/scripts/gdb/linux/stackdepot.py @@ -27,14 +27,18 @@ def stack_depot_fetch(handle): offset = parts['offset'] << DEPOT_STACK_ALIGN pools_num = gdb.parse_and_eval('pools_num') - if parts['pool_index'] > pools_num: + if handle == 0: + raise gdb.GdbError("handle is 0\n") + + pool_index = parts['pool_index_plus_1'] - 1 + if pool_index >= pools_num: gdb.write("pool index %d out of bounds (%d) for stack id 0x%08x\n" % (parts['pool_index'], pools_num, handle)) return gdb.Value(0), 0 stack_pools = gdb.parse_and_eval('stack_pools') try: - pool = stack_pools[parts['pool_index']] + pool = stack_pools[pool_index] stack = (pool + gdb.Value(offset).cast(utils.get_size_t_type())).cast(stack_record_type.get_type().pointer()) size = int(stack['size'].cast(utils.get_ulong_type())) return stack['entries'], size |