summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/stackcollapse.py
diff options
context:
space:
mode:
authorFuad Tabba <fuad.tabba@linux.dev>2026-08-21 07:44:42 +0100
committerOliver Upton <oupton@kernel.org>2026-09-15 15:09:56 -0700
commit8cd92f77ae4f5371a7d581f8324c24919670b304 (patch)
treebcfe894ca1424cd35cf6cc8f362011a17a7ec9d1 /tools/perf/scripts/python/stackcollapse.py
parentfd73f4a6659897191fa0d40695fe370925dd3780 (diff)
downloadlinux-next-8cd92f77ae4f5371a7d581f8324c24919670b304.tar.gz
linux-next-8cd92f77ae4f5371a7d581f8324c24919670b304.zip
KVM: arm64: vgic-its: Free the caches when GITS_BASER changes
A guest that disables the ITS and re-points or shrinks GITS_BASER<n> with VALID still set keeps the devices and collections it mapped against the old table, as KVM frees them only when VALID is cleared. The contents of the table are IMPLEMENTATION DEFINED, so a write that gives GITS_BASER<n> a different address or size may lose whatever the old value described. Free the list whenever the stored value changes, and drop the translation cache with it. The cache is not empty just because the ITS is disabled: its->enabled is written under the cmd_lock, while vgic_its_resolve_lpi() tests it under the its_lock, so an injection can still cache an entry after the ITS was disabled. Hence the invalidation inside the its_lock section. Test for a change rather than a write: its_restore_enable() rewrites GITS_BASER<n> from its probe-time cache on resume, and KVM reports GITS_TYPER.HCC as 0, so nothing re-maps the boot CPU's collection afterwards. Fixes: 36d6961c2b481 ("KVM: arm/arm64: vgic-its: Free caches when GITS_BASER Valid bit is cleared") Suggested-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/all/87ecg9owwa.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-2-fuad.tabba@linux.dev Signed-off-by: Oliver Upton <oupton@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions