• Christian Borntraeger's avatar
    KVM: s390: Fix program check on interrupt delivery handling · 3cd61299
    Christian Borntraeger authored
    The current interrupt handling on s390 misbehaves on an error case. On s390
    each cpu has the prefix area (lowcore) for interrupt delivery. This memory
    must always be available. If we fail to access the prefix area for a guest
    on interrupt delivery the configuration is completely unusable. There is no
    point in sending another program interrupt to an inaccessible lowcore.
    Furthermore, we should not bug the host kernel, because this can be triggered
    by userspace. I think the guest kernel itself can not trigger the problem, as
    SET PREFIX and SIGNAL PROCESSOR SET PREFIX both check that the memory is
    available and sane. As this is a userspace bug (e.g. setting the wrong guest
    offset, unmapping guest memory) we should kill the userspace process instead
    of BUGing the host kernel.
    In the long term we probably should notify the userspace process about this
    problem.
    Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
    Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
    3cd61299
interrupt.c 15.1 KB