> On 5 Feb 2026, at 13:56, Edwin Török <[email protected]> wrote:
> 
> Observed when attempting to boot a >4TiB VM:
> 
> After a call to domain_setmaxmem with 6370254848 (KiB),
> the domain's maxmem got set to 2075287552,
> which is exactly 2^32 smaller.
> 
> xc_domain_setmaxmem takes an uint64_t as a parameter,
> and the OCaml value is 64-bit already, so fix the C variable
> to match the type and avoid the truncation.
> 
> Signed-off-by: Edwin Török <[email protected]>
> ---
> tools/ocaml/libs/xc/xenctrl_stubs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c 
> b/tools/ocaml/libs/xc/xenctrl_stubs.c
> index ac2a7537d6..c55f73b265 100644
> --- a/tools/ocaml/libs/xc/xenctrl_stubs.c
> +++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
> @@ -947,7 +947,7 @@ CAMLprim value stub_xc_domain_setmaxmem(value xch_val, 
> value domid,
> int retval;
> 
> uint32_t c_domid = Int_val(domid);
> - unsigned int c_max_memkb = Int64_val(max_memkb);
> + uint64_t c_max_memkb = Int64_val(max_memkb);
> caml_enter_blocking_section();
> retval = xc_domain_setmaxmem(xch, c_domid, c_max_memkb);
> caml_leave_blocking_section();
> -- 
> 2.47.3
> 

Acked-by: Christian Lindig <[email protected]>

Reply via email to