But on 64 bit, isn't the value supposed to be sign extended to the full width not uint32 max?
Damien Sent from Proton Mail Android -------- Original Message -------- On 24/6/25 9:59 am, Milos Nikic <nikic.mi...@gmail.com> wrote: > From: Milos Nikic <nikic.mi...@google.com> > > The call to vm_object_print_part was passing 0ULL and ~0ULL > for offset and size, respectively. These values are 64-bit > (unsigned long long), which causes compiler warnings when > building for 32-bit platforms where vm_offset_t and vm_size_t > are typedefs of uintptr_t (i.e., unsigned int). > > This patch replaces those constants with 0 and UINTPTR_MAX, > which match the expected types and avoid implicit conversion > or overflow warnings. > > No functional change. > --- > vm/vm_object.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/vm/vm_object.c b/vm/vm_object.c > index 2dba76b1..409a64e3 100644 > --- a/vm/vm_object.c > +++ b/vm/vm_object.c > @@ -36,6 +36,7 @@ > #include <kern/printf.h> > #include <string.h> > > +#include <stdint.h> > #include <mach/memory_object.h> > #include <vm/memory_object_default.user.h> > #include <vm/memory_object_user.user.h> > @@ -3050,7 +3051,7 @@ void vm_object_print_part( > void vm_object_print( > vm_object_t object) > { > - vm_object_print_part(object, 0ULL, ~0ULL); > + vm_object_print_part(object, 0, UINTPTR_MAX); > } > > #endif /* MACH_KDB */ > -- > 2.50.0 > > >