Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Mar 2010 03:13:24 +0000 (UTC)
From:      Nathan Whitehorn <nwhitehorn@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r205574 - head/sys/kern
Message-ID:  <201003240313.o2O3DOL2071172@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: nwhitehorn
Date: Wed Mar 24 03:13:24 2010
New Revision: 205574
URL: http://svn.freebsd.org/changeset/base/205574

Log:
  The nargvstr and nenvstr properties of arginfo are ints, not longs,
  so should be copied to userspace with suword32() instead of suword().
  This alleviates problems on 64-bit big-endian architectures, and is a
  no-op on all 32-bit architectures.
  
  Tested on:	amd64, sparc64, powerpc64

Modified:
  head/sys/kern/kern_exec.c

Modified: head/sys/kern/kern_exec.c
==============================================================================
--- head/sys/kern/kern_exec.c	Wed Mar 24 03:07:35 2010	(r205573)
+++ head/sys/kern/kern_exec.c	Wed Mar 24 03:13:24 2010	(r205574)
@@ -1260,7 +1260,7 @@ exec_copyout_strings(imgp)
 	 * Fill in "ps_strings" struct for ps, w, etc.
 	 */
 	suword(&arginfo->ps_argvstr, (long)(intptr_t)vectp);
-	suword(&arginfo->ps_nargvstr, argc);
+	suword32(&arginfo->ps_nargvstr, argc);
 
 	/*
 	 * Fill in argument portion of vector table.
@@ -1276,7 +1276,7 @@ exec_copyout_strings(imgp)
 	suword(vectp++, 0);
 
 	suword(&arginfo->ps_envstr, (long)(intptr_t)vectp);
-	suword(&arginfo->ps_nenvstr, envc);
+	suword32(&arginfo->ps_nenvstr, envc);
 
 	/*
 	 * Fill in environment portion of vector table.



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