Linux s390 Architecture development
 help / color / mirror / Atom feed
* [PATCH v2 0/2] KVM: s390: fix ESSA addressing exception injection in migration mode
@ 2026-10-15 10:48 Gautam Gala
  2026-10-15 10:48 ` [PATCH v2 1/2] " Gautam Gala
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Gautam Gala @ 2026-10-15 10:48 UTC (permalink / raw)
  To: borntraeger, imbrenda, kvm, linux-s390, linux-kernel,
	linux-kselftest
  Cc: frankja, david, hca, gor, agordeev, svens, pbonzini, seanjc,
	shuah

ESSA emulation in migration mode silently dropped addressing exceptions
when the guest page-table walk failed, so the guest never received the
expected PGM_ADDRESSING interrupt during live migration.

Patch 1 fixes dat_perform_essa() to return PGM_ADDRESSING on a walk 
failure, and __do_essa() to inject the program interrupt when it sees 
that return value.

Patch 2 adds a regression test integrated into the existing cmma_test
selftest.

Changes since v1:
 - dat_perform_essa() now returns +PGM_ADDRESSING instead of
   -PGM_ADDRESSING; kvm_s390_inject_program_int() takes an unsigned u16
   so passing -5 would have wrapped to 0xFFFB and injected a bogus PIC.
   __do_essa() comparison and inject call updated accordingly. The
   kernel-doc return-value entry is corrected to %PGM_ADDRESSING.
 - Selftest: pgm_handler_c() now reads the actual PIC from lowcore
   (__LC_PGM_INT_CODE) instead of hard-coding PGM_ADDRESSING, so the
   test would have caught the sign error above had it been in v1.
 - Selftest: virt_map(vm, 0, 0, 1) added so the DAT-on guest can
   access the lowcore to read the PIC.
 - Selftest: PGM_ADDRESSING, __LC_PGM_INT_CODE and __LC_PGM_NEW_PSW
   constants moved to the shared s390/processor.h header.
 - Selftest: SIGALRM/alarm() timeout wrapper removed.

Gautam Gala (2):
  KVM: s390: fix ESSA addressing exception injection in migration mode
  KVM: s390: selftests: add ESSA migration mode PGM_ADDRESSING
    regression test

 arch/s390/kvm/gmap/dat.c                      |  5 +-
 arch/s390/kvm/s390/priv.c                     |  2 +
 .../selftests/kvm/include/s390/processor.h    |  7 ++
 tools/testing/selftests/kvm/s390/cmma_test.c  | 69 +++++++++++++++++++
 4 files changed, 82 insertions(+), 1 deletion(-)

-- 
2.55.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-10-15 10:59 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-15 10:48 [PATCH v2 0/2] KVM: s390: fix ESSA addressing exception injection in migration mode Gautam Gala
2026-10-15 10:48 ` [PATCH v2 1/2] " Gautam Gala
2026-10-15 10:59   ` sashiko-bot
2026-10-15 10:48 ` [PATCH v2 2/2] KVM: s390: selftests: add ESSA migration mode PGM_ADDRESSING regression test Gautam Gala
2026-10-15 10:54   ` sashiko-bot
2026-10-15 10:56 ` [PATCH v2 0/2] KVM: s390: fix ESSA addressing exception injection in migration mode Claudio Imbrenda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox