From 622dd6a7e26ae877c2a6a3f71879b44a030db3e1 Mon Sep 17 00:00:00 2001 From: christos Date: Wed, 21 Sep 2011 18:10:25 +0000 Subject: [PATCH] Put the mbuf type in the ktrace record so that we know how to decode it in userland. --- sys/kern/uipc_syscalls.c | 7 ++++--- sys/sys/mbuf.h | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c index c2777c52becf..619324202a81 100644 --- a/sys/kern/uipc_syscalls.c +++ b/sys/kern/uipc_syscalls.c @@ -1,4 +1,4 @@ -/* $NetBSD: uipc_syscalls.c,v 1.146 2011/07/27 14:35:34 uebayasi Exp $ */ +/* $NetBSD: uipc_syscalls.c,v 1.147 2011/09/21 18:10:25 christos Exp $ */ /*- * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc. @@ -61,7 +61,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: uipc_syscalls.c,v 1.146 2011/07/27 14:35:34 uebayasi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uipc_syscalls.c,v 1.147 2011/09/21 18:10:25 christos Exp $"); #include "opt_pipe.h" @@ -71,6 +71,7 @@ __KERNEL_RCSID(0, "$NetBSD: uipc_syscalls.c,v 1.146 2011/07/27 14:35:34 uebayasi #include #include #include +#define MBUFTYPES #include #include #include @@ -1224,7 +1225,7 @@ sockargs(struct mbuf **mp, const void *bf, size_t buflen, int type) (void) m_free(m); return (error); } - ktrkuser("sockargs", mtod(m, void *), buflen); + ktrkuser(mbuftypes[type], mtod(m, void *), buflen); *mp = m; if (type == MT_SONAME) { sa = mtod(m, struct sockaddr *); diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h index 9c560cbc6c1c..e2c7a8b54686 100644 --- a/sys/sys/mbuf.h +++ b/sys/sys/mbuf.h @@ -1,4 +1,4 @@ -/* $NetBSD: mbuf.h,v 1.145 2011/08/08 19:10:33 dyoung Exp $ */ +/* $NetBSD: mbuf.h,v 1.146 2011/09/21 18:10:25 christos Exp $ */ /*- * Copyright (c) 1996, 1997, 1999, 2001, 2007 The NetBSD Foundation, Inc. @@ -379,6 +379,19 @@ MBUF_DEFINE(mbuf, MHLEN, MLEN); #define MT_CONTROL 6 /* extra-data protocol message */ #define MT_OOBDATA 7 /* expedited data */ +#ifdef MBUFTYPES +static const char *mbuftypes[] = { + "mbfree", + "mbdata", + "mbheader", + "mbsoname", + "mbsopts", + "mbftable", + "mbcontrol", + "mboobdata", +}; +#endif + /* flags to m_get/MGET */ #define M_DONTWAIT M_NOWAIT #define M_WAIT M_WAITOK