diff options
| author | Tejun Heo <tj@kernel.org> | 2024-07-30 09:30:11 -1000 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2024-07-30 09:30:11 -1000 |
| commit | c8faf11cd192214e231626c3ee973a35d8fc33f2 (patch) | |
| tree | 4c3fcfddf4c7c311e1856dbf4dac1240564731f1 /scripts/gdb/linux/stackdepot.py | |
| parent | 8bb30798fd6ee79e4041a32ca85b9f70345d8671 (diff) | |
| parent | 8400291e289ee6b2bf9779ff1c83a291501f017b (diff) | |
Merge tag 'v6.11-rc1' into for-6.12
Linux 6.11-rc1
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 |
