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