Message ID | 20220304072221.1431947-1-frank.heimes@canonical.com |
---|---|
Headers | show |
Series | Fix SIGP processing on KVM/s390 (LP: 1962578) | expand |
On 04.03.22 08:22, frank.heimes@canonical.com wrote: > BugLink: https://bugs.launchpad.net/bugs/1962578 > > SRU Justification: > > [Impact] > > * The SIGP processing on KVM/s390x is incorrect and not fully conform to > the 'Principles of Operations', the IBM Z architecture definition > and documentation. > > * KVM: SIGP RESTART is reporting a CPU state 'stopped' after SIGP RESTART > was issued, while it should report a 'busy' condition until the CPU is > really started. > > * The fix for this consists of three patches: > 812de04661c4 "KVM: s390: Clarify SIGP orders versus STOP/RESTART" > 435d17955519 "KVM: s390: Add a routine for setting userspace CPU state" > 4563bcad46bf "KVM: s390: Simplify SIGP Set Arch handling" > whereas 812de04661c4 already landed via upstream stable, > hence only two are left and need to be cherry-picked: > > [Fix] > > * 67cf68b6a5ccac8bc7dfef0a220b59af4c83fd2c 67cf68b6a5cc "KVM: s390: Add a routine for setting userspace CPU state" > > * 8eeba194a32e0f50329354a696baaa2e3d9accc5 8eeba194a32e "KVM: s390: Simplify SIGP Set Arch handling" > > [Test Case] > > * Install an LPAR on IBM Z (z13+) or LinuxONE (Emperor / Rockhopper) > with Ubuntu Server 20.04 using kernel standard kernel 5.4. > > * Setup this LPAR as QEMU/KVM host and a focal VM as guest. > > * The test itself is the following unit test: > https://lore.kernel.org/r/20220303210425.1693486-1-farman@linux.ibm.com/ > > * The test and verification will be done by the IBM Z team. > > [Where problems could occur] > > * A broken patch could harm KVM ioctl on s390x or the (virtual) CPU > state control in general. > > * The SIGP handing (on s390x) can become broken, which could lead to > incorrect (virtual) CPU states. > > * In worst case KVM can become broken on s390x entirely. > > * The modified code is all s390x specific QEMU/KVM code, > no common code is touched. > > [Other] > > * The two remaining patches are upstream since 5.16, > the first one already landed in 5.4 via upstream stable bug LP#1959701 > and in 5.13 via upstream stable bug LP#1960861. > > * The patches already landed in jammy (master-next) based on LP#1959735, > hence only SRU to impish and focal is needed. > > * This patches got discussed here: > https://lore.kernel.org/all/20211008203112.1979843-2-farman@linux.ibm.com/ > > * This not only fixes the SIGP processing, but is also important in terms of > long term maintainability. > > v2: fixed typos and text of SRU justification > > Eric Farman (2): > KVM: s390: Simplify SIGP Set Arch handling > KVM: s390: Add a routine for setting userspace CPU state > > arch/s390/kvm/kvm-s390.c | 6 +++--- > arch/s390/kvm/kvm-s390.h | 9 +++++++++ > arch/s390/kvm/sigp.c | 14 +------------- > 3 files changed, 13 insertions(+), 16 deletions(-) > Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com> Thanks
Acked-by: Tim Gardner <tim.gardner@canonical.com> On 3/4/22 00:22, frank.heimes@canonical.com wrote: > BugLink: https://bugs.launchpad.net/bugs/1962578 > > SRU Justification: > > [Impact] > > * The SIGP processing on KVM/s390x is incorrect and not fully conform to > the 'Principles of Operations', the IBM Z architecture definition > and documentation. > > * KVM: SIGP RESTART is reporting a CPU state 'stopped' after SIGP RESTART > was issued, while it should report a 'busy' condition until the CPU is > really started. > > * The fix for this consists of three patches: > 812de04661c4 "KVM: s390: Clarify SIGP orders versus STOP/RESTART" > 435d17955519 "KVM: s390: Add a routine for setting userspace CPU state" > 4563bcad46bf "KVM: s390: Simplify SIGP Set Arch handling" > whereas 812de04661c4 already landed via upstream stable, > hence only two are left and need to be cherry-picked: > > [Fix] > > * 67cf68b6a5ccac8bc7dfef0a220b59af4c83fd2c 67cf68b6a5cc "KVM: s390: Add a routine for setting userspace CPU state" > > * 8eeba194a32e0f50329354a696baaa2e3d9accc5 8eeba194a32e "KVM: s390: Simplify SIGP Set Arch handling" > > [Test Case] > > * Install an LPAR on IBM Z (z13+) or LinuxONE (Emperor / Rockhopper) > with Ubuntu Server 20.04 using kernel standard kernel 5.4. > > * Setup this LPAR as QEMU/KVM host and a focal VM as guest. > > * The test itself is the following unit test: > https://lore.kernel.org/r/20220303210425.1693486-1-farman@linux.ibm.com/ > > * The test and verification will be done by the IBM Z team. > > [Where problems could occur] > > * A broken patch could harm KVM ioctl on s390x or the (virtual) CPU > state control in general. > > * The SIGP handing (on s390x) can become broken, which could lead to > incorrect (virtual) CPU states. > > * In worst case KVM can become broken on s390x entirely. > > * The modified code is all s390x specific QEMU/KVM code, > no common code is touched. > > [Other] > > * The two remaining patches are upstream since 5.16, > the first one already landed in 5.4 via upstream stable bug LP#1959701 > and in 5.13 via upstream stable bug LP#1960861. > > * The patches already landed in jammy (master-next) based on LP#1959735, > hence only SRU to impish and focal is needed. > > * This patches got discussed here: > https://lore.kernel.org/all/20211008203112.1979843-2-farman@linux.ibm.com/ > > * This not only fixes the SIGP processing, but is also important in terms of > long term maintainability. > > v2: fixed typos and text of SRU justification > > Eric Farman (2): > KVM: s390: Simplify SIGP Set Arch handling > KVM: s390: Add a routine for setting userspace CPU state > > arch/s390/kvm/kvm-s390.c | 6 +++--- > arch/s390/kvm/kvm-s390.h | 9 +++++++++ > arch/s390/kvm/sigp.c | 14 +------------- > 3 files changed, 13 insertions(+), 16 deletions(-) >
On 04.03.22 08:22, frank.heimes@canonical.com wrote: > BugLink: https://bugs.launchpad.net/bugs/1962578 > > SRU Justification: > > [Impact] > > * The SIGP processing on KVM/s390x is incorrect and not fully conform to > the 'Principles of Operations', the IBM Z architecture definition > and documentation. > > * KVM: SIGP RESTART is reporting a CPU state 'stopped' after SIGP RESTART > was issued, while it should report a 'busy' condition until the CPU is > really started. > > * The fix for this consists of three patches: > 812de04661c4 "KVM: s390: Clarify SIGP orders versus STOP/RESTART" > 435d17955519 "KVM: s390: Add a routine for setting userspace CPU state" > 4563bcad46bf "KVM: s390: Simplify SIGP Set Arch handling" > whereas 812de04661c4 already landed via upstream stable, > hence only two are left and need to be cherry-picked: > > [Fix] > > * 67cf68b6a5ccac8bc7dfef0a220b59af4c83fd2c 67cf68b6a5cc "KVM: s390: Add a routine for setting userspace CPU state" > > * 8eeba194a32e0f50329354a696baaa2e3d9accc5 8eeba194a32e "KVM: s390: Simplify SIGP Set Arch handling" > > [Test Case] > > * Install an LPAR on IBM Z (z13+) or LinuxONE (Emperor / Rockhopper) > with Ubuntu Server 20.04 using kernel standard kernel 5.4. > > * Setup this LPAR as QEMU/KVM host and a focal VM as guest. > > * The test itself is the following unit test: > https://lore.kernel.org/r/20220303210425.1693486-1-farman@linux.ibm.com/ > > * The test and verification will be done by the IBM Z team. > > [Where problems could occur] > > * A broken patch could harm KVM ioctl on s390x or the (virtual) CPU > state control in general. > > * The SIGP handing (on s390x) can become broken, which could lead to > incorrect (virtual) CPU states. > > * In worst case KVM can become broken on s390x entirely. > > * The modified code is all s390x specific QEMU/KVM code, > no common code is touched. > > [Other] > > * The two remaining patches are upstream since 5.16, > the first one already landed in 5.4 via upstream stable bug LP#1959701 > and in 5.13 via upstream stable bug LP#1960861. > > * The patches already landed in jammy (master-next) based on LP#1959735, > hence only SRU to impish and focal is needed. > > * This patches got discussed here: > https://lore.kernel.org/all/20211008203112.1979843-2-farman@linux.ibm.com/ > > * This not only fixes the SIGP processing, but is also important in terms of > long term maintainability. > > v2: fixed typos and text of SRU justification > > Eric Farman (2): > KVM: s390: Simplify SIGP Set Arch handling > KVM: s390: Add a routine for setting userspace CPU state > > arch/s390/kvm/kvm-s390.c | 6 +++--- > arch/s390/kvm/kvm-s390.h | 9 +++++++++ > arch/s390/kvm/sigp.c | 14 +------------- > 3 files changed, 13 insertions(+), 16 deletions(-) > Applied to impish,focal:linux/master-next. Thanks. -Stefan