Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Apr 2020 08:34:53 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r360331 - stable/11/sys/kern
Message-ID:  <202004260834.03Q8Yr5J001696@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hselasky
Date: Sun Apr 26 08:34:52 2020
New Revision: 360331
URL: https://svnweb.freebsd.org/changeset/base/360331

Log:
  MFC r359968:
  Cast all ioctl command arguments through uint32_t internally.
  
  Hide debug print showing use of sign extended ioctl command argument
  under INVARIANTS. The print is available to all and can easily fill
  up the logs.
  
  No functional change intended.
  
  Sponsored by:	Mellanox Technologies

Modified:
  stable/11/sys/kern/sys_generic.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/kern/sys_generic.c
==============================================================================
--- stable/11/sys/kern/sys_generic.c	Sun Apr 26 08:34:03 2020	(r360330)
+++ stable/11/sys/kern/sys_generic.c	Sun Apr 26 08:34:52 2020	(r360331)
@@ -688,18 +688,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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202004260834.03Q8Yr5J001696>