[1/1] KVM: s390: vsie: fix the length of APCB bitmap

Message ID 20230511094719.9691-2-pmorel@linux.ibm.com
State New
Headers
Series KVM: s390: vsie: fix the length of APCB bitmap |

Commit Message

Pierre Morel May 11, 2023, 9:47 a.m. UTC
  bit_and() uses the count of bits as the woking length.
Fix the previous implementation and effectively use
the right bitmap size.

Fixes: 19fd83a64718 ("KVM: s390: vsie: allow CRYCB FORMAT-1")
Fixes: 56019f9aca22 ("KVM: s390: vsie: Allow CRYCB FORMAT-2")

Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
---
 arch/s390/kvm/vsie.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
  

Comments

Janosch Frank May 12, 2023, 7:17 a.m. UTC | #1
On 5/11/23 11:47, Pierre Morel wrote:
> bit_and() uses the count of bits as the woking length.
> Fix the previous implementation and effectively use
> the right bitmap size.
> 
> Fixes: 19fd83a64718 ("KVM: s390: vsie: allow CRYCB FORMAT-1")
> Fixes: 56019f9aca22 ("KVM: s390: vsie: Allow CRYCB FORMAT-2")
> 
> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>

Please push this to devel

Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
  

Patch

diff --git a/arch/s390/kvm/vsie.c b/arch/s390/kvm/vsie.c
index 8d6b765abf29..0333ee482eb8 100644
--- a/arch/s390/kvm/vsie.c
+++ b/arch/s390/kvm/vsie.c
@@ -177,7 +177,8 @@  static int setup_apcb00(struct kvm_vcpu *vcpu, unsigned long *apcb_s,
 			    sizeof(struct kvm_s390_apcb0)))
 		return -EFAULT;
 
-	bitmap_and(apcb_s, apcb_s, apcb_h, sizeof(struct kvm_s390_apcb0));
+	bitmap_and(apcb_s, apcb_s, apcb_h,
+		   BITS_PER_BYTE * sizeof(struct kvm_s390_apcb0));
 
 	return 0;
 }
@@ -203,7 +204,8 @@  static int setup_apcb11(struct kvm_vcpu *vcpu, unsigned long *apcb_s,
 			    sizeof(struct kvm_s390_apcb1)))
 		return -EFAULT;
 
-	bitmap_and(apcb_s, apcb_s, apcb_h, sizeof(struct kvm_s390_apcb1));
+	bitmap_and(apcb_s, apcb_s, apcb_h,
+		   BITS_PER_BYTE * sizeof(struct kvm_s390_apcb1));
 
 	return 0;
 }