Date: Fri, 1 Aug 2014 23:29:04 +0000 (UTC) From: Rui Paulo <rpaulo@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r269409 - head/sys/kern Message-ID: <201408012329.s71NT4uJ076041@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: rpaulo Date: Fri Aug 1 23:29:04 2014 New Revision: 269409 URL: http://svnweb.freebsd.org/changeset/base/269409 Log: In the shm_open() and shm_unlink() syscalls, export the path to KTR. MFC after: 1 week Modified: head/sys/kern/uipc_shm.c Modified: head/sys/kern/uipc_shm.c ============================================================================== --- head/sys/kern/uipc_shm.c Fri Aug 1 23:28:21 2014 (r269408) +++ head/sys/kern/uipc_shm.c Fri Aug 1 23:29:04 2014 (r269409) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include "opt_capsicum.h" +#include "opt_ktrace.h" #include <sys/param.h> #include <sys/capsicum.h> @@ -53,6 +54,9 @@ __FBSDID("$FreeBSD$"); #include <sys/filedesc.h> #include <sys/fnv_hash.h> #include <sys/kernel.h> +#include <sys/uio.h> +#include <sys/signal.h> +#include <sys/ktrace.h> #include <sys/lock.h> #include <sys/malloc.h> #include <sys/mman.h> @@ -727,7 +731,10 @@ sys_shm_open(struct thread *td, struct s } else { path = malloc(MAXPATHLEN, M_SHMFD, M_WAITOK); error = copyinstr(uap->path, path, MAXPATHLEN, NULL); - +#ifdef KTRACE + if (error == 0 && KTRPOINT(curthread, KTR_NAMEI)) + ktrnamei(path); +#endif /* Require paths to start with a '/' character. */ if (error == 0 && path[0] != '/') error = EINVAL; @@ -825,7 +832,10 @@ sys_shm_unlink(struct thread *td, struct free(path, M_TEMP); return (error); } - +#ifdef KTRACE + if (KTRPOINT(curthread, KTR_NAMEI)) + ktrnamei(path); +#endif fnv = fnv_32_str(path, FNV1_32_INIT); sx_xlock(&shm_dict_lock); error = shm_remove(path, fnv, td->td_ucred);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201408012329.s71NT4uJ076041>