diff options
| author | 2015-07-28 05:50:41 +0000 | |
|---|---|---|
| committer | 2015-07-28 05:50:41 +0000 | |
| commit | 7003901ffaa54cba9c0259fd1e76fbc6abac98f6 (patch) | |
| tree | 8d848e945d960e39487c1cdafeffd4f576b295c6 /sys/kern/sys_generic.c | |
| parent | default permitted target is all users, not root. (diff) | |
| download | wireguard-openbsd-7003901ffaa54cba9c0259fd1e76fbc6abac98f6.tar.xz wireguard-openbsd-7003901ffaa54cba9c0259fd1e76fbc6abac98f6.zip | |
Add ktracing of structs iovec, msghdr, and cmsghdr for {,p}{read,write}v(),
sendmsg(), and recvmsg(). For cmsghdr, the len, level, and type are always
shown, and for SOL_SOCKET,SCM_RIGHTS the fd numbers being passed are shown.
ok millert@ deraadt@
Diffstat (limited to 'sys/kern/sys_generic.c')
| -rw-r--r-- | sys/kern/sys_generic.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c index b6752bb5c40..d1c89d52c98 100644 --- a/sys/kern/sys_generic.c +++ b/sys/kern/sys_generic.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sys_generic.c,v 1.99 2015/07/19 02:35:35 deraadt Exp $ */ +/* $OpenBSD: sys_generic.c,v 1.100 2015/07/28 05:50:41 guenther Exp $ */ /* $NetBSD: sys_generic.c,v 1.24 1996/03/29 00:25:32 cgd Exp $ */ /* @@ -161,6 +161,10 @@ dofilereadv(struct proc *p, int fd, struct file *fp, const struct iovec *iovp, } if ((error = copyin(iovp, iov, iovlen))) goto done; +#ifdef KTRACE + if (KTRPOINT(p, KTR_STRUCT)) + ktriovec(p, iov, iovcnt); +#endif } else { iov = (struct iovec *)iovp; /* de-constify */ } @@ -309,6 +313,10 @@ dofilewritev(struct proc *p, int fd, struct file *fp, const struct iovec *iovp, } if ((error = copyin(iovp, iov, iovlen))) goto done; +#ifdef KTRACE + if (KTRPOINT(p, KTR_STRUCT)) + ktriovec(p, iov, iovcnt); +#endif } else { iov = (struct iovec *)iovp; /* de-constify */ } |
