diff options
author | Janosch Frank <[email protected]> | 2016-10-26 08:48:11 +0200 |
---|---|---|
committer | Christian Borntraeger <[email protected]> | 2016-10-26 13:46:44 +0200 |
commit | 45c7ee43a5184ddbff652ee0d2e826f86f1b616b (patch) | |
tree | 619ec953de68b391ece998e6ac2ec9bb1977aae7 | |
parent | a5efb6b6c99a3a6dc4330f51d8066f638bdea0ac (diff) |
KVM: s390: Fix STHYI buffer alignment for diag224
Diag224 requires a page-aligned 4k buffer to store the name table
into. kmalloc does not guarantee page alignment, hence we replace it
with __get_free_page for the buffer allocation.
Cc: [email protected] # v4.8+
Reported-by: Michael Holzheu <[email protected]>
Signed-off-by: Janosch Frank <[email protected]>
Reviewed-by: Cornelia Huck <[email protected]>
Signed-off-by: Christian Borntraeger <[email protected]>
-rw-r--r-- | arch/s390/kvm/sthyi.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/s390/kvm/sthyi.c b/arch/s390/kvm/sthyi.c index bd98b7d25200..05c98bb853cf 100644 --- a/arch/s390/kvm/sthyi.c +++ b/arch/s390/kvm/sthyi.c @@ -315,7 +315,7 @@ static void fill_diag(struct sthyi_sctns *sctns) if (r < 0) goto out; - diag224_buf = kmalloc(PAGE_SIZE, GFP_KERNEL | GFP_DMA); + diag224_buf = (void *)__get_free_page(GFP_KERNEL | GFP_DMA); if (!diag224_buf || diag224(diag224_buf)) goto out; @@ -378,7 +378,7 @@ static void fill_diag(struct sthyi_sctns *sctns) sctns->par.infpval1 |= PAR_WGHT_VLD; out: - kfree(diag224_buf); + free_page((unsigned long)diag224_buf); vfree(diag204_buf); } |