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", \