Commit Graph

130 Commits

Author SHA1 Message Date
pk 470227cc3b Check that the `current directory' is still mounted before dropping core in it. 1998-09-11 13:25:20 +00:00
mycroft fb526e055c Substantial signal handling changes:
* Increase the size of sigset_t to accomodate 128 signals -- adding new
  versions of sys_setprocmask(), sys_sigaction(), sys_sigpending() and
  sys_sigsuspend() to handle the changed arguments.
* Abstract the guts of sys_sigaltstack(), sys_setprocmask(), sys_sigaction(),
  sys_sigpending() and sys_sigsuspend() into separate functions, and call them
  from all the emulations rather than hard-coding everything.  (Avoids uses
  the stackgap crap for these system calls.)
* Add a new flag (p_checksig) to indicate that a process may have signals
  pending and userret() needs to do the full (slow) check.
* Eliminate SAS_ALTSTACK; it's exactly the inverse of SS_DISABLE.
* Correct emulation bugs with restoring SS_ONSTACK.
* Make the signal mask in the sigcontext always use the emulated mask format.
* Store signals internally in sigaction structures, rather than maintaining a
  bunch of little sigsets for each SA_* bit.
* Keep track of where we put the signal trampoline, rather than figuring it out
  in *_sendsig().
* Issue a warning when a non-emulated sigaction bit is observed.
* Add missing emulated signals, and a native SIGPWR (currently not used).
* Implement the `not reset when caught' semantics for relevant signals.

Note: Only code touched by the i386 port has been modified.  Other ports and
emulations need to be updated.
1998-09-11 12:50:05 +00:00
perry 275d1554aa Abolition of bcopy, ovbcopy, bcmp, and bzero, phase one.
bcopy(x, y, z) ->  memcpy(y, x, z)
ovbcopy(x, y, z) -> memmove(y, x, z)
   bcmp(x, y, z) ->  memcmp(x, y, z)
  bzero(x, y)    ->  memset(x, 0, y)
1998-08-04 04:03:10 +00:00
perry 730baa7431 fix sizeofs so they comply with the KNF style guide. yes, it is pedantic. 1998-07-31 22:50:48 +00:00
thorpej e95c22ee96 Don't cast the null residual pointer passed to vn_rdwr(). 1998-07-28 18:17:34 +00:00
nathanw 30cbf42b77 Implement short corefile name support, controlled by options SHORTCORENAME
and sysctl kern.shortcorename.

Closes PR kern/5191.
1998-06-28 21:34:58 +00:00
thorpej 8aee7782f5 defopt COMPAT_SUNOS 1998-06-25 23:40:33 +00:00
thorpej 808867c7cf defopt KTRACE 1998-06-25 21:17:15 +00:00
enami 9ad895e33c Backout previous issignal() change so that gdb can trace a process
which has subprocess again; the lite2 change conflicts our local change.
1998-05-07 00:45:16 +00:00
fvdl e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +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
kleink 5d7a8f4a16 Modify the recent sigaltstack() interface change to use the __RENAME() scheme;
add __sigaltstack14().
1997-11-29 18:38:20 +00:00
mycroft d0a1101d26 Disable an effectively no-op reference to u_kproc, with an explanation of what
should be done with it eventually.
1997-10-16 02:45:39 +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 43a0dc8b74 Remove remnants of P_FSTRACE, which is no longer used. 1997-04-28 02:51:41 +00:00
mycroft ead5e1a6f7 When stopping a process being traced through procfs, wake up the *parent* (in
case it happens to be doing a WAIT.
1997-04-28 02:36:05 +00:00
mycroft 1cf91041df Nuke the old COMPAT_09 truncation of UIDs, GIDs, process and process group IDs. 1997-04-23 18:59:53 +00:00
kleink c9c13ef470 Changed killpg1() to 'succeed' even if a process group consists of
SZOMB processes only; the POSIX.1 definition of a background process
group implies that kill(2)ing such a process group must succeed.
1997-04-03 21:08:27 +00:00
mikel 4ab6dc7d2e allow examination of SIGKILL and SIGSTOP signal handlers (but still
disallow changes); from Klaus Klein in PR standards/3398.
1997-03-27 07:52:25 +00:00
cgd e7af2a8237 * catch up with system call argument type fixups/const poisoning.
* Fix arguments to various copyin()/copyout() invocations, to avoid
  gratuitous casts.
* Some KNF formatting fixes
1996-12-22 10:21:06 +00:00
cgd 8595fc3073 make coredump() use more sensible error returns (even though they're
not used by anything, for now), and implement MNT_NOCOREDUMP by checking
whether or not MNT_NOCOREDUMP is set on the file system where the dump
would land (i.e. the file system of the process's current working
directory), and disallowing the core dump if it's set.
1996-10-23 23:13:19 +00:00
mrg 8fd70c1fe1 in coredump(), check the SUGID bit rather than testing various parts
of the cred structures.  this prevents a previously set[gu]id process
from generating a core file.
1996-10-18 08:39:34 +00:00
christos f443b89c92 backout previous kprintf change 1996-10-13 02:32:29 +00:00
christos 60d201973e printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:46:11 +00:00
mycroft de1c962824 Don't core dump if ruid != euid or rgid != egid. 1996-09-01 01:56:10 +00:00
christos 4ef330b934 remove include of <sys/cpu.h> 1996-04-22 01:38:12 +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
jtc 2fce159ff8 Changed name of sigaltstack's ss_base field to ss_sp to match XPG4.2 and
traditional usage.
1996-01-04 22:21:33 +00:00
mycroft 245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
mycroft 2d9aa901e9 Write core dumps with mode 0600. 1995-10-06 16:12:05 +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 d23236204d When resetting a signal, change ps_sigact, just to be sure. 1995-08-14 06:07:55 +00:00
mycroft 5c03d498db Fix typos. 1995-08-14 01:47:03 +00:00
mycroft 2e95cf3d31 Implement SA_RESETHAND and SA_NODEFER.
Only return SA_NOCLDSTOP in the sigaction struct for SIGCHLD.
Rename ss_flags bits.
1995-08-13 22:53:59 +00:00
mycroft 73d0d3717e Don't toss out tty stop signals if we're being traced. 1995-07-24 03:18:42 +00:00
christos 1a5a3c9199 Extracted all of the compat_xxx routines, and created a library [libcompat]
for them. There are a few #ifdef COMPAT_XX remaining, but they are not easy
or worth eliminating (yet).
1995-06-24 20:33:55 +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
christos 3d1b06ab09 - new copyargs routine.
- use emul_xxx
- deprecate nsysent; use constant SYS_MAXSYSCALL instead.
- deprecate ep_setup
- call sendsig and setregs indirectly.
1995-04-22 19:42:47 +00:00
cgd c771cb43cf need COMPAT_OSF1 for some things 1995-03-08 01:20:19 +00:00
mycroft 1815d82b85 Make attach/detach more safe. 1995-02-03 11:35:57 +00:00
mycroft 080e194e58 Remove extra arg to vn_open(). 1994-12-14 19:03:13 +00:00
mycroft a18ec3cb1b LEASE_CHECK -> VOP_LEASE 1994-12-13 21:52:35 +00:00
cgd 3035c3a3f3 make nosys() return ENOSYS, based on user requests and discussions with
mkm.  it still always signals.
1994-12-07 21:31:11 +00:00
christos 1a320dc9be added extra argument in vn_open and VOP_OPEN to allow cloning devices 1994-11-14 06:01:16 +00:00
mycroft 2f38797073 Trivial changes to make the code more consistent. 1994-11-06 20:39:50 +00:00
cgd 4eaa98b365 cleanliness, type sizes, casts. 1994-10-30 19:15:46 +00:00
cgd 6b86130410 update for new syscall args description mechanism 1994-10-20 04:22:35 +00:00
mycroft 2f710a54ee Convert process, file, and namei lists and hash tables to use queue.h. 1994-08-30 03:04:28 +00:00
deraadt 72b3d408b9 replace "ctob(UPAGES)" and "UPAGES * NBPG" with "USPACE" 1994-08-23 22:07:42 +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
mycroft 699bbb84b6 Update to 4.4-Lite fs code. 1994-06-08 11:28:29 +00:00
pk 7672b8b95b New style core dumps. 1994-05-25 10:56:56 +00:00
cgd b1c756dc7b kill a notdef 1994-05-20 07:18:37 +00:00
cgd 63bb5c1ff2 update to 4.4-Lite, with some local changes 1994-05-19 08:13:09 +00:00
cgd 21a03cca53 mostly-machine-indepedent switch, and changes to match. also, hack init_main 1994-05-18 05:12:10 +00:00
cgd 81ae1682d5 osigstack is COMPAT_HPUX, too 1994-05-17 08:46:35 +00:00
cgd 4138ebf515 compat_09 stuff for pid_t's 1994-05-09 07:40:00 +00:00
cgd a16dcc73f6 signal stack changes; overall upgrade 1994-05-07 01:01:29 +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
mycroft 495d3519fa HPUXCOMPAT -> COMPAT_HPUX 1994-05-04 04:02:54 +00:00
cgd 4bbabd8e7a Rename a lot of process flags. 1994-05-04 03:41:12 +00:00
cgd f50f031448 kill syscall name aliases. no user-visible changes 1994-04-29 04:41:02 +00:00
pk dd617665cc Clear trampoline bits in execsigs(). 1994-04-22 22:33:59 +00:00
pk 21c5c73db5 I suppose a SIGKILL or SIGTERM should make a process go about its
business fast. But the previous situation would allow
"sigblock(sigmask(SIGTERM)); kill(SIGTERM)" to thwart priority policies.
1994-04-19 20:50:30 +00:00
glass ebf601d2d0 bad comment. fix from vdlinden@fwi.uva.nl (Frank van der Linden) 1994-03-19 18:38:33 +00:00
deraadt 316b930486 pull in COMPAT_SUNOS stuff from magnum 1994-01-23 05:56:27 +00:00
ws 2cee3e073f Make procfs really work for debugging.
Implement not & notepg files in procfs.
1994-01-20 21:22:47 +00:00
mycroft 21edb9924e Canonicalize all #includes. 1993-12-18 03:59:02 +00:00
cgd 86b5a367cf use progname.core for core dump names 1993-12-04 07:11:11 +00:00
cgd 9c32bc786a make allproc be volatile, and cast things accordingly.
suggested by torek, because CSRG had problems with reordering
of assignments to allproc leading to strange panics from kernels
compiled with gcc2...
1993-09-15 22:30:32 +00:00
phil de69711383 These changes are due to a mismatch with user functions prototyped as
func(short) and the fact the the kernel uses full ints.  This caused
problems on the pc532 port.  These fixes take the good 16 bits passed
by the user program and converts them into the correct form for the
kernel.
1993-09-09 22:03:59 +00:00
cgd f5ec218873 the swtch() calls here should not need to be splclock() protected,
and certainly don't need to be bracketed by splclock()/splnone(),
the latter of which is a jolitz invention.
1993-08-07 05:16:38 +00:00
mycroft 97cae397ee Finish moving struct definitions outside of function declarations. 1993-07-17 15:24:33 +00:00
cgd 06d372686f revert code base back to net/2. in particular,
fix jolitz's trapsignal() change (it's only supposed to work on curproc)
and add a panic if called w/something other than curproc, and also
fix a relic of his crappy exec implementation
1993-07-07 08:12:33 +00:00
cgd 955ae6a915 change exit() to kexit(), so prototypes are "safe" with stdio.h, etc. 1993-07-04 23:30:33 +00:00
andrew 0e6cb953ea ANSIfications - removed all implicit function return types and argument
definitions.  Ensured that all files include "systm.h" to gain access to
general prototypes.  Casts where necessary.
1993-06-27 06:01:27 +00:00
cgd 230dcf0d05 add $Id$ strings, and clean up file headers where necessary 1993-05-20 02:54:09 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00