The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=377e6050c1cb9edce90d2a3caa2833fcc09b8c68
commit 377e6050c1cb9edce90d2a3caa2833fcc09b8c68 Author: Mark Johnston <[email protected]> AuthorDate: 2025-12-17 20:54:40 +0000 Commit: Mark Johnston <[email protected]> CommitDate: 2025-12-18 13:47:29 +0000 vmem: Fix the gcc build gcc complains when building libuvmem because the last two operands of ?: in ORDER2SIZE and SIZE2ORDER have different signs. Add explicit casts to address this. Reported by: Jenkins Reviewed by: alc, kib MFC after: 1 week Fixes: 1ecf01065b45 ("libuvmem: usermode port of vmem(9)") Differential Revision: https://reviews.freebsd.org/D54268 --- sys/kern/subr_vmem.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/kern/subr_vmem.c b/sys/kern/subr_vmem.c index afc327c512ce..8b834a2e2a79 100644 --- a/sys/kern/subr_vmem.c +++ b/sys/kern/subr_vmem.c @@ -285,10 +285,12 @@ static LIST_HEAD(, vmem) vmem_list = LIST_HEAD_INITIALIZER(vmem_list); #define VMEM_CROSS_P(addr1, addr2, boundary) \ ((((addr1) ^ (addr2)) & -(boundary)) != 0) -#define ORDER2SIZE(order) ((order) < VMEM_OPTVALUE ? ((order) + 1) : \ - (vmem_size_t)1 << ((order) - (VMEM_OPTVALUE - VMEM_OPTORDER - 1))) -#define SIZE2ORDER(size) ((size) <= VMEM_OPTVALUE ? ((size) - 1) : \ - (flsl(size) + (VMEM_OPTVALUE - VMEM_OPTORDER - 2))) +#define ORDER2SIZE(order) ((order) < VMEM_OPTVALUE ? \ + (vmem_size_t)((order) + 1) : \ + (vmem_size_t)1 << ((order) - (VMEM_OPTVALUE - VMEM_OPTORDER - 1))) +#define SIZE2ORDER(size) ((size) <= VMEM_OPTVALUE ? \ + (int)((size) - 1) : \ + (flsl(size) + (VMEM_OPTVALUE - VMEM_OPTORDER - 2))) /* * Maximum number of boundary tags that may be required to satisfy an
