mrg
d90485202c
- add defopt's for UVM, UVMHIST and PMAP_NEW.
...
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
chs
f64abc7b4c
add flags arg to hashinit(), to pass to malloc().
1998-02-07 02:44: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
perry
1a80fd799d
RCSID Police.
1998-01-05 19:19:41 +00:00
fvdl
766487d941
Too many vnode ops were marked as bad op, but could happen in practice.
...
Change them to genfs_eopnotsupp.
1997-11-27 20:36:05 +00:00
mycroft
d24c4d31e1
Make the curproc link executable.
1997-10-30 09:14:07 +00:00
christos
4071635fa6
Add missing cast to dev_t
1997-10-16 23:57:51 +00:00
fvdl
ce56587f15
Bump last argument to VOP_READDIR to off_t (from u_long).
1997-10-10 02:01:05 +00:00
fvdl
ebffddb531
Bump last argument to VOP_READDIR to off_t (from u_long).
1997-10-10 02:01:02 +00:00
fvdl
ab940dcf06
Bump last argument to VOP_READDIR to off_t (from u_long).
1997-10-10 02:00:56 +00:00
mycroft
4383ea0b92
Make openstr[] const.
1997-10-09 13:12:01 +00:00
mycroft
64d080efe0
Make various standard wmesg strings const.
1997-10-09 12:59:50 +00:00
thorpej
c9efd0562e
Make the vfs ops and vnodeop_opv symbols match the name of the
...
file-system option used to configure the file system into the kernel.
1997-10-06 09:32:31 +00:00
leo
e0f973ee3b
Implement the kernel part of pr-1891. This allows for a more flexible sized
...
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 19:14:20 +00:00
enami
b4ae3706db
Use the same indentation as other two place, sys_ptrace() and
...
procfs_control().
Ok'ed by Jason R. Thorpe.
1997-09-13 04:25:35 +00:00
christos
4fb8bf7262
PR/4098: Alan Barrett: Fix diagnostic printf formatting.
1997-09-10 13:44:20 +00:00
thorpej
a79a3ca472
Fix a reversed argument which caused procfs_checkioperm() to always return
...
"OK". Add a few comments to avoid further confusion.
1997-08-27 08:52:51 +00:00
explorer
945beb8d63
Move procfs_checkioperm() from procvs_subr.c to procfs_mem.c, since _subr is
...
not included in a kernel without procfs, and it seems wrong to pull
all of procfs_subr.c in for just that one function. Perhaps this
should go into a new file instead?
1997-08-13 04:01:22 +00:00
thorpej
f9777e4a1c
Fix the procfs hole described on current-users, similar to a fix for
...
FreeBSD by Sean Eric Fagan, but a bit different. This makes the checks
in the same places as sef's FreeBSD patch, but does not hardcode the
"kmem" group into the kernel, and also does a check identical to the
(3) and (4) checks in the NetBSD ptrace(2):
(1) it's not owned by you, or is set-id on exec (unless
you're root), or
(2) it's init, which controls the security level of the
entire system, and the system was not compiled with
permanently insecure mode turned on.
1997-08-12 22:47:18 +00:00
drochner
aa015962db
Since there is a "%qx" printf format, don't truncate to long for
...
debug output.
1997-07-04 19:22:48 +00:00
mycroft
2ee8bc2b79
Don't allow writes to init's memory or registers while in secure mode.
1997-06-25 11:32:15 +00:00
thorpej
a149ed59e4
Eliminate use of dtom() in the handing of UNIX domain sockets. Add an
...
"unp_addrlen" member to the unpcb, and use it when copying the socket
name. This eliminates that last uses of dtom() in the system.
1997-06-24 19:12:53 +00:00
kleink
a1c6b08386
When reading from an empty FIFO no process has opened for writing, and
...
O_NONBLOCK is set, return 0.
1997-05-18 12:19:29 +00:00
pk
80bb266e0e
NULL => 0 (Arne Juul; PR#3629)
1997-05-17 20:31:15 +00:00
pk
420dea1e9a
Move `struct kern_target' definition into kernfs.h
1997-05-10 22:04:13 +00:00
mycroft
3be66b88fe
Update for lookup() changes.
1997-05-09 04:05:01 +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
4d213ec5e7
Need stat.h.
1997-05-05 07:34:09 +00:00
mycroft
0f09f99ae1
Need stat.h.
1997-05-05 07:19:05 +00:00
mycroft
1e3c14a909
Eliminate bogus uses of V{READ,WRITE,EXEC}. Use S_I[RWX]{USR,GRP,OTH} where
...
appropriate.
1997-05-05 07:13:57 +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
8a33a13c65
Minor code cleanup.
1997-04-28 03:49:57 +00:00
mycroft
217c4e14ea
Fix several deficiencies, as compared to ptrace(2):
...
* Did not check for P_SUGID on ATTACH.
* Did not check for tracing of init on ATTACH.
* Did not turn off single-step mode on RUN or DETACH.
* Might have screwed up reparenting in some cases.
* Allowed anyone to detach the process.
1997-04-28 02:28:39 +00:00
fvdl
aadf9a1d0f
fdesc_seek -> genfs_seek, not genfs_badop
1997-04-16 22:43:41 +00:00
kleink
9c16cd8a46
Implement a POSIX compliant genfs VOP_SEEK() and use it in the appropriate
...
places; by Chris G. Demetriou and myself.
1997-04-11 21:52:00 +00:00
cgd
89a4d9a733
don't try to use __builtin_return_address() on the Alpha. (It's never
...
worked as far as I can tell, and apparently crashes the kernel when
invoked here.) From Ross Harvey, PR#3471.
1997-04-10 05:35:08 +00:00
kleink
8c04785710
Remove superfluous (uio_resid == 0) check.
1997-04-02 17:14:32 +00:00
kleink
c1779f82c3
added advisory record locking support
1997-04-02 17:09:47 +00:00
mikel
bd1ca0f680
this is umapfs, not lofs
1997-03-11 03:55:04 +00:00
mikel
812eb1fae4
this is nullfs, not lofs
1997-03-11 03:54:29 +00:00
mikel
be4f5a32c1
use the proper entry count; from Yasufumi Itoh in PR kern/3175.
1997-02-20 05:04:05 +00:00
cgd
90688fce27
Change the second and third args to struct vfsops' (*vfs_mount)() to
...
'const char *', and 'void *', respectively. The second arg is taken directly
from user arguments, and is const there, so must be const in the prototypes
and functions. The third arg is also taken directly from user arguments.
It doesn't have to be changed, but since it's cleaner to keep the type
the same as the user arg's type, and I'm already making the 'const char *'
change...
1996-12-22 10:10:12 +00:00
pk
3127b0c5e2
Fix short malloc & memory leak in union_relookup() (per Naofumi Honda; PR#3000).
1996-12-07 11:02:47 +00:00
cgd
a67c0b16b8
define path name string variables that we should not (and, thankfully, do
...
not) modify as 'const char *' rather 'char *'.
1996-10-25 21:57:58 +00:00
cgd
eaa37ec87a
remove bogus cast of second arg to bcmp(). (nm_name is a const char*,
...
and was being unnecessarily cast to 'char *'; -Wcast-qual.)
1996-10-25 21:52:02 +00:00
christos
92a808f167
backout previous kprintf changes
1996-10-13 02:21:25 +00:00
christos
60d201973e
printf -> kprintf, sprintf -> ksprintf
1996-10-10 22:46:11 +00:00
mycroft
605403ce1e
portal_fsync -> genfs_nullop
1996-09-25 03:01:41 +00:00
mycroft
2bc736661a
Implement poll(2).
1996-09-07 12:40:22 +00:00
thorpej
2c02b8ec56
Remove some unused variables.
1996-09-05 09:26:14 +00:00
mycroft
c52352c819
Add a set of generic file system operations that most file systems use.
...
Also, fix some time stamp bogosities.
1996-09-01 23:47:48 +00:00
mrg
2a0f025a41
use VATTR_NULL macro.
1996-06-14 09:27:23 +00:00
mycroft
95f26583aa
Add a missing PHOLD()/PRELE() pair.
1996-06-11 01:49:38 +00:00
cgd
f7f3f4299d
print pointers with %p, rather than by printing with %x and casting to
...
(unsigned int).
1996-05-23 23:34:14 +00:00
mycroft
ea64155398
Mirror changes in uipc_usrreq.c.
1996-05-23 18:45:14 +00:00
gwr
316f45753f
Allow the DIAGNOSTIC to compile with old versions of gcc.
1996-05-17 20:53:11 +00:00
mrg
d0f2ced7d2
use %p not %x for pointers
1996-05-13 07:13:23 +00:00
jtk
6ddae4d140
Implement proper `..' locking in lookup code to avoid many potential
...
deadlocks.
copy up properly when adding a link to lower-layer only file.
(I believe there are still more deadlocks remaining.)
1996-05-10 22:57:49 +00:00
jtk
c9c8daaf7c
Add locking code to avoid deadlocks on vnode reclaim, which means the
...
addition of null_lookup, null_lock, null_unlock, null_islocked.
1996-05-10 22:50:45 +00:00
christos
4ef330b934
remove include of <sys/cpu.h>
1996-04-22 01:38:12 +00:00
cgd
7e4d04910d
fix screw-up in the prototyping changes: print pointers with %p, NOT
...
by casting them to (unsigned int) then printing with %x.
1996-04-13 01:34:06 +00:00
mrg
2a0a8867ae
fix long-time bug in fdesc -- /dev/tty was a named pipe rather than a
...
mirror image of the real /dev/tty, a char dev. make it a char dev.
1996-04-11 11:24:29 +00:00
christos
da749d6e09
Fix printf format follies.
1996-03-16 23:52:42 +00:00
thorpej
c685105f07
Don't deref a bad ucred pointer, from Dave Carrel <carrel@cisco.com>,
...
PR #1699 .
1996-03-05 02:35:39 +00:00
mycroft
183aec8fa8
GC *_nullop(). Minor nits.
1996-02-13 13:12:48 +00:00
mycroft
5953a056eb
GC dead_nullop().
1996-02-13 13:02:40 +00:00
christos
19dc07be15
close PR/2063: procfs_rw prototyped twice with different prototypes
1996-02-12 15:01:41 +00:00
christos
631ccba638
miscfs prototype changes
1996-02-09 22:39:56 +00:00
mycroft
fce3e0874f
Fix vop_link, vop_symlink, and vop_remove semantics in several ways:
...
* Change the argument names to vop_link so they actually make sense.
* Implement vop_link and vop_symlink for all file systems, so they do proper
cleanup.
* Require the file system to decide whether or not linking and unlinking of
directories is allowed, and disable it for all current file systems.
1996-02-09 18:47:48 +00:00
mycroft
53fccab940
Fix vop_link, vop_symlink, and vop_remove semantics in several ways:
...
* Change the argument names to vop_link so they actually make sense.
* Implement vop_link and vop_symlink for all file systems, so they do proper
cleanup.
* Require the file system to decide whether or not linking and unlinking of
directories is allowed, and disable it for all current file systems.
1996-02-09 14:45:36 +00:00
jtc
299e1fe9df
Rename struct timespec fields to conform to POSIX.1b
1996-02-01 00:31:05 +00:00
mycroft
5f8d113e8a
Don't include free blocks from the lower layer in statistics.
1996-01-30 16:45:10 +00:00
mycroft
2d1739cbe1
Implement VOP_BWRITE() using vn_bwrite(), per r_friedl@informatik.uni-kl.de.
1995-10-15 05:18:12 +00:00
mycroft
3dc2e10405
Fix the inode calculation in kernfs_getattr().
1995-10-09 14:25:02 +00:00
mycroft
1e583dfb19
/dev/std* are of type DT_LNK.
1995-10-09 14:20:04 +00:00
mycroft
d60bb4a465
Use the index number as the cookie, rather than multiplying by UIO_MX.
1995-10-09 14:03:32 +00:00
mycroft
bcaf2bca34
Add support for cookies, mostly from Greg Hudson.
1995-10-09 11:18:51 +00:00
mycroft
245f292fed
Prefix names of system call implementation functions with `sys_'.
1995-10-07 06:25:19 +00:00
mycroft
d3f03a8c0c
Avoid reentering union_dircache() by locking the union vnode. From John Kohl.
1995-10-05 06:26:12 +00:00
mycroft
36a94a031a
Lock the process in core before operating on it.
1995-08-13 09:05:51 +00:00
mycroft
5482957905
splnet --> splsoftnet
1995-08-12 23:59:09 +00:00
cgd
e9d17d38b5
avoid unnecessary aging of buffers. This used to make sense, when buffer
...
caches were much smaller, but makes little sense now, and will become more
useless as RAM (and buffer cache) sizes grow. Suggested by Bob Baron.
1995-07-24 21:19:27 +00:00
cgd
3a99ca568b
this README has been unnecessary for a while.
1995-07-24 07:59:06 +00:00
mycroft
c57d78c71a
Indirect off the right vnode when looking up the struct union_mount in
...
union_access(). Also, a trivial change to union_rmdir().
1995-07-13 13:19:18 +00:00
cgd
fd0f559215
add missing splx(), as suggested by enami@sys.ptg.sony.co.jp.
1995-07-08 00:42:45 +00:00
mycroft
839598dfec
Make spec_read() and spec_write() vaguely consistent.
1995-07-02 07:20:50 +00:00
gwr
09e284bcca
Fix null VP references (pr 1124) - from John Kohl
1995-06-27 00:15:13 +00:00
gwr
5be81bd012
Fix null VP references (pr 1124)
1995-06-27 00:12:21 +00:00
cgd
8f62c773e8
don't assume the f_fsnamelen is nul-truncated or longer than MFSNAMELEN
1995-06-18 14:45:14 +00:00
mycroft
e729deedb2
Fix a condition where union_updatevp() would reinsert the node onto the
...
wrong hash chain, by not swapping the hash values. Noted by John Kohl, but
fixed differently.
1995-06-02 02:39:20 +00:00
jtc
95ded74f58
Moved egid credential from cr_groups[0] to new field cr_gid. POSIX.1
...
requires that sgid executables and the setuid() syscall *not* change
the supplemental group list.
1995-06-01 22:43:30 +00:00
mycroft
e9f4bff2cc
Add prototype.
1995-05-30 18:55:28 +00:00
mycroft
2bf9d56861
Always call union_diruncache() when removing the upper object.
1995-05-30 18:52:39 +00:00
mycroft
80d1ab77b5
Release the directory cache when a directory is removed or whited out.
1995-05-30 18:11:46 +00:00
mycroft
0ca2e1bd7d
Fix typo.
1995-05-30 10:28:15 +00:00
mycroft
7c7b203953
Make sure un_dircache is set after union_dircache(), to avoid stranding
...
references and the dircache buffer.
1995-05-30 09:37:02 +00:00
mycroft
6760c93567
When a file is removed from the upper layer, make sure to release the
...
reference to it. From John Kohl.
1995-05-30 09:07:10 +00:00
mycroft
eb310b67a7
Fix order of lock assertions in union_lock() and union_removed_upper().
...
Sprinkle a few vprint()s. From John Kohl.
1995-05-30 08:51:24 +00:00
cgd
df052e72a6
clean up some return-type warnings
1995-04-15 01:57:35 +00:00
cgd
13f5026553
fix timeval vs. timespec warnings
1995-04-15 01:56:43 +00:00
mycroft
b88eec60bb
Allow opening a FIFO with O_RDWR.
1995-04-14 23:30:14 +00:00
mycroft
99005388fd
Return EOF for old vnodes of tty devices, rather than EIO.
1995-04-10 00:48:46 +00:00
mycroft
7f3a305b34
Use the new d_type field. Set VISTTY for vnodes of tty devices.
1995-04-10 00:48:10 +00:00
mycroft
47ba263ebe
Emulate SCO behaviour when both FREAD and FWRITE are set, but only for SCO
...
executables.
1995-04-02 19:27:48 +00:00
briggs
6efcd1b6d4
KERNEL -> _KERNEL
1995-03-29 21:57:43 +00:00
mycroft
aae5ebefc2
Add missing arguments to VOP_CLOSE() in some cases. From Frank van der
...
Linden.
1995-03-11 06:14:28 +00:00
mycroft
2f805fa51b
copy*str() should use size_t.
1995-03-09 12:05:21 +00:00
cgd
aac6b08302
use u_long for copyin*
1995-03-08 01:33:20 +00:00
mycroft
597bdad3df
Return EROFS rather than ENOENT in many cases. Also some cosmetic cleanup.
1995-02-03 16:18:46 +00:00
cgd
800be68af6
return EOPNOTSUPP from fhtovp and vptofh functions; doing otherwise
...
correctly is not possible.
1995-01-25 14:50:48 +00:00
mycroft
e9017fd132
Clean up the code to frob mnt_stat a (tiny) bit.
1995-01-18 09:34:24 +00:00
chopps
ce22a1a443
initialize variable as pointed out by David Jones <dej@qpoint.torfree.net>
...
this should fix pr #699
1995-01-05 07:10:54 +00:00
mycroft
635cd1625e
Consistency with other file system code...
1994-12-29 22:48:16 +00:00
mycroft
d2e8ed4eec
Undo a few of the VCALL() changes for now.
1994-12-29 22:42:10 +00:00
mycroft
609063ce2b
Format police.
1994-12-27 19:05:12 +00:00
ws
2f0fb8ee09
Implement and use a common access checking routine
1994-12-24 16:44:12 +00:00
glass
b52bb59b86
fix compilation error
1994-12-18 07:20:34 +00:00
mycroft
dbe5168d35
Remove a_fp.
1994-12-16 03:18:03 +00:00
mycroft
814ba0fc30
Call foo_statfs() from a common place when mounting.
1994-12-15 20:00:14 +00:00
mycroft
9996e27813
Fix minor bug in union_setattr().
1994-12-15 19:15:06 +00:00
mycroft
467e30fb72
Still more VOP_*() -> VCALL() twiddling.
1994-12-15 19:06:50 +00:00
mycroft
0281dba8fa
Some more VOP_*() -> VCALL() munging.
1994-12-15 18:58:11 +00:00
mycroft
7276c4ed44
Remove a_fp.
1994-12-14 18:45:21 +00:00
mycroft
ef575bdbc1
Revert dup handling.
1994-12-14 18:40:27 +00:00
mycroft
33c3d64e0c
Clean up deleted files.
1994-12-14 16:31:22 +00:00
mycroft
82ab4c687f
Sync with CSRG.
1994-12-14 16:30:40 +00:00
mycroft
a18ec3cb1b
LEASE_CHECK -> VOP_LEASE
1994-12-13 21:52:35 +00:00
mycroft
bc7ed2596e
Fix editing errors.
1994-12-13 20:27:37 +00:00
mycroft
527b796ff5
Turn lease_check() into a vnode op, per CSRG.
1994-12-13 20:14:30 +00:00
mycroft
f821e3012a
Use VCALL() in lots of places.
1994-12-13 16:59:50 +00:00
mycroft
2981ef6595
Sync with CSRG.
1994-12-13 09:58:11 +00:00
mycroft
b05e959a14
Use fddupopen(), just like fdopen() does.
1994-12-04 03:13:06 +00:00
mycroft
261751e81d
Reimplement union_seek().
1994-12-01 16:40:34 +00:00
mycroft
1056700333
Make sure averunnable.fscale is filled before using it.
1994-12-01 10:16:53 +00:00
christos
a1dbf4aaa5
fixed struct comment
1994-11-14 06:08:21 +00:00
christos
923c9743a2
fixed struct comment; passed extra argument (struct file *) to open
1994-11-14 06:07:45 +00:00
christos
8cdc99a059
fixed struct comment
1994-11-14 06:04:31 +00:00
cgd
6ac2bbfc35
be more careful with types, also pull in headers where necessary.
1994-10-30 21:43:03 +00:00
cgd
be8c7b9d80
light clean; make sure headers are properly included, types are OK, etc.
1994-10-29 07:58:24 +00:00
cgd
6b86130410
update for new syscall args description mechanism
1994-10-20 04:22:35 +00:00
cgd
a3e9e8091b
fix device aliasing and lost vnode problems.
1994-09-20 06:43:00 +00:00
mycroft
76e0a7d0f4
Fix typo.
1994-09-15 03:47:19 +00:00
mycroft
cab4d25c24
stat the file system at mount time, for `df -n', et al.
1994-09-15 03:42:37 +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
mycroft
f5faab89e9
Use VCALL(), not VOCALL(), and simplify union_advlock().
1994-08-30 03:01:01 +00:00
mycroft
537ac5465f
Convert hash tables.
1994-08-19 11:25:29 +00:00
mycroft
41761064b8
Implement /kern/msgbuf.
1994-07-21 10:22:20 +00:00
mycroft
6436952bbc
Fix a null pointer dereference during rename(2).
1994-07-20 07:37:25 +00:00
paulus
988b7f5158
Support for block special files with sector sizes other than DEV_BSIZE -
...
if the device has a disklabel with a non-zero sector size value, that
value is used instead of DEV_BSIZE.
1994-07-16 11:40:56 +00:00
mycroft
cb07d61edf
Fix a fencepost error.
1994-07-14 20:58:28 +00:00