Module Name: src
Committed By: kamil
Date: Mon Oct 19 14:52:19 UTC 2020
Modified Files:
src/sys/kern: sys_ptrace.c sys_ptrace_common.c
Log Message:
Rollback unintended changes in the previous commit
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/kern/sys_ptrace.c
cvs rdiff -u -r1.85 -r1.86 src/sys/kern/sys_ptrace_common.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/kern/sys_ptrace.c
diff -u src/sys/kern/sys_ptrace.c:1.7 src/sys/kern/sys_ptrace.c:1.8
--- src/sys/kern/sys_ptrace.c:1.7 Mon Oct 19 14:47:01 2020
+++ src/sys/kern/sys_ptrace.c Mon Oct 19 14:52:19 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: sys_ptrace.c,v 1.7 2020/10/19 14:47:01 kamil Exp $ */
+/* $NetBSD: sys_ptrace.c,v 1.8 2020/10/19 14:52:19 kamil Exp $ */
/*-
* Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
@@ -106,9 +106,8 @@
* from: @(#)sys_process.c 8.1 (Berkeley) 6/10/93
*/
-
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sys_ptrace.c,v 1.7 2020/10/19 14:47:01 kamil Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sys_ptrace.c,v 1.8 2020/10/19 14:52:19 kamil Exp $");
#ifdef _KERNEL_OPT
#include "opt_ptrace.h"
@@ -129,6 +128,7 @@ __KERNEL_RCSID(0, "$NetBSD: sys_ptrace.c
#include <sys/syscallargs.h>
#include <sys/syscallvar.h>
#include <sys/syscall.h>
+#include <sys/module.h>
#include <uvm/uvm_extern.h>
@@ -214,3 +214,26 @@ sys_ptrace(struct lwp *l, const struct s
return do_ptrace(&native_ptm, l, SCARG(uap, req), SCARG(uap, pid),
SCARG(uap, addr), SCARG(uap, data), retval);
}
+
+#define DEPS "ptrace_common"
+
+MODULE(MODULE_CLASS_EXEC, ptrace, DEPS);
+
+static int
+ptrace_modcmd(modcmd_t cmd, void *arg)
+{
+ int error;
+
+ switch (cmd) {
+ case MODULE_CMD_INIT:
+ error = syscall_establish(&emul_netbsd, ptrace_syscalls);
+ break;
+ case MODULE_CMD_FINI:
+ error = syscall_disestablish(&emul_netbsd, ptrace_syscalls);
+ break;
+ default:
+ error = ENOTTY;
+ break;
+ }
+ return error;
+}
Index: src/sys/kern/sys_ptrace_common.c
diff -u src/sys/kern/sys_ptrace_common.c:1.85 src/sys/kern/sys_ptrace_common.c:1.86
--- src/sys/kern/sys_ptrace_common.c:1.85 Mon Oct 19 14:47:01 2020
+++ src/sys/kern/sys_ptrace_common.c Mon Oct 19 14:52:19 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: sys_ptrace_common.c,v 1.85 2020/10/19 14:47:01 kamil Exp $ */
+/* $NetBSD: sys_ptrace_common.c,v 1.86 2020/10/19 14:52:19 kamil Exp $ */
/*-
* Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
@@ -106,9 +106,8 @@
* from: @(#)sys_process.c 8.1 (Berkeley) 6/10/93
*/
-
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sys_ptrace_common.c,v 1.85 2020/10/19 14:47:01 kamil Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sys_ptrace_common.c,v 1.86 2020/10/19 14:52:19 kamil Exp $");
#ifdef _KERNEL_OPT
#include "opt_ptrace.h"
@@ -135,6 +134,7 @@ __KERNEL_RCSID(0, "$NetBSD: sys_ptrace_c
#include <sys/kauth.h>
#include <sys/mount.h>
#include <sys/syscallargs.h>
+#include <sys/module.h>
#include <sys/condvar.h>
#include <sys/mutex.h>
#include <sys/compat_stub.h>
@@ -1785,3 +1785,25 @@ process_auxv_offset(struct proc *p, stru
return 0;
}
#endif /* PTRACE */
+
+MODULE(MODULE_CLASS_EXEC, ptrace_common, NULL);
+
+static int
+ptrace_common_modcmd(modcmd_t cmd, void *arg)
+{
+ int error;
+
+ switch (cmd) {
+ case MODULE_CMD_INIT:
+ error = ptrace_init();
+ break;
+ case MODULE_CMD_FINI:
+ error = ptrace_fini();
+ break;
+ default:
+ ptrace_hooks();
+ error = ENOTTY;
+ break;
+ }
+ return error;
+}