malloc_aligned(9): allow zero size and alignment For alignment we do not need to do anything to make it operational. For size, upgrade zero sized request to one byte so that we do not request insane amount of memory for placeholder.
x86 bounce_bus_dmamem_alloc(): use malloc_aligned() only when possible malloc_domainset_aligned() requires that alignment is less than page size. Fall back to other allocation methods, most likely kmem_alloc_contig(), when malloc_aligned() cannot fullfill the driver request.