christos
d4e7e4c9c4
Fix a ptrace/execve race that could be used to modify the child process's
...
image during execve. This is a security issue because one can
do that to setuid programs... From FreeBSD.
2002-01-11 21:16:27 +00:00
thorpej
03efee5585
* Allow machine-dependent code to specify hooks for ptrace(2)
...
(__HAVE_PTRACE_MACHDEP) and procfs (__HAVE_PROCFS_MACHDEP).
These changes will allow platforms like x86 (XMM) and PowerPC
(AltiVec) to export extended register sets in a sane manner.
* Use __HAVE_PTRACE_MACHDEP to export x86 XMM registers (standard
FP + SSE/SSE2) using PT_{GET,SET}XMMREGS (in the machdep
ptrace request space).
* Use __HAVE_PROCFS_MACHDEP to export x86 XMM registers via
/proc/N/xmmregs in procfs.
2001-12-05 00:58:05 +00:00
lukem
adc783d537
add RCSIDs
2001-11-12 15:25:01 +00:00
wiz
a9356936b4
seperate -> separate
2001-07-22 13:33:58 +00:00
nathanw
9e8fb68348
The trace_req() function is a no-op; garbage collect it.
2001-06-13 16:06:27 +00:00
pooka
6c3e28927e
fix typo in comment
2001-03-17 09:38:36 +00:00
fvdl
ea08a209b5
Adapt for procfs_valid* argument change.
2001-01-17 01:13:23 +00:00
erh
3392996d23
Prevent ptrace on system processes. Avoids panic when attempting to ptrace pid 0, which has no parent.
2000-09-24 07:31:28 +00:00
thorpej
a86d1f4891
Add a lock around the scheduler, and use it as necessary, including
...
in the non-MULTIPROCESSOR case (LOCKDEBUG requires it). Scheduler
lock is held upon entry to mi_switch() and cpu_switch(), and
cpu_switch() releases the lock before returning.
Largely from Bill Sommerfeld, with some minor bug fixes and
machine-dependent code hacking from me.
2000-08-20 21:50:06 +00:00
eeh
2152b574c0
Fix LP64BE bug.
2000-07-28 04:21:26 +00:00
mrg
32aa199ccf
remove include of <vm/vm.h>
2000-06-27 17:41:07 +00:00
sommerfe
ef07055d58
Disallow tracing of processes unless tracer's root directory is at or
...
above tracee's root directory.
1999-03-25 04:45:56 +00:00
mrg
d2397ac5f7
completely remove Mach VM support. all that is left is the all the
...
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
mrg
d90485202c
- add defopt's for UVM, UVMHIST and PMAP_NEW.
...
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
mrg
1a8c7604f4
initial import of the new virtual memory system, UVM, into -current.
...
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code. i provided some help
getting swap and paging working, and other bug fixes/ideas. chuck
silvers <chuq@chuq.com> also provided some other fixes.
this is the rest of the MI portion changes.
this will be KNF'd shortly. :-)
1998-02-05 07:59:28 +00:00
mycroft
701f15db33
Reinstate P_FSTRACE, with different semantics:
...
* Never send a SIGCHLD to the parent if P_FSTRACE is set.
* Do not permit mixing ptrace(2) and procfs; only permit using the one that
was attached.
1997-04-28 04:49:27 +00:00
mycroft
e725c03060
When checking for init, compare against initproc, rather than comparing the
...
PID. No functional difference.
1997-04-28 02:29:52 +00:00
tls
3052b5a949
fix obscure problem involving ptrace of init
1996-05-15 06:17:47 +00:00
christos
09afd77655
More proto fixes
1996-02-09 18:59:18 +00:00
christos
8a5b1b92e2
First pass at prototyping
1996-02-04 02:15:01 +00:00
mycroft
245f292fed
Prefix names of system call implementation functions with `sys_'.
1995-10-07 06:25:19 +00:00
thorpej
60024eb978
Make system calls conform to a standard prototype and bring those
...
prototypes into scope.
1995-09-19 21:40:36 +00:00
mycroft
36a94a031a
Lock the process in core before operating on it.
1995-08-13 09:05:51 +00:00
mycroft
d7e904a697
Fix various signal handling bugs:
...
* If we got a stopping signal while already stopped with the same signal,
the second signal would sometimes (but not always) be ignored.
* Signals delivered by the debugger always pretended to be stopping
signals.
* PT_ATTACH still didn't quite work right.
1995-06-08 23:51:01 +00:00
mycroft
4a975bbe6f
If necessary, wake up the child during attach so we always get a SIGCHLD.
1995-06-05 20:57:54 +00:00
mycroft
53f792b77d
Omit the call to process_sstep() if PT_STEP is not defined.
1995-02-09 05:19:18 +00:00
cgd
a03b011499
undo a part of the last change that mistakenly required PT_STEP.
...
(i simply undid that part of the change.) also, fix a tyop.
1995-02-08 23:38:29 +00:00
mycroft
1815d82b85
Make attach/detach more safe.
1995-02-03 11:35:57 +00:00
mycroft
42d23cb6e4
Remove PT_{READ,WRITE}_U.
1995-01-26 17:56:21 +00:00
cgd
6ac2bbfc35
be more careful with types, also pull in headers where necessary.
1994-10-30 21:43:03 +00:00
cgd
6b86130410
update for new syscall args description mechanism
1994-10-20 04:22:35 +00:00
mycroft
3cc6cbc0e6
Correct test for already being traced.
1994-09-24 07:17:18 +00:00
cgd
b690c315ff
ugly (#ifdef) hack to fix m68k alignment differences, etc. Eventually,
...
should be done with a 'natual alignment' macro, or some such.
1994-09-14 16:40:29 +00:00
deraadt
280592c6a7
replace "ctob(UPAGES)" and "UPAGES * NBPG" with "USPACE"
...
(cvs dumped core during previous commit...)
1994-08-23 22:13:59 +00:00
cgd
94109335b3
kill errant spaces
1994-08-21 21:24:33 +00:00
mycroft
77fe78350b
Minor update to a comment.
1994-08-15 16:45:14 +00:00
cgd
97bdeab31e
replace with a completely rewritten version, based around the 4.4BSD
...
procfs. Now the author of the old version will stop complaining that
we're using his code.
1994-08-15 16:32:41 +00:00
cgd
b48d84b629
replce with virgin copy from 4.4-Lite
1994-08-15 16:29:22 +00:00
ws
2db64ab48d
Try to pick myself up from the floor where I fell laughing.
1994-07-12 22:20:46 +00:00
cgd
cf92afd66e
New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
1994-06-29 06:29:24 +00:00
cgd
fcb7a3c514
Implement ptrace() functionality, based on the previous version
...
by Sean Eric Fagan.
1994-05-18 11:37:00 +00:00
cgd
e5456f6c3e
replace sys_process.c with the 4.4-Lite version
1994-05-18 11:32:27 +00:00
cgd
ed848af6f7
function name changes
1994-05-07 00:51:06 +00:00
cgd
a0a7429482
lots of changes: prototype migration, move lots of variables, definitions,
...
and structure elements around. kill some unnecessary type and macro
definitions. standardize clock handling. More changes than you'd want.
1994-05-05 05:35:42 +00:00
cgd
4bbabd8e7a
Rename a lot of process flags.
1994-05-04 03:41:12 +00:00
cgd
675a199909
SUGID semantics, similar to 4.4BSD
1994-04-07 00:40:14 +00:00
pk
b2d32f38eb
A zero scale factor turns profiling off.
1994-03-11 09:12:22 +00:00
pk
a2e2253e6c
Remove out-dated comments
1994-02-03 16:17:25 +00:00
cgd
55d2821ec0
make sure PT_STEP's are in #ifdefs
1994-01-28 19:06:17 +00:00
cgd
1b2497a000
if you define PT_[GS]ETFPREGS, then you'd better define struct fpreg, etc.
1994-01-28 06:51:13 +00:00