Age | Commit message (Collapse) | Author |
|
These are the files that were ok:ed and tested.
|
|
- cache_lookup
move common code from various fs's here
always return with vnode and parent locked
adjust return codes
- PDIRUNLOCK - new flag set if lookup couldn't lock parent vnode
- kernfs and procfs
lock vnode in get_root
don't unlock (again) in kernfs_freevp
fix memory leak in procfs
From tedu@stanford.edu
deraadt@ and various other ok
|
|
The inheritace is implemented by setting the default vnodeop to a
bypass op that repeats the operation on the spec/fifo vnodeop vector.
The overhead of one extra indirect function call is worth the cleanup
and improved correctness.
This actually solves a few bugs where some vnode ops were missing from
some vectors (like kqfilter or revoke). (and even more on the ubc
branch).
Inspired by the same thing done in FreeBSD.
|
|
--
From: Jean-Francois Brousseau <krapht@secureops.com>
|
|
Last bits of diff generated by Chris Kuethe.
|
|
with not refing it.
Eyeballed by lurene@daemonkitty.net, fries@, nordin@ and fries@
Some additional cleanups by nordin@
|
|
on the returned file, do the FREF inside getvnode so that people can't
get away with avoiding FREF and FRELE.
Eyeballed by various people.
|
|
|
|
|
|
|
|
|
|
|
|
so that this compiles with option DIAGNOSTIC; fixes PR #2528
ok fgsch@
|
|
they are and declarre 'em accordingly also removing private externies of those
|
|
|
|
|
|
your kernel configuration file.
By default, GENERIC will enable this.
When PTRACE is not enabled, several ptrace-like features of the procfs
filesystem will be disabled as well (namely, the ability to read and write
any process' registers, as well as attching, single stepping and detaching
to/from processes).
This should help paranoid people build better sandboxens, and us to build
smaller ramdisks.
|
|
They still stay in MD code for backwards compatibility, but a check in
ptrace.h checks if they are defined.
Note - the same thing will be done with PT_{GET,SET}FPREGS once vax implements
them and with PT_STEP when it's implemented by sparc, sparc64 and alpha.
|
|
physmem and usermem correctly.
kernel/2404 from peterw@ifost.org.au with some small fixups from me.
|
|
functions in sys/compat are left.
|
|
|
|
|
|
the same semantics as NetBSD anyway, so it's good to avoid name collissions.
- Always fdremove before freeing the file, not the other way around.
- falloc FREFs the file.
- have FILE_SET_MATURE FRELE the file (It feels like a good ortogonality to
falloc FREFing the file).
- Use closef as much as possible instead of ffree in error paths of
falloc:ing functions. closef is much more careful with the fd and can
deal with the fd being forcibly closed by dup2. Also try to avoid
manually calling *fo_close when closef can do that for us (this makes
some error paths mroe complicated (sys_socketpair and sys_pipe), but
others become simpler (sys_open)).
|
|
from fd tables and other long-lived objects). This is to avoid races between
using a file descriptor and having another process (with shared fd table)
close it. We use a separate refence count so that error values from close(2)
will be correctly returned to the caller of close(2).
The macros for those reference counts are FILE_USE(fp) and FILE_UNUSE(fp).
Make sure that the cases where closef can be called "incorrectly" (most notably
dup2(2)) are handled.
Right now only callers of closef (and {,p}read) use FILE_{,UN}USE correctly,
more fixes incoming soon.
|
|
|
|
|
|
|
|
and procfs (and possibly more places in the future) and simply refuse to
fiddle with the execing process. This is an ugly hack, but this far we
haven't been successful in creating a race-free exec.
|
|
machines or some configurations or in some phase of the moon (we actually
don't know when or why) files disappeared. Since we've not been able to
track down the problem in two weeks intense debugging and we need -current
to be stable, back out everything to a state it had before UBC.
We apologise for the inconvenience.
|
|
|
|
- get rid of VOP_BALLOCN and VOP_SIZE
- move the generic getpages and putpages into miscfs/genfs
- create a genfs_node which must be added to the top of the private portion
of each vnode for filsystems that want to use genfs_{get,put}pages
- rename genfs_mmap to vop_generic_mmap
|
|
the filesystem if we're allowed to mmap the file.
|
|
|
|
|
|
|
|
(Look ma, I might have broken the tree)
|
|
|
|
any anyone. Every caller of falloc matures the fd when it's usable.
- Since every lookup in the fd table must now check this flag and all of
them do the same thing, move all the necessary checks into a function -
fd_getfile.
|
|
|
|
kernel. From based on NetBSD patches.
|
|
|
|
|
|
refed, so that the caller can actually use it. update callers and
file systems that implement these vnode operations
ok'd by art
|
|
|
|
|
|
|
|
How this could have ever worked without this is beyond me.
|
|
- getattr now uses fo_stat from fileops to obtain information about the fd
and translates it back to vattr.
- setattr now uses getvnode to the get vnode from the fd and obeys
MNT_RDONLY flag.
- Do proper locking on setattr.
- Don't allow setattr on directories because of possible deadlocks.
|
|
|
|
|