OpenBSD cvs log

created 2018-12-30T10:57:47Z
begin 2018-12-12T00:00:00Z
end 2018-12-13T00:00:00Z
path src/sys
commits 5

date 2018-12-12T05:38:26Z
author dlg
files src/sys/net/if_ethersubr.c log diff annotate
message allow ethernet interfaces to provide a custom if_output routine.

this will be mostly useful for virtual interfaces like vlan and
etherip, where they can bypass queueing on an ifq, and instead
encapsulate in on multiple cpus concurrently and push the packet
onto the next layer directly.

ok visa@

date 2018-12-12T07:29:38Z
author anton
files src/sys/dev/kcov.c log diff annotate
message Make kcov MP-safe. Calling the injected tracing function
__sanitizer_cov_trace_pc() early in the boot process caused a subtle
crash while booting the secondary CPU(s). On amd64, accessing curcpu
during this period is not safe since its GSBASE register is yet not
written. After the CPU has been booted curproc can also be NULL for a
brief period of time before the idle thread tied to the same CPU has
started. The two problems can simply be avoided by postponing access to
curcpu and curproc until /dev/kcov has been opened at least once.

The end goal here is to allow fuzzing of MP kernels, which already is in
full swing.

This work has gone through many iterations before settling on the least
intrusive change; many thanks for visa@ for reviewing and providing
valuable input.

Issue originally reported by Greg Steuck on tech@ who also took the time
to test all iterations and providing me access to a virtualised OpenBSD
machine for easier testing.

ok mpi@ visa@

date 2018-12-12T14:15:00Z
author mpi
files src/sys/kern/sysv_sem.c log diff annotate
message free(9) sizes for SVID semaphores.

ok bluhm@, visa@

date 2018-12-12T14:15:35Z
author mpi
files src/sys/kern/sysv_shm.c log diff annotate
message free(9) sizes for sysv shm.

ok bluhm@, visa@

date 2018-12-12T14:19:15Z
author mpi
files src/sys/net/bridgectl.c log diff annotate
src/sys/net/if_bridge.c log diff annotate
message Various cleanups:

- Unify the two hooks by passing the same argument
- Check for nullity before dereferencing `if_bridgeport', this will
matter when we go MP
- Use the same pattern to find a member in the ioctl path

ok bluhm@, visa@