Module Name:    src
Committed By:   pooka
Date:           Mon Dec  9 19:18:52 UTC 2013

Modified Files:
        src/sys/kern: makesyscalls.sh

Log Message:
Initialize the syscall "frame" to 0 before setting parameters.
Otherwise things which treat syscall parameters as register_t (like
ktrace) will encounter garbage for parameters which are of smaller size
than register_t.  Using memset is probably not the most optimal way,
but oh well.


To generate a diff of this commit:
cvs rdiff -u -r1.136 -r1.137 src/sys/kern/makesyscalls.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/kern/makesyscalls.sh
diff -u src/sys/kern/makesyscalls.sh:1.136 src/sys/kern/makesyscalls.sh:1.137
--- src/sys/kern/makesyscalls.sh:1.136	Mon Dec  9 16:32:06 2013
+++ src/sys/kern/makesyscalls.sh	Mon Dec  9 19:18:52 2013
@@ -1,4 +1,4 @@
-#	$NetBSD: makesyscalls.sh,v 1.136 2013/12/09 16:32:06 pooka Exp $
+#	$NetBSD: makesyscalls.sh,v 1.137 2013/12/09 19:18:52 pooka Exp $
 #
 # Copyright (c) 1994, 1996, 2000 Christopher G. Demetriou
 # All rights reserved.
@@ -828,6 +828,7 @@ function putent(type, compatwrap) {
 		argsize = "sizeof(callarg)"
 		printf("\tstruct %s%s_args callarg;\n\n",compatwrap_,funcname) \
 		    > rumpcalls
+		printf "\tmemset(&callarg, 0, sizeof(callarg));\n" > rumpcalls
 		for (i = 1; i <= argc; i++) {
 			if (argname[i] == "PAD") {
 				printf("\tSPARG(&callarg, %s) = 0;\n", \

Reply via email to