| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
ok kettenis@ mpi@ visa@
|
|
|
|
|
|
|
|
|
|
|
|
| |
FIOGETOWN/SIOCGPGRP/TIOCGPGRP. Do this by determining the meaning of
the ID parameter inside the sigio code. Also add cases for FIOSETOWN
and FIOGETOWN where there have been TIOCSPGRP and TIOCGPGRP before.
These changes allow removing the ID translation from sys_fcntl() and
sys_ioctl().
Idea from NetBSD
OK mpi@, claudio@
|
|
|
|
| |
OK anton@, mpi@, bluhm@
|
|
|
|
| |
OK mpi@
|
|
|
|
|
|
|
|
|
|
|
|
| |
file operations mp-safe.
This change makes it clear that `f_offset' is only accessed in vn_read()
and vn_write(), which will help taking it out of the KERNEL_LOCK().
This refactoring uncovered a race in vn_read() which is now documented
and will be addressed in a later diff.
ok visa@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for sockets is non-blocking.
This allows us to G/C SS_NBIO. Having to keep the two flags in sync
in a mp-safe way is complicated.
This change introduce a behavior change in sosplice(), it can now
always block. However this should not matter much due to the socket
lock being taken beforhand.
ok bluhm@, benno@, visa@
|
|
|
|
| |
ok visa@, tb@
|
|
|
|
|
|
| |
locking.
ok visa@, bluhm@
|
|
|
|
|
|
|
|
|
| |
We do not need the lock there.
Missed this in my former commit pushing NET_LOCK() down the stack.
Found the hard way by naddy@, sorry!
OK mpi@.
|
|
|
|
| |
ok millert@, deraadt@, florian@
|
|
|
|
|
|
|
|
|
|
|
| |
SB_KNOTE remains the only bit set on `sb_flagsintr' as it is set/unset in
contexts related to kqueue(2) where we'd like to avoid grabbing solock().
While here add some KERNEL_LOCK()/UNLOCK() dances around selwakeup() and
csignal() to mark which remaining functions need to be addressed in the
socket layer.
ok visa@, bluhm@
|
|
|
|
|
|
| |
In particular, this allows SIOCGIF* requests to run in parallel.
lots of help & ok mpi, ok visa, sashan
|
|
|
|
| |
Tested by Hrvoje Popovski, ok bluhm@
|
|
|
|
|
|
| |
and `so_snd' are modified.
ok bluhm@, visa@
|
|
|
|
|
|
| |
and `so_rcv'.
ok bluhm@, claudio@, visa@
|
|
|
|
|
|
|
| |
Fix the 'X freeze' while scanning with wireless interfaces. Problem
reported by pirofti@.
ok tb@, bluhm@
|
|
|
|
|
|
|
|
| |
unix domain sockets.
This should prevent the multiple deadlock related to unix domain sockets.
Inputs from millert@ and bluhm@, ok bluhm@
|
|
|
|
|
| |
tsleep(9) & friends seem to only produce false positives and cannot
be easily disabled.
|
|
|
|
|
|
|
|
| |
allocation that can sleep while holding the NET_LOCK().
To be removed once we're confident the remaining code paths are safe.
Discussed with deraadt@
|
|
|
|
|
|
|
|
|
|
|
| |
of the network stack that are not yet ready to be executed in parallel or
where new sleeping points are not possible.
This first pass replace all the entry points leading to ip_output(). This
is done to not introduce new sleeping points when trying to acquire ART's
write lock, needed when a new L2 entry is created via the RT_RESOLVE.
Inputs from and ok bluhm@, ok dlg@
|
|
|
|
|
|
|
| |
This will allow us to keep locking simple as soon as we trade
splsoftnet() for a rwlock.
ok bluhm@
|
|
|
|
| |
ok jsg@
|
|
|
|
|
|
|
| |
This will allow us to keep locking simple as soon as we trade
splsoftnet() for a rwlock.
ok bluhm@, claudio@
|
|
|
|
| |
From mpi@'s netlock diff; OK mikeb@
|
| |
|
|
|
|
| |
ok krw@ miod@
|
| |
|
|
|
|
|
|
|
|
|
| |
struct ucred; struct process then directly links to the ucred
Based on a discussion at c2k10 or so before noting that FreeBSD and
NetBSD did this too.
ok matthew@
|
|
|
|
|
| |
behavior of socketpair(2) match that of pipe(2) when the other end
is closed. OK guenther@
|
| |
|
|
|
|
|
|
|
|
| |
as |= and &= are non-atomic operations. To avoid additional locks,
put the flags that have to be accessed from interrupt into a separate
sb_flagsintr 32 bit integer field. sb_flagsintr is protected by
splsoftnet.
Input from miod@ deraadt@; OK deraadt@
|
|
|
|
| |
the receiving side when passing fd's. ok deraadt@ kettenis@
|
|
|
|
|
|
| |
and should return stat information instead of EINVAL from deep in the
guts of tcp_usrreq. While there, put some more information into struct
stat, inspired by FreeBSD. EINVAL problem reported in PR 5943
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
get hung in nfs_reconnect() because they do not have the proper
privilages to bind to a socket, by adding a struct proc * argument
to sobind() (and the *_usrreq() routines, and finally in{6}_pcbbind)
and do the sobind() with proc0 in nfs_connect.
OK markus@, blambert@.
"go ahead" deraadt@.
Fixes an issue reported by bernd@ (Tested by bernd@).
Fixes PR5135 too.
|
|
|
|
|
|
| |
by adding a sb_datacc count to sockbuf that counts data excluding
MT_CONTROL and MT_SONAME mbuf types. w/help from deraadt@.
okay deraadt@ claudio@
|
| |
|
|
|
|
|
|
|
| |
now call the poll backend. With this change we implement greater
poll(2) functionality instead of emulating it via the select backend.
Adapted from NetBSD and including some changes from FreeBSD.
Tested by many, deraadt@ OK
|
|
|
|
| |
rescinded 22 July 1999. Proofed by myself and Theo.
|
|
|
|
| |
Also add a stat function for kqueue from FreeBSD.
|
| |
|
|
|
|
|
|
|
| |
okay deraadt@, millert@
from jlemon@freebsd.org:
extend kqueue down to the device layer, backwards compatible approach
suggested by peter@freebsd.org
|
|
|
|
|
|
|
| |
and out.
Make pread/pwrite in netbsd & linux thread safe - which is the whole point
anyway.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|