From: Cornelia Huck <cohuck@redhat.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: KVM <kvm@vger.kernel.org>,
linux-s390 <linux-s390@vger.kernel.org>,
Michael Mueller <mimu@linux.vnet.ibm.com>
Subject: Re: [PATCH 5/5] KVM: s390: clear_io_irq() requests are not expected for adapter interrupts
Date: Wed, 8 Nov 2017 10:19:05 +0100 [thread overview]
Message-ID: <20171108101905.0b5dabb4.cohuck@redhat.com> (raw)
In-Reply-To: <20171108084143.78654-6-borntraeger@de.ibm.com>
On Wed, 8 Nov 2017 09:41:43 +0100
Christian Borntraeger <borntraeger@de.ibm.com> wrote:
> From: Michael Mueller <mimu@linux.vnet.ibm.com>
>
> There is a chance to delete not yet delivered I/O interrupts if an
> exploiter uses the subsystem identification word 0x0000 while
> processing a KVM_DEV_FLIC_CLEAR_IO_IRQ ioctl. -EINVAL will be returned
> now instead in that case.
>
> Classic interrupts will always have bit 0x10000 set in the schid while
> adapter interrupts have a zero schid. The clear_io_irq interface is
> only useful for classic interrupts (as adapter interrupts belong to
> many devices). Let's make this interface more strict and forbid a schid
> of 0.
I'm wondering: Is there any possible use case to clear adapter
interrupts? This interface was introduced to handle the case where a
CRW was made pending for a subchannel (which implies any pending
interrupt needs to be cleared.)
Alas, I cannot check the adapter interrupt question myself, as the
public doc is lacking :( But qdio as another adapter interrupt user
comes to mind (not that we support it in qemu, but still...)
>
> Signed-off-by: Michael Mueller <mimu@linux.vnet.ibm.com>
> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com>
> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> Documentation/virtual/kvm/devices/s390_flic.txt | 3 +++
> arch/s390/kvm/interrupt.c | 2 ++
> 2 files changed, 5 insertions(+)
>
> diff --git a/Documentation/virtual/kvm/devices/s390_flic.txt b/Documentation/virtual/kvm/devices/s390_flic.txt
> index 2f1cbf1..27ad53c 100644
> --- a/Documentation/virtual/kvm/devices/s390_flic.txt
> +++ b/Documentation/virtual/kvm/devices/s390_flic.txt
> @@ -156,3 +156,6 @@ FLIC with an unknown group or attribute gives the error code EINVAL (instead of
> ENXIO, as specified in the API documentation). It is not possible to conclude
> that a FLIC operation is unavailable based on the error code resulting from a
> usage attempt.
> +
> +Note: The KVM_DEV_FLIC_CLEAR_IO_IRQ ioctl will return EINVAL in case a zero
> +schid is specified.
> diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c
> index a3da4f3..c8aacce 100644
> --- a/arch/s390/kvm/interrupt.c
> +++ b/arch/s390/kvm/interrupt.c
> @@ -2191,6 +2191,8 @@ static int clear_io_irq(struct kvm *kvm, struct kvm_device_attr *attr)
> return -EINVAL;
> if (copy_from_user(&schid, (void __user *) attr->addr, sizeof(schid)))
> return -EFAULT;
> + if (!schid)
> + return -EINVAL;
> kfree(kvm_s390_get_io_int(kvm, isc_mask, schid));
> /*
> * If userspace is conforming to the architecture, we can have at most
next prev parent reply other threads:[~2017-11-08 9:19 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-08 8:41 [PATCH 0/5] KVM: s390: patches for 4.15 Christian Borntraeger
2017-11-08 8:41 ` [PATCH 1/5] KVM: s390: document memory ordering for kvm_s390_vcpu_wakeup Christian Borntraeger
2017-11-08 9:05 ` Cornelia Huck
2017-11-08 9:37 ` David Hildenbrand
2017-11-08 8:41 ` [PATCH 2/5] KVM: s390: SIE considerations for AP Queue virtualization Christian Borntraeger
2017-11-08 9:06 ` Cornelia Huck
2017-11-08 9:29 ` David Hildenbrand
2017-11-09 8:59 ` Christian Borntraeger
2017-11-08 8:41 ` [PATCH 3/5] KVM: s390: vsie: use common code functions for pinning Christian Borntraeger
2017-11-08 9:07 ` Cornelia Huck
2017-11-08 8:41 ` [PATCH 4/5] KVM: s390: abstract conversion between isc and enum irq_types Christian Borntraeger
2017-11-08 9:11 ` Cornelia Huck
2017-11-08 9:41 ` David Hildenbrand
2017-11-08 8:41 ` [PATCH 5/5] KVM: s390: clear_io_irq() requests are not expected for adapter interrupts Christian Borntraeger
2017-11-08 9:19 ` Cornelia Huck [this message]
2017-11-08 11:04 ` Christian Borntraeger
2017-11-08 11:09 ` Cornelia Huck
2017-11-08 12:14 ` Michael Mueller
2017-11-13 12:25 ` Cornelia Huck
2017-11-08 11:10 ` [PATCH 0/5] KVM: s390: patches for 4.15 Cornelia Huck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171108101905.0b5dabb4.cohuck@redhat.com \
--to=cohuck@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=mimu@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.