OpenBSD cvs log

created 2025-02-09T03:13:56Z
begin 2025-02-05T00:00:00Z
end 2025-02-06T00:00:00Z
path src/sys
commits 6

date 2025-02-05T08:28:25Z
author mvs
files src/sys/kern/uipc_socket.c log diff annotate
message Rework filt_sor{modify,process}().

Split them by filt_sor*() and filt_soe*() functions for `soread_filtops'
and `soexcept_filtops' respectively. The filt_soexcept() path is like
filt_sowrite() and the `sb_mtx' serialization is pretty enough, but
filt_soread() is more complicated for the connection oriented sockets.
It is not yet clean is the concurrent SO_ACCEPTCONN transition safe for
select(2) and poll(2), so keep socket lock together with `sb_mtx' lock
for that case.

Get rid of sofilt_*lock() functions. They were temporary made to take
`sb_mtx' mutex with shared netlock for inet sockets case or with socket
lock for other cases. Now shared netlock is not enough and should be
taken together with `so_lock' rwlock. We have special solock_shared()
function for that purpose, so use it directly in corresponding
filt_sor*() handlers.

Tested by bluhm, additional arm64 tests by kirill.

ok kirill bluhm

date 2025-02-05T09:28:01Z
author stsp
files src/sys/dev/ic/qwx.c log diff annotate
message restrict scanned channels appropriately if qwx(4) runs in a fixed phy mode

Previously, ifconfig mode commands had no useful effect. The device would
connect to 2GHz APs while configured to run in 11a mode, and vice-versa.

tests & ok kevlo@ patrick@

date 2025-02-05T10:15:10Z
author bluhm
files src/sys/netinet/in_pcb.c log diff annotate
message Fix race in inpcb mutex to socket lock conversion.

Testing parallel TCP input revealed a race in in_pcbsolock_ref().
The mutex inp_sofree_mtx is used to reliably get the socket from
the incpb and refcount it. Then the socket lock is used to prevent
further calls to in_pcbdetach() or sofree(). But between releasing
the inpcb mutex and acquiring the socket lock, the inpcb could
detach. So when holding the socket lock reassure that the inpcb
is still associated by the socket. Otherwise locking the socket
belonging to the inpcb has failed.

OK mvs@

date 2025-02-05T11:03:36Z
author kettenis
files src/sys/dev/acpi/acpitz.c log diff annotate
message Cleanup error reporting in the case the temperature can't be read. There
really is no point calling acpitz_gettempreading() immediately again as it
already retries reading the temperature a few times. Also fixup the way
newlines are printed such that they show up at the right point.

ok miod@

date 2025-02-05T12:21:27Z
author claudio
files src/sys/kern/kern_sig.c log diff annotate
src/sys/kern/kern_synch.c log diff annotate
src/sys/sys/proc.h log diff annotate
message Rename single_thread_check() to proc_suspend_check() since this function
will be used to suspend threads both for single thread and SIGSTOP handling.
OK mpi@

date 2025-02-05T18:29:17Z
author mvs
files src/sys/kern/kern_malloc.c log diff annotate
src/sys/net/bpf.c log diff annotate
src/sys/sys/malloc.h log diff annotate
message Limit net.bpf.maxbufsize sysctl(8) to a value that malloc(9) can handle.
Introduce MALLOC_MAX definition to keep this value in sync and use it
system wide.

Reported-by: [email protected]

ok claudio bluhm