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: stable@vger.kernel.org # v4.8+ Reported-by: Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by: Janosch Frank <frankja@linux.vnet.ibm.com> Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
This commit is contained in:
parent
a5efb6b6c9
commit
45c7ee43a5
@ -315,7 +315,7 @@ static void fill_diag(struct sthyi_sctns *sctns)
|
|||||||
if (r < 0)
|
if (r < 0)
|
||||||
goto out;
|
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))
|
if (!diag224_buf || diag224(diag224_buf))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
@ -378,7 +378,7 @@ static void fill_diag(struct sthyi_sctns *sctns)
|
|||||||
sctns->par.infpval1 |= PAR_WGHT_VLD;
|
sctns->par.infpval1 |= PAR_WGHT_VLD;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
kfree(diag224_buf);
|
free_page((unsigned long)diag224_buf);
|
||||||
vfree(diag204_buf);
|
vfree(diag204_buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user