** Also affects: ubuntu-z-systems
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1906255

Title:
  [UBUNTU 20.10] Applications runing in QEMU/KVM get translation faults

Status in Ubuntu on IBM z Systems:
  New
Status in linux package in Ubuntu:
  New

Bug description:
  commit 0b0ed657fe ("s390: remove critical section cleanup from
  entry.S") introduced a problem where FPU registers were not properly
  restored when entering SIE. This leads to crashes of applications
  runnning inside kvm, as most of the programs in use nowdays are using
  FPU registers for backing of general register content.

  
  Fix is upstream:
  author        Sven Schnelle <sv...@linux.ibm.com>     2020-11-20 14:17:52 
+0100
  committer     Heiko Carstens <h...@linux.ibm.com>     2020-11-23 11:52:13 
+0100
  commit        1179f170b6f0af7bb0b3b7628136eaac450ddf31 (patch)
  tree  19e8acb64e0968b41de4899cc1315c41b002839e /arch/s390/kernel/entry.S
  parent        78d732e1f326f74f240d416af9484928303d9951 (diff)
  download      linux-1179f170b6f0af7bb0b3b7628136eaac450ddf31.tar.gz
  s390: fix fpu restore in entry.S
  We need to disable interrupts in load_fpu_regs(). Otherwise an
  interrupt might come in after the registers are loaded, but before
  CIF_FPU is cleared in load_fpu_regs(). When the interrupt returns,
  CIF_FPU will be cleared and the registers will never be restored.

  The entry.S code usually saves the interrupt state in __SF_EMPTY on the
  stack when disabling/restoring interrupts. sie64a however saves the pointer
  to the sie control block in __SF_SIE_CONTROL, which references the same
  location.  This is non-obvious to the reader. To avoid thrashing the sie
  control block pointer in load_fpu_regs(), move the __SIE_* offsets eight
  bytes after __SF_EMPTY on the stack.

  Cc: <sta...@vger.kernel.org> # 5.8
  Fixes: 0b0ed657fe00 ("s390: remove critical section cleanup from entry.S")
  Reported-by: Pierre Morel <pmo...@linux.ibm.com>
  Signed-off-by: Sven Schnelle <sv...@linux.ibm.com>
  Acked-by: Christian Borntraeger <borntrae...@de.ibm.com>
  Reviewed-by: Heiko Carstens <h...@linux.ibm.com>
  Signed-off-by: Heiko Carstens <h...@linux.ibm.com>

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1906255/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to