svn commit: r269742 - in stable/10: sys/kern usr.bin/kdump
Rui Paulo
rpaulo at FreeBSD.org
Fri Aug 8 22:08:52 UTC 2014
Author: rpaulo
Date: Fri Aug 8 22:08:51 2014
New Revision: 269742
URL: http://svnweb.freebsd.org/changeset/base/269742
Log:
MFC r269408, r269409:
shm_open()/shm_unlink() ktrace support.
Modified:
stable/10/sys/kern/uipc_shm.c
stable/10/usr.bin/kdump/kdump.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/kern/uipc_shm.c
==============================================================================
--- stable/10/sys/kern/uipc_shm.c Fri Aug 8 21:47:47 2014 (r269741)
+++ stable/10/sys/kern/uipc_shm.c Fri Aug 8 22:08:51 2014 (r269742)
@@ -45,6 +45,7 @@
__FBSDID("$FreeBSD$");
#include "opt_capsicum.h"
+#include "opt_ktrace.h"
#include <sys/param.h>
#include <sys/capability.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);
Modified: stable/10/usr.bin/kdump/kdump.c
==============================================================================
--- stable/10/usr.bin/kdump/kdump.c Fri Aug 8 21:47:47 2014 (r269741)
+++ stable/10/usr.bin/kdump/kdump.c Fri Aug 8 22:08:51 2014 (r269742)
@@ -1011,6 +1011,14 @@ ktrsyscall(struct ktr_syscall *ktr, u_in
ip++;
narg--;
break;
+ case SYS_shm_open:
+ print_number(ip, narg, c);
+ putchar(',');
+ flagsname(ip[0]);
+ printf(",0%o", ip[1]);
+ ip += 3;
+ narg -= 3;
+ break;
case SYS_minherit:
print_number(ip, narg, c);
print_number(ip, narg, c);
More information about the svn-src-stable
mailing list