eeh
a2dd74ed79
Merge paddr_t changes into the main branch.
1998-08-13 02:10:37 +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
thorpej
6326c90134
Change the "aresid" argument of vn_rdwr() from an int * to a size_t *,
...
to match the new uio_resid type.
1998-07-28 18:37:47 +00:00
thorpej
808867c7cf
defopt KTRACE
1998-06-25 21:17:15 +00:00
christos
02cecf686a
New fktrace syscall from Darren Reed [with fixes from me]
1998-05-02 18:33:19 +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
enami
74a36a05ae
No longer needs to include sys/shm.h.
1998-01-01 02:43:18 +00:00
thorpej
a322314f51
Split out the code that prepares a VM space for exec into a new
...
vmspace_exec() function.
1997-12-31 07:47:41 +00:00
mycroft
16a8787248
Fix execve(2) and *setregs() interfaces so emulations can set registers in a
...
more correct way. (See tech-kern.)
1997-09-11 23:01:44 +00:00
mycroft
e3f99a9397
Pass the vnode type to vaccess(), and use it when checking VEXEC. Make sure
...
that the mode bits passed to vaccess() and returned by foo_getattr() contain
only permission bits.
1997-05-08 16:19:43 +00:00
mycroft
d7f33c5e60
va_mode contains stat bits. Use S_IS[UG]ID rather than VS[UG]ID.
1997-05-08 10:19:10 +00:00
mycroft
b34794e10f
Do not return success when checking for execute permission by super-user and no
...
execute bits are set. Also, this test is no longer needed in execve(2).
1997-04-23 20:18:16 +00:00
kleink
cb9c71d716
Back out last change: just return EACCESS for any non-VREG file.
...
Fixes PR/3472 from Matthias Pfaller.
1997-04-10 19:45:40 +00:00
mycroft
e01c3bbe05
Return EISDIR for directories, not EACCES.
1997-03-14 06:12:11 +00:00
mrg
7de1b7c8eb
only set P_SUGID once.
1997-01-07 10:41:02 +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
3b34cba879
exec vnode locking protocol changes: in a nutshell, don't keep vnodes
...
locked for any longer than we have to.
1996-09-30 23:18:43 +00:00
cgd
2f42e5b8ed
fix some typos and clean up some comments.
1996-09-26 23:34:46 +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
feb42498e3
If we abort, make sure to free ep_emul_arg.
1995-12-09 04:11:00 +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
christos
7de0fcfd12
Add KTR_EMUL to indicate a switch between syscall emulations.
...
Currently this record is emitted only on exec. Maybe it should
be emitted on ktrace() attach too.
1995-07-19 15:19:08 +00:00
mycroft
bfd22ffde8
Generate the new ps_strings format.
1995-05-16 14:19:03 +00:00
cgd
2581c66077
remember first error code (if any) that's different than ENOEXEC.
...
Not perfect, but there's no perfect solution to the "multiple interesting
error codes" problem.
1995-05-01 22:36:45 +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
mycroft
c75f9f2e07
Change `fdclose' to `fdrelease', to avoid confusion with device interfaces.
1995-04-10 18:27:59 +00:00
fvdl
366ba9b889
Use sigcode fields in package structure. This seems to be the cleanest
...
way to deal with seperate trampoline code for emulation of other OSs,
it avoids having to clutter up kern_exec.c any further.
1995-04-07 22:33:23 +00:00
mycroft
2f805fa51b
copy*str() should use size_t.
1995-03-09 12:05:21 +00:00
cgd
6782442a8c
use long for argc, envc, and u_long for len.
1995-03-08 01:23:00 +00:00
cgd
c7fde1470b
various XXX changes that linux bins need to get their args correctly.
1995-02-28 23:09:01 +00:00
mycroft
e8f67573e2
Align the stack even if envp is NULL.
1995-02-22 01:39:56 +00:00
mycroft
a8dd9a66e2
Optimize differently.
1995-02-04 14:44:48 +00:00
mycroft
5561e58072
Small optimization.
1995-02-04 14:22:13 +00:00
mycroft
90ef05a32c
Use common fdclose() rather than a private version.
1994-12-04 03:10:40 +00:00
deraadt
dc7de949e9
change exec_setup_fcn() to be more useful (from christos)
1994-10-24 05:32:19 +00:00
cgd
6b86130410
update for new syscall args description mechanism
1994-10-20 04:22:35 +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
mycroft
d1f36d3007
fname --> path
1994-05-27 08:44:12 +00:00
deraadt
d0f39cffd9
return 0 on success
1994-05-27 07:58:37 +00:00
cgd
ebcaebd335
MIN -> min, MAX -> max
1994-05-24 02:35:53 +00:00
cgd
82fabd73d5
struct execve_args now defined in exec.h
1994-05-21 07:48:10 +00:00
cgd
72db136279
kill bogus include
1994-05-07 04:17:10 +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
cgd
675a199909
SUGID semantics, similar to 4.4BSD
1994-04-07 00:40:14 +00:00
cgd
a790e23e87
simplify error returns, and fix bugs
1994-02-16 01:21:00 +00:00
mycroft
974e9ba226
Fix typo in last change.
1994-02-12 07:19:11 +00:00
cgd
3a46cb73c6
ditto on the last; weird failure modes are the cause of the day.
1994-02-12 07:02:34 +00:00
cgd
64517d6f7f
don't forget to deallocate vmcmds if exec fails bounds checks.
...
thanks to charles for pointing it out.
1994-02-12 04:13:43 +00:00
cgd
114cf35108
dtrt with exec header size
1994-02-05 02:23:30 +00:00
cgd
8c996398fc
clean up, break script handling out of check_exec(), and comment a bit.
1994-01-16 03:09:59 +00:00
cgd
8ca18c3fa8
use exec_map
1994-01-13 06:23:57 +00:00
cgd
7422e2a40c
trim debugging code, for now, and kill dead code (unused options)
1994-01-13 02:33:57 +00:00
cgd
4c8ff3970f
try until error != ENOEXEC, so that formats can report errros reasonably
1994-01-09 17:11:42 +00:00
cgd
34ea9285e9
de-macroify kill_vmcmds()
1994-01-08 18:05:29 +00:00
cgd
957ce06f24
far reaching but relatively minor cleanup and slight reorg of exec code
1994-01-08 07:14:24 +00:00
mycroft
8955aeedd5
#include vm_user.h.
1994-01-08 04:15:41 +00:00
cgd
914aac9116
field name change
1994-01-04 11:29:55 +00:00
cgd
a67d24d94b
add support for p_vnode, from jsp
1993-12-22 13:39:27 +00:00
deraadt
c38503af4d
sparc must flush register windows before vm_deallocate or else fireworks
...
must deallocate shm's
set/reset emulation environment at the right times
keep arg buffer around for later use
canonicalize all #includes.
support STACKGAP for COMPAT_SUNOS code
support OMAGIC/NMAGIC-style memory loading
don't assume VM_MIN_ADDRESS is 0.
(changes come from magnum branch)
1993-12-12 19:38:37 +00:00
mycroft
620a222f9f
If EXEC_DEBUG, display name of file we're trying to exec.
1993-12-06 14:18:58 +00:00
cgd
dde22728d4
drag changes down from magnum
1993-11-15 10:21:08 +00:00
cgd
13ca4d98c7
it's correct to return EACCES if FS is mounted MNT_NOEXEC.
1993-10-26 01:42:56 +00:00
cgd
c7582cbd4f
use copyinstr rather than strcpy to copy in the saved shell-script
...
name from userland. From Markus Wild, mw@lamp
1993-10-26 00:32:29 +00:00
cgd
a84055b552
use the ALIGN macro to align the stack, rather than rounding up
...
by a (char *). the former is safe, even on strange machines
(read: sparc).
1993-10-06 07:27:58 +00:00
cgd
83aeee1bc0
there now exists an "exec switch". break the a.out code into another
...
module, and tidy up the interface so that other object formats are
more easily supportable.
1993-09-05 01:33:35 +00:00
cgd
491d6b4b9d
fix problem where exec would lose on shell scripts with symlinks in
...
their names. fix from "James W. Dolter" <jdolter@sawtooth.eecs.umich.edu>.
test script:
#!/bin/csh
mkdir /tmp/foodir
cat > /tmp/foodir/testscript <<EOF
#!/bin/sh
echo "Executing script \$1"
EOF
chmod 755 /tmp/foodir/testscript
(cd /tmp ; ln -s foodir foosym)
echo "Trying full path (w/o symlink) to /tmp/foodir/testscript"
/tmp/foodir/testscript "with out symlink"
echo "Trying full path (w/ symlink) to /tmp/foosym/testscript"
/tmp/foosym/testscript "with symlink"
echo "End of Test"
1993-09-01 21:43:50 +00:00
cgd
d365662684
ok, initialize that errno, to make theo and gcc2 happy...
1993-08-31 01:52:34 +00:00
cgd
518f7c78d6
a program being exec'd *must* cause *some* exec commands to be invoked;
...
if it doesn't there's a problem in the kernel, because a program
with no exec commands run will have no address space except the stack,
and i don't think it's valid to have a "run from stack only" exec type,
so panic. if need for that case comes up later, it can be changed...
1993-08-31 01:46:36 +00:00
cgd
2680a043c7
general cleanup (get close to KNF), and remove a few fuzzies
...
in preparation for The Grand Re-rewriting.
1993-07-28 04:08:27 +00:00
cgd
c0334ef92c
break args structs out, into syscallname_args structs, so gcc2 doesn't
...
whine so much.
1993-07-13 22:13:15 +00:00
brezak
b5236e7d0f
Roundup stack len to naturally aligned address. This fixes emacs aborting due to an odd address in alloca'ed memory.
1993-07-10 02:07:48 +00:00
brezak
31d24dc82e
Ignore the flags field in midmag.
1993-07-08 16:48:18 +00:00
cgd
b274bb4126
add support for checking entry against max user address
1993-07-05 01:53:56 +00:00
cgd
955ae6a915
change exit() to kexit(), so prototypes are "safe" with stdio.h, etc.
1993-07-04 23:30:33 +00:00
cgd
b21025e4f3
call setregs with a retval, too, so the hp300 & mac, and more works.
1993-07-04 09:48:29 +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
glass
ee8d969be4
ansi-style function definitions
1993-06-22 01:31:53 +00:00
cgd
c8bdad0560
convert magic numbers to network byte order, and attendent changes
1993-06-18 06:49:30 +00:00
cgd
24fe3e4563
fixed bug where extra spaces at the end of a shell name would
...
cause shell scripts to be executed incorrectly. shells would
receive an *empty* arg for name of script, open it, the kernel
would say "oh, that's ." or something similar, and the results
would be interesting... found, diagnosed, and killed by me.
1993-06-07 03:09:29 +00:00
cgd
7489eff03c
fix stoopid location to label problem
1993-06-06 02:36:22 +00:00
cgd
165b917efe
add fixes supplied by markus wild
1993-06-05 19:38:13 +00:00
cgd
23f01c5982
call a cpu-dependent function to check executable's a_mid type.
1993-06-03 01:31:43 +00:00
cgd
654e213804
when copying out signal trampoline code, make sure that
...
the copyout actually succeeds.
1993-06-02 04:43:54 +00:00
cgd
d2bf51450c
fixed minor typo in sigcode copying code
1993-06-02 03:15:36 +00:00
cgd
af4017c23f
general cleanup including, but not limited to:
...
better-integreate vmcmd building and exec hdr interpretation,
get stack sigcode copying right
etc.
1993-06-02 02:49:40 +00:00
cgd
956c046db5
do address mapping in a new way...
...
it works, but the code needs to be cleaned some...
1993-06-02 00:20:07 +00:00
cgd
4206d7f100
break before letting child run, if tracing, and do the right
...
thing with stack limits
1993-06-01 04:52:40 +00:00
cgd
0656a4bbbe
final patchups, also add support for finding argv/env via PS_STRINGS
1993-06-01 01:31:39 +00:00
cgd
eb4c4de385
replace exec.
...
new one based on one by Wolfgang Solfrank, but majorly hacked
(as it: it didn't have a chance in hell of working, before; didn't
even bother copying out argc, for one...)
1993-05-31 01:44:55 +00:00