diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c index 9cbf7138b006..239292834012 100644 --- a/sys/kern/sys_generic.c +++ b/sys/kern/sys_generic.c @@ -652,18 +652,19 @@ int sys_ioctl(struct thread *td, struct ioctl_args *uap) { u_char smalldata[SYS_IOCTL_SMALL_SIZE] __aligned(SYS_IOCTL_SMALL_ALIGN); - u_long com; + uint32_t com; int arg, error; u_int size; caddr_t data; +#ifdef INVARIANTS if (uap->com > 0xffffffff) { printf( "WARNING pid %d (%s): ioctl sign-extension ioctl %lx\n", td->td_proc->p_pid, td->td_name, uap->com); - uap->com &= 0xffffffff; } - com = uap->com; +#endif + com = (uint32_t)uap->com; /* * Interpret high order word to find amount of data to be