summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/bin/stackcollapse-report
diff options
context:
space:
mode:
authorFuad Tabba <fuad.tabba@linux.dev>2026-08-21 07:44:44 +0100
committerOliver Upton <oupton@kernel.org>2026-09-15 15:09:56 -0700
commitcc5d96036e01ac330d24b2f0c336d60f82ab4930 (patch)
treed79f2bd1096f1dd65a1389ce25fd71c6a36d76ef /tools/perf/scripts/python/bin/stackcollapse-report
parent30908e7272479b6453745022abb9f2eb9c9933f7 (diff)
downloadlinux-next-cc5d96036e01ac330d24b2f0c336d60f82ab4930.tar.gz
linux-next-cc5d96036e01ac330d24b2f0c336d60f82ab4930.zip
KVM: arm64: vgic-its: Skip unreachable devices instead of failing the save
vgic_its_save_device_tables() aborts with -EINVAL when a device's entry falls outside the device table, which a guest can arrange on its own: an indirect table lets it clear an L1 entry's valid bit without touching GITS_BASER. That fails a save userspace should be able to issue reliably. Skip the device instead, and point the saved DTE chain past it, as commit ad1e686e2378d ("KVM: arm64: vgic-its: Point saved ITEs at the next valid entry") does for ITEs. compute_next_devid_offset() takes the next device off the list whether or not it was saved, so the predecessor would otherwise point at an entry the save never wrote. Restore follows that offset while it stays inside the table being scanned: within an L2 block, or anywhere in a flat table. Both need userspace to remove a memslot under the table, since dropping an L1 entry takes the whole block with it and scan_its_table() stops at the block boundary. Fixes: 57a9a117154c9 ("KVM: arm64: vgic-its: Device table save/restore") Suggested-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/all/86bjaz5s6v.wl-maz@kernel.org/ Signed-off-by: Fuad Tabba <fuad.tabba@linux.dev> Reviewed-by: Marc Zyngier <maz@kernel.org> Link: https://patch.msgid.link/20260821064445.615838-4-fuad.tabba@linux.dev Signed-off-by: Oliver Upton <oupton@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-report')
0 files changed, 0 insertions, 0 deletions