Module Name:    src
Committed By:   christos
Date:           Sat Mar  7 17:47:09 UTC 2015

Modified Files:
        src/external/cddl/osnet/dev/systrace: systrace.c

Log Message:
we have space for 2 more arguments so use it.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/external/cddl/osnet/dev/systrace/systrace.c

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

Modified files:

Index: src/external/cddl/osnet/dev/systrace/systrace.c
diff -u src/external/cddl/osnet/dev/systrace/systrace.c:1.5 src/external/cddl/osnet/dev/systrace/systrace.c:1.6
--- src/external/cddl/osnet/dev/systrace/systrace.c:1.5	Sat Mar  7 10:14:09 2015
+++ src/external/cddl/osnet/dev/systrace/systrace.c	Sat Mar  7 12:47:09 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: systrace.c,v 1.5 2015/03/07 15:14:09 christos Exp $	*/
+/*	$NetBSD: systrace.c,v 1.6 2015/03/07 17:47:09 christos Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -139,17 +139,18 @@ systrace_probe(uint32_t id, register_t s
     const void *params, const register_t *ret, int error)
 {
 	size_t		n_args	= 0;
-	uintptr_t	uargs[SYS_MAXSYSARGS];
+	uintptr_t	uargs[SYS_MAXSYSARGS + 3];
 
 	memset(uargs, 0, sizeof(uargs));
-	if (params) {
+	if (ret) {
 		/* entry syscall, convert params */
 		systrace_args(sysnum, params, uargs, &n_args);
 	} else {
-		/* return syscall, set values (XXX: errno?) */
+		/* return syscall, set values and params: */
 		uargs[0] = ret[0];
 		uargs[1] = ret[1];
 		uargs[2] = error;
+		systrace_args(sysnum, params, uargs + 3, &n_args);
 	}
 	/* Process the probe using the converted argments. */
 	/* XXX: fix for more arguments! */

Reply via email to