summaryrefslogtreecommitdiff
path: root/sys/kern/sys_generic.c
AgeCommit message (Collapse)Author
2002-08-12Missing FRELE() call on writev(2) error condition; art@ ok.Aaron Campbell
2002-08-11SCARG cleanup; okay millert@Niels Provos
2002-03-14First round of __P removal in sysTodd C. Miller
2002-03-13On sparc, PAGE_SIZE and friends might not be a compile-time constant.Miod Vallat
Instead of using a homegrown set of variables in this case, rely on uvmexp fields once uvm has been initialized. This requires a few #include <uvm/uvm_extern.h> here and there in the kernel as well. Idea from art@, changes by me.
2002-02-13More FREF/FRELE on relevant places. Now, only sys_mmap and a bunch of ioctl ↵Artur Grabowski
functions in sys/compat are left.
2002-02-08Require a FREFd file in dofilewrite{,v}.Artur Grabowski
2002-02-08require a FREFd fp in dofilereadv. Fix some comments.Artur Grabowski
2002-02-08- Rename FILE_{,UN}USE to FREF and FRELE. USE is a bad verb and we don't haveArtur Grabowski
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)).
2002-02-05Add counting of temporary references to a struct file (as opposed to referencesArtur Grabowski
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.
2002-02-02Be more consistent about using fd_getfile where it matters.Artur Grabowski
2001-11-14in poll, if fd is < 0, clear revents; bjy@mogua.orgTheo de Raadt
2001-10-26 - every new fd created by falloc() is marked as larval and should not be usedArtur Grabowski
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.
2001-05-16No need to check M_WAIT/M_WAITOK malloc return values. (art@ ok)Hakan Olsson
2000-11-10Change the ktrace interface functions from taking the trace vnode to taking theArtur Grabowski
traced proc. The vnode is in the proc and all functions need the proc.
2000-09-27replace MALLOC/FREE w/ malloc/free for non-constant-sized memory ↵Michael Shalayeff
allocations; art@ ok
2000-07-07Isn't code sharing great?Artur Grabowski
poll had the same timeout problem as select.
2000-07-07When select is awakened by a select collission, we need to recalculateArtur Grabowski
the timeout.
2000-04-20p{read,write}{,v} from csapuntz, partial NetBSD origin I thinkTheo de Raadt
2000-04-19Change struct file interface methods read and write to pass file offset inConstantine Sapuntzakis
and out. Make pread/pwrite in netbsd & linux thread safe - which is the whole point anyway.
1999-11-29revents already cleared; dTheo de Raadt
1999-11-29handle invalid file descriptors in poll more carefully; dTheo de Raadt
1999-08-04optimize poll() for small nfds, by avoiding mallocTheo de Raadt
1999-05-24correct return value of poll(); noted by d@Theo de Raadt
1999-03-22in poll(), constrain nfds better, to avoid kvm starvation; alexTheo de Raadt
1999-02-14Use IOV_MAX, not the deprecated UIO_MAXIOVTodd C. Miller
1999-02-14readv/writev with iov_len == 0 is legal (was already ok in uipc_syscalls.c).Todd C. Miller
Make the check more readable by comparing against SSIZE_MAX instead of checking for wraparound. This is safe because SSIZE_MAX * 2 <= SIZE_T_MAX. Fixes recno problems in the db routines exposed by a perl test.
1998-07-28writev takes an int as param #3; theoTodd C. Miller
1998-07-28For read, write, send, sendto, recv, recvfrom return EINVAL is size arg > ↵Todd C. Miller
SSIZE_MAX. For readv, writev, sendmsg, recvmsg return EINVAL if sum of the over iov_len values overflows an ssize_t. Based on what XPG 4.2 says (though XPG is not entirely consistent here). Basically since the return value is ssize_t allowing size > SSIZE_MAX is bad since people who (incorrectly mind you) check the return value for < 0 instead of == -1 will have bad things happen to them.
1998-07-28Return EINVAL when msg_iovlen or iovcnt <= 0; Make uio_resid unsigned ↵Todd C. Miller
(size_t) and don't return EINVAL if it is < 0 in sys_{read,write}. Remove check for uio_resid < 0 uiomove() now that uio_resid is unsigned and brack remaining panics with #ifdef DIAGNOSTIC. vn_rdwr() must now take a size_t * as its 9th argument so change that and clean up uses of vn_rdwr(). Fixes 549 + more
1998-02-09More missing type changes; pointed out by deraadt@OpenBSD.orgThorsten Lockert
1997-11-06Updates for VFS Lite 2 + soft update.Constantine Sapuntzakis
1997-10-06back out vfs lite2 till after 2.2Theo de Raadt
1997-10-06VFS Lite2 ChangesConstantine Sapuntzakis
1997-08-31for non-tty TIOCSPGRP/F_SETOWN/FIOSETOWN pgid setting calls, store uidTheo de Raadt
and euid as well, then deliver them using new csignal() interface which ensures that pgid setting process is permitted to signal the pgid process(es). Thanks to newsham@aloha.net for extensive help and discussion.
1997-01-27select subsystem si_pid becomes si_selpid, to not conflict against ↵Theo de Raadt
user/kernel siginfo si_pid #define
1996-10-12i added a fair bit to thisTheo de Raadt
1996-05-18poll() as a system callTheo de Raadt
1996-05-07if nfds > FD_SETSIZE, allocate room for the bitmasks inside the kernel; alsoTheo de Raadt
selscan() now understands that it may possible be passed home-grown fd_set's larger than FD_SETSIZE.
1996-04-21partial sync with netbsd 960418, more to comeTheo de Raadt
1996-03-03From NetBSD: 960217 mergeNiklas Hallqvist
1995-10-18initial import of NetBSD treeTheo de Raadt