Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/external/cddl/osnet/dev/systrace
On Sun, Mar 8, 2015 at 2:47 AM, Christos Zoulas <christos%netbsd.org@localhost> wrote:
> 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.
>
diff --git a/external/cddl/osnet/dev/systrace/systrace.c
b/external/cddl/osnet/dev/systrace/systrace.c
index 7d2d328..50539ec 100644
--- a/external/cddl/osnet/dev/systrace/systrace.c
+++ b/external/cddl/osnet/dev/systrace/systrace.c
@@ -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 sysnum,
const struct sysent *se,
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];
When ret == NULL, it dies here with NULL pointer access...
ozaki-r
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! */
Home |
Main Index |
Thread Index |
Old Index