On Tue, Mar 26, 2024 at 11:18:51AM +0100, Ard Biesheuvel wrote: > Add a missing (u64) cast to alloc_min, which is passed into > efi_random_alloc() as unsigned long, while efi_physical_addr_t is u64. [...] > --- a/drivers/firmware/efi/libstub/randomalloc.c > +++ b/drivers/firmware/efi/libstub/randomalloc.c > @@ -120,7 +120,7 @@ efi_status_t efi_random_alloc(unsigned long size, > continue; > } > > - target = round_up(max(md->phys_addr, alloc_min), align) + target_slot * align; > + target = round_up(max(md->phys_addr, (u64)alloc_min), align) + target_slot * align; Why not max_t(u64, md->phys_addr, alloc_min) ?