History log of /openbsd-src/sys/kern/sys_socket.c (Results 26 – 50 of 67)
Revision Date Author Comments
# e22141d5 19-Nov-2018 visa <visa@openbsd.org>

Utilize sigio with sockets.

OK mpi@


# 2bd648c0 20-Aug-2018 mpi <mpi@openbsd.org>

Reorder checks in the read/write(2) family of syscalls to prepare making
file operations mp-safe.

This change makes it clear that `f_offset' is only accessed in vn_read()
and vn_write(), which will

Reorder checks in the read/write(2) family of syscalls to prepare making
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@

show more ...


# 4a4dc3ea 30-Jul-2018 mpi <mpi@openbsd.org>

Use FNONBLOCK instead of SS_NBIO to check/indicate that the I/O mode
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

Use FNONBLOCK instead of SS_NBIO to check/indicate that the I/O mode
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@

show more ...


# 30cae0e1 10-Jul-2018 mpi <mpi@openbsd.org>

Move socket & pipe specific logic in their ioctl handler.

ok visa@, tb@


# 34bd5584 06-Jun-2018 mpi <mpi@openbsd.org>

Pass the socket to sounlock(), this prepare the terrain for per-socket
locking.

ok visa@, bluhm@


# 443bca73 26-Apr-2018 pirofti <pirofti@openbsd.org>

Remove solock() surrounding PRU_CONTROL in soo_ioctl().

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 mp

Remove solock() surrounding PRU_CONTROL in soo_ioctl().

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@.

show more ...


# e7e081a5 10-Apr-2018 mpi <mpi@openbsd.org>

Convert 'struct fileops' definitions to C99.

ok millert@, deraadt@, florian@


# 3bf371cf 10-Dec-2017 mpi <mpi@openbsd.org>

Move SB_SPLICE, SB_WAIT and SB_SEL to `sb_flags', serialized by solock().

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 a

Move SB_SPLICE, SB_WAIT and SB_SEL to `sb_flags', serialized by solock().

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@

show more ...


# b232ab76 14-Nov-2017 tb <tb@openbsd.org>

Push the NET_LOCK into ifioctl() and use the NET_RLOCK in ifioctl_get().
In particular, this allows SIOCGIF* requests to run in parallel.

lots of help & ok mpi, ok visa, sashan


# aa28b9a6 11-Aug-2017 mpi <mpi@openbsd.org>

Remove NET_LOCK()'s argument.

Tested by Hrvoje Popovski, ok bluhm@


# b7ae595a 24-Jul-2017 mpi <mpi@openbsd.org>

Grab the socket lock in soo_ioctl() where `so_state', `so_rcv'
and `so_snd' are modified.

ok bluhm@, visa@


# af41df57 20-Jul-2017 mpi <mpi@openbsd.org>

Extend the scope of the socket lock in soo_stat() to protect `so_state'
and `so_rcv'.

ok bluhm@, claudio@, visa@


# 45781617 22-Feb-2017 mpi <mpi@openbsd.org>

Do not grab the NET_LOCK() when poll(2)ing on unix domain sockets.

Fix the 'X freeze' while scanning with wireless interfaces. Problem
reported by pirofti@.

ok tb@, bluhm@


# 1f21cada 14-Feb-2017 mpi <mpi@openbsd.org>

Wrap the NET_LOCK() into a per-socket solock() that does nothing for
unix domain sockets.

This should prevent the multiple deadlock related to unix domain sockets.

Inputs from millert@ and bluhm@,

Wrap the NET_LOCK() into a per-socket solock() that does nothing for
unix domain sockets.

This should prevent the multiple deadlock related to unix domain sockets.

Inputs from millert@ and bluhm@, ok bluhm@

show more ...


# 872fc411 31-Jan-2017 mpi <mpi@openbsd.org>

Remove the inifioctl hack, checking for an unheld NET_LOCK() in
tsleep(9) & friends seem to only produce false positives and cannot
be easily disabled.


# 2201f625 25-Jan-2017 mpi <mpi@openbsd.org>

Introduce a hack to remove false-positives when looking for memory
allocation that can sleep while holding the NET_LOCK().

To be removed once we're confident the remaining code paths are safe.

Disc

Introduce a hack to remove false-positives when looking for memory
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@

show more ...


# 2b4720fc 19-Dec-2016 mpi <mpi@openbsd.org>

Introduce the NET_LOCK() a rwlock used to serialize accesses to the parts
of the network stack that are not yet ready to be executed in parallel or
where new sleeping points are not possible.

This f

Introduce the NET_LOCK() a rwlock used to serialize accesses to the parts
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@

show more ...


# 906cf29e 22-Nov-2016 mpi <mpi@openbsd.org>

Enforce that ifioctl() is called at IPL_SOFTNET.

This will allow us to keep locking simple as soon as we trade
splsoftnet() for a rwlock.

ok bluhm@


# a90c1397 21-Nov-2016 mpi <mpi@openbsd.org>

Kill rtioctl() stub, returning EOPNOTSUPP since tree import.

ok jsg@


# c0a948f7 21-Nov-2016 mpi <mpi@openbsd.org>

Enforce that pr_usrreq functions are called at IPL_SOFTNET.

This will allow us to keep locking simple as soon as we trade
splsoftnet() for a rwlock.

ok bluhm@, claudio@


# 7dc2a268 06-Oct-2016 bluhm <bluhm@openbsd.org>

Separate splsoftnet() from variable initialization.
From mpi@'s netlock diff; OK mikeb@


# 52dd740a 05-Dec-2015 tedu <tedu@openbsd.org>

remove stale lint annotations


# 64a3f76c 13-May-2015 jsg <jsg@openbsd.org>

test mbuf pointers against NULL not 0
ok krw@ miod@


# b67858fa 13-Jul-2014 tedu <tedu@openbsd.org>

bzero -> memset. for the speeds.


# d559b8cb 30-Mar-2014 guenther <guenther@openbsd.org>

Eliminates struct pcred by moving the real and saved ugids into
struct ucred; struct process then directly links to the ucred

Based on a discussion at c2k10 or so before noting that FreeBSD and
NetB

Eliminates struct pcred by moving the real and saved ugids into
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@

show more ...


123