Messages in this thread Patch in this message | | | Subject | [PATCH 04/12] swiotlb-xen: ensure to issue well-formed XENMEM_exchange requests | From | Jan Beulich <> | Date | Tue, 7 Sep 2021 14:05:32 +0200 |
| |
While the hypervisor hasn't been enforcing this, we would still better avoid issuing requests with GFNs not aligned to the requested order.
Signed-off-by: Jan Beulich <jbeulich@suse.com> --- I wonder how useful it is to include the alignment in the panic() message. I further wonder how useful it is to wrap "bytes" in PAGE_ALIGN(), when it is a multiple of a segment's size anyway (or at least was supposed to be, prior to "swiotlb-xen: maintain slab count properly").
--- a/drivers/xen/swiotlb-xen.c +++ b/drivers/xen/swiotlb-xen.c @@ -231,10 +231,10 @@ retry: /* * Get IO TLB memory from any location. */ - start = memblock_alloc(PAGE_ALIGN(bytes), PAGE_SIZE); + start = memblock_alloc(PAGE_ALIGN(bytes), IO_TLB_SEGSIZE << IO_TLB_SHIFT); if (!start) - panic("%s: Failed to allocate %lu bytes align=0x%lx\n", - __func__, PAGE_ALIGN(bytes), PAGE_SIZE); + panic("%s: Failed to allocate %lu bytes align=%#x\n", + __func__, PAGE_ALIGN(bytes), IO_TLB_SEGSIZE << IO_TLB_SHIFT); /* * And replace that memory with pages under 4GB.
| |