From ac840e066f8aec254b83b2f1825905410368facb Mon Sep 17 00:00:00 2001 From: Frediano Ziglio Date: Mon, 6 Jul 2026 09:40:17 +0200 Subject: [PATCH] tools: Use posix_memalign instead of valloc for NetBSD More similar to other implementation. posix_memalign was adde in NetBSD 8.0, released on July 17, 2018 and went out of support on May 4, 2024. Signed-off-by: Frediano Ziglio Acked-by: Anthony PERARD --- tools/include/xenctrl.h | 5 +++++ tools/libs/ctrl/xc_netbsd.c | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h index d5dbf69c89..f4316089e7 100644 --- a/tools/include/xenctrl.h +++ b/tools/include/xenctrl.h @@ -1390,6 +1390,11 @@ int xc_lockprof_query(xc_interface *xch, uint64_t *time, xc_hypercall_buffer_t *data); +/** + * Allocate memory with a given alignment. + * The alignment must be a power of 2 and at least sizeof(void*). + * It returns NULL on error, errno is not set. + */ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size); /** diff --git a/tools/libs/ctrl/xc_netbsd.c b/tools/libs/ctrl/xc_netbsd.c index 1318d4d906..d27154dce9 100644 --- a/tools/libs/ctrl/xc_netbsd.c +++ b/tools/libs/ctrl/xc_netbsd.c @@ -60,7 +60,14 @@ void discard_file_cache(xc_interface *xch, int fd, int flush) void *xc_memalign(xc_interface *xch, size_t alignment, size_t size) { - return valloc(size); + int ret; + void *ptr; + + ret = posix_memalign(&ptr, alignment, size); + if (ret != 0 || !ptr) + return NULL; + + return ptr; } int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)