Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1285569 > unrolled thread
| Started by | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| First post | 2015-12-07 16:20 +0100 |
| Last post | 2015-12-09 04:30 +0100 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH 4.3 090/125] KVM: s390: fix wrong lookup of VCPUs by array index Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-12-07 16:20 +0100
Re: [PATCH 4.3 090/125] KVM: s390: fix wrong lookup of VCPUs by array index Christian Borntraeger <borntraeger@de.ibm.com> - 2015-12-07 23:20 +0100
Re: [PATCH 4.3 090/125] KVM: s390: fix wrong lookup of VCPUs by array index Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-12-09 04:30 +0100
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-12-07 16:20 +0100 |
| Subject | [PATCH 4.3 090/125] KVM: s390: fix wrong lookup of VCPUs by array index |
| Message-ID | <qD5K3-6fJ-43@gated-at.bofh.it> |
4.3-stable review patch. If anyone has any objections, please let me know.
------------------
From: David Hildenbrand <dahi@linux.vnet.ibm.com>
commit 152e9f65d66f0a3891efc3869440becc0e7ff53f upstream.
For now, VCPUs were always created sequentially with incrementing
VCPU ids. Therefore, the index in the VCPUs array matched the id.
As sequential creation might change with cpu hotplug, let's use
the correct lookup function to find a VCPU by id, not array index.
Let's also use kvm_lookup_vcpu() for validation of the sending VCPU
on external call injection.
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/s390/kvm/interrupt.c | 3 +--
arch/s390/kvm/sigp.c | 8 ++------
2 files changed, 3 insertions(+), 8 deletions(-)
--- a/arch/s390/kvm/interrupt.c
+++ b/arch/s390/kvm/interrupt.c
@@ -1057,8 +1057,7 @@ static int __inject_extcall(struct kvm_v
src_id, 0);
/* sending vcpu invalid */
- if (src_id >= KVM_MAX_VCPUS ||
- kvm_get_vcpu(vcpu->kvm, src_id) == NULL)
+ if (kvm_get_vcpu_by_id(vcpu->kvm, src_id) == NULL)
return -EINVAL;
if (sclp.has_sigpif)
--- a/arch/s390/kvm/sigp.c
+++ b/arch/s390/kvm/sigp.c
@@ -291,12 +291,8 @@ static int handle_sigp_dst(struct kvm_vc
u16 cpu_addr, u32 parameter, u64 *status_reg)
{
int rc;
- struct kvm_vcpu *dst_vcpu;
+ struct kvm_vcpu *dst_vcpu = kvm_get_vcpu_by_id(vcpu->kvm, cpu_addr);
- if (cpu_addr >= KVM_MAX_VCPUS)
- return SIGP_CC_NOT_OPERATIONAL;
-
- dst_vcpu = kvm_get_vcpu(vcpu->kvm, cpu_addr);
if (!dst_vcpu)
return SIGP_CC_NOT_OPERATIONAL;
@@ -478,7 +474,7 @@ int kvm_s390_handle_sigp_pei(struct kvm_
trace_kvm_s390_handle_sigp_pei(vcpu, order_code, cpu_addr);
if (order_code == SIGP_EXTERNAL_CALL) {
- dest_vcpu = kvm_get_vcpu(vcpu->kvm, cpu_addr);
+ dest_vcpu = kvm_get_vcpu_by_id(vcpu->kvm, cpu_addr);
BUG_ON(dest_vcpu == NULL);
kvm_s390_vcpu_wakeup(dest_vcpu);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Christian Borntraeger <borntraeger@de.ibm.com> |
|---|---|
| Date | 2015-12-07 23:20 +0100 |
| Subject | Re: [PATCH 4.3 090/125] KVM: s390: fix wrong lookup of VCPUs by array index |
| Message-ID | <qDciv-2cp-33@gated-at.bofh.it> |
| In reply to | #1285569 |
On 12/07/2015 04:01 PM, Greg Kroah-Hartman wrote:
> 4.3-stable review patch. If anyone has any objections, please let me know.
>
> ------------------
>
> From: David Hildenbrand <dahi@linux.vnet.ibm.com>
>
> commit 152e9f65d66f0a3891efc3869440becc0e7ff53f upstream.
Greg,
That commit has a dependency, the patch description has
Cc: stable@vger.kernel.org # db27a7a KVM: Provide function for VCPU lookup b
but db27a7a is not in 4.1 4.2 and 4.3 stable queue
Without that commit 4.1, 4.2 and 4.3 fail to build
Is the syntax for a dependency wrong?
>
> For now, VCPUs were always created sequentially with incrementing
> VCPU ids. Therefore, the index in the VCPUs array matched the id.
>
> As sequential creation might change with cpu hotplug, let's use
> the correct lookup function to find a VCPU by id, not array index.
>
> Let's also use kvm_lookup_vcpu() for validation of the sending VCPU
> on external call injection.
>
> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>
> ---
> arch/s390/kvm/interrupt.c | 3 +--
> arch/s390/kvm/sigp.c | 8 ++------
> 2 files changed, 3 insertions(+), 8 deletions(-)
>
> --- a/arch/s390/kvm/interrupt.c
> +++ b/arch/s390/kvm/interrupt.c
> @@ -1057,8 +1057,7 @@ static int __inject_extcall(struct kvm_v
> src_id, 0);
>
> /* sending vcpu invalid */
> - if (src_id >= KVM_MAX_VCPUS ||
> - kvm_get_vcpu(vcpu->kvm, src_id) == NULL)
> + if (kvm_get_vcpu_by_id(vcpu->kvm, src_id) == NULL)
> return -EINVAL;
>
> if (sclp.has_sigpif)
> --- a/arch/s390/kvm/sigp.c
> +++ b/arch/s390/kvm/sigp.c
> @@ -291,12 +291,8 @@ static int handle_sigp_dst(struct kvm_vc
> u16 cpu_addr, u32 parameter, u64 *status_reg)
> {
> int rc;
> - struct kvm_vcpu *dst_vcpu;
> + struct kvm_vcpu *dst_vcpu = kvm_get_vcpu_by_id(vcpu->kvm, cpu_addr);
>
> - if (cpu_addr >= KVM_MAX_VCPUS)
> - return SIGP_CC_NOT_OPERATIONAL;
> -
> - dst_vcpu = kvm_get_vcpu(vcpu->kvm, cpu_addr);
> if (!dst_vcpu)
> return SIGP_CC_NOT_OPERATIONAL;
>
> @@ -478,7 +474,7 @@ int kvm_s390_handle_sigp_pei(struct kvm_
> trace_kvm_s390_handle_sigp_pei(vcpu, order_code, cpu_addr);
>
> if (order_code == SIGP_EXTERNAL_CALL) {
> - dest_vcpu = kvm_get_vcpu(vcpu->kvm, cpu_addr);
> + dest_vcpu = kvm_get_vcpu_by_id(vcpu->kvm, cpu_addr);
> BUG_ON(dest_vcpu == NULL);
>
> kvm_s390_vcpu_wakeup(dest_vcpu);
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-12-09 04:30 +0100 |
| Subject | Re: [PATCH 4.3 090/125] KVM: s390: fix wrong lookup of VCPUs by array index |
| Message-ID | <qDDC2-2Px-17@gated-at.bofh.it> |
| In reply to | #1286016 |
On Mon, Dec 07, 2015 at 11:10:22PM +0100, Christian Borntraeger wrote: > On 12/07/2015 04:01 PM, Greg Kroah-Hartman wrote: > > 4.3-stable review patch. If anyone has any objections, please let me know. > > > > ------------------ > > > > From: David Hildenbrand <dahi@linux.vnet.ibm.com> > > > > commit 152e9f65d66f0a3891efc3869440becc0e7ff53f upstream. > > Greg, > > That commit has a dependency, the patch description has > Cc: stable@vger.kernel.org # db27a7a KVM: Provide function for VCPU lookup b > but db27a7a is not in 4.1 4.2 and 4.3 stable queue > > Without that commit 4.1, 4.2 and 4.3 fail to build > > Is the syntax for a dependency wrong? No, you got it right, I just missed it, sorry, my fault. Now queued up. greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web