OpenBSD cvs log

created 2020-02-15T21:34:28Z
begin 2020-02-14T00:00:00Z
end 2020-02-15T00:00:00Z
path src/sys
commits 7

date 2020-02-14T11:57:56Z
author claudio
files src/sys/kern/vfs_vops.c log diff annotate
message The v_inflight counter was added to mark vnodes that currently do an operation
that modifies the filesystem as inflight. This is used in the sync calls (on
suspend and hibernate) to mark filesystems clean if no work is in flight.
VOP_UNLOCK() also got the v_inflight dance but VOP_UNLOCK does not alter
filesystem space and so it does not matter if VOP_UNLOCK() is currently run.
Also VOP_UNLOCK() does not sleep so there is no way for the sync code to see
an inflight VOP_UNLOCK().
OK visa@

date 2020-02-14T14:32:44Z
author mpi
files src/sys/kern/kern_sig.c log diff annotate
src/sys/kern/sys_generic.c log diff annotate
src/sys/kern/sys_pipe.c log diff annotate
src/sys/kern/uipc_socket.c log diff annotate
src/sys/kern/uipc_socket2.c log diff annotate
src/sys/net/bpf.c log diff annotate
src/sys/net/if_tun.c log diff annotate
message Push the KERNEL_LOCK() insidge pgsigio() and selwakeup().

The 3 subsystems: signal, poll/select and kqueue can now be addressed

Note that bpf(4) and audio(4) currently delay the wakeups to a separate
context in order to respect the KERNEL_LOCK() requirement. Sockets (UDP,
TCP) and pipes spin to grab the lock for the sames reasons.

ok anton@, visa@

date 2020-02-14T14:55:30Z
author mpi
files src/sys/dev/usb/uthum.c log diff annotate
message Prevent buffer overflows by not assuming the report length, given by
the hardware, is necessarily smaller than the length of the on-stack

Original fix from Maxime Villard in NetBSD via deraadt@.

Tested by matthieu@

date 2020-02-14T15:56:47Z
author krw
files src/sys/dev/ic/aac.c log diff annotate
src/sys/dev/pci/ips.c log diff annotate
src/sys/dev/pv/vioblk.c log diff annotate
src/sys/dev/pv/vioscsi.c log diff annotate
message IPS_MAXFER, NAX_XFER, and MAXBSIZE are all defined
as (64 * 1024). Reduce confusion by using
MAXPHYS (a.k.a. (64 * 1024)) as other drivers

date 2020-02-14T16:50:25Z
author visa
files src/sys/kern/kern_event.c log diff annotate
src/sys/sys/eventvar.h log diff annotate
message Defer chained activation of kqueues. This makes easier to introduce new
locks. The deferring also prevents kernel stack exhaustion with deep
kqueue hierarchies.

OK anton@, mpi@

date 2020-02-14T17:03:42Z
author claudio
files src/sys/ufs/mfs/mfs_vfsops.c log diff annotate
message Call CURSIG() only once and pass that signal to the check in dounmount()
and to CLRSIG.
OK mpi@ visa@

date 2020-02-14T18:37:03Z
author krw
files src/sys/dev/ic/ncr53c9x.c log diff annotate
src/sys/dev/ic/oosiop.c log diff annotate
src/sys/dev/ic/osiop.c log diff annotate
src/sys/dev/ic/siop.c log diff annotate
src/sys/dev/pci/ips.c log diff annotate
message Let's all agree to call our scsi_adapter variable '<dev>_switch'.