The flags argument is defined in kernel as unsigned long,
so change its decoding to avoid truncation.
* clone.c (SYS_FUNC(clone)): Change flags type from unsigned long
to kernel_ureg_t, print it using printflags64 instead of printflags.
{
if (exiting(tcp)) {
const char *sep = "|";
- unsigned long flags = tcp->u_arg[ARG_FLAGS];
+ kernel_ureg_t flags = tcp->u_arg[ARG_FLAGS];
tprints("child_stack=");
printaddr(tcp->u_arg[ARG_STACK]);
tprints(", ");
tcp->u_arg[ARG_STACKSIZE]);
#endif
tprints("flags=");
- if (!printflags(clone_flags, flags &~ CSIGNAL, NULL))
+ if (!printflags64(clone_flags, flags &~ CSIGNAL, NULL))
sep = "";
if ((flags & CSIGNAL) != 0)
tprintf("%s%s", sep, signame(flags & CSIGNAL));