OpenBSD cvs log

created 2021-12-04T21:31:56Z
begin 2021-11-29T00:00:00Z
end 2021-11-30T00:00:00Z
path src/sys
commits 7

date 2021-11-29T01:04:45Z
author djm
files src/sys/crypto/blf.c log diff annotate
src/sys/crypto/blf.h log diff annotate
src/sys/lib/libsa/blowfish.c log diff annotate
src/sys/lib/libsa/blowfish.h log diff annotate
message Niels agreed to remove the advertising clause; switching these
to 3-term BSD license.

date 2021-11-29T15:39:59Z
author bluhm
files src/sys/net/pfkeyv2.c log diff annotate
src/sys/netinet/ip_ipsp.c log diff annotate
message Using a void pointer for temporary allocated TDB in pfkeyv2 does
not make sense. Do not use the freeme pointer for TDB in pfkeyv2_send().
The pattern is tdb_alloc() and tdb_unref() in case of error. Replace
tdb_free() in reserve_spi() with tdb_unref() to keep this consistent.
Only tdb_unref() should call tdb_free().
OK mvs@

date 2021-11-29T15:54:04Z
author visa
files src/sys/kern/kern_event.c log diff annotate
src/sys/sys/event.h log diff annotate
message kqueue: Revise badfd knote handling

When closing a file descriptor and converting the poll/select knotes
into badfd knotes, keep the knotes attached to the by-fd table. This
should prevent kqueue_purge() from returning before the kqueue has
become quiescent. This in turn should fix a
KASSERT(TAILQ_EMPTY(&kq->kq_head)) panic in KQRELE() that bluhm@ has
reported.

The badfd conversion is only needed when a poll/select scan is ongoing.
The system can skip the conversion if the knote is not part of the
active event set.

The code of this commit skips the conversion when the fd is closed by
the same thread that has done the fd polling. This can be improved but
should already cover typical fd usage patterns.

As badfd knotes now hold slots in the by-fd table, kqueue_register()
clears them. poll/select use kqueue_register() to set up a new scan;
any found fd close notification is a leftover from the previous scan.

The new badfd handling should be free of accidental knote accumulation.
This obsoletes kqpoll_dequeue() and lowers kqpoll_init() overhead.

Re-enable lazy removal of poll/select knotes because the panic should
no longer happen.

OK mpi@

date 2021-11-29T15:55:36Z
author dv
files src/sys/arch/amd64/amd64/vmm.c log diff annotate
message vmm(4): bump remote vmclear spinout ticks

Older/slower hosts could easily hit the cap under load. Set it to
the same value we use in mplock_debug.

ok mlarkin@

date 2021-11-29T16:30:30Z
author mvs
files src/sys/kern/syscalls.master log diff annotate
message Unlock accept(2) and accept4(2) syscalls. Unlock them both because they
follow the same code path.

ok bluhm@

date 2021-11-29T16:31:43Z
author mvs
files src/sys/kern/init_sysent.c log diff annotate
src/sys/kern/syscalls.c log diff annotate
src/sys/sys/syscall.h log diff annotate
src/sys/sys/syscallargs.h log diff annotate
message regen

date 2021-11-29T19:19:00Z
author bluhm
files src/sys/netinet/ip_ipsp.c log diff annotate
message The network stack currently uses IPL_SOFTNET. Consistently initialize
the TDB sadb mutex with that. The old IPL_NET was chosen by accident.
OK mpi@