OpenBSD cvs log

created 2022-04-05T08:46:45Z
begin 2022-03-28T00:00:00Z
end 2022-03-29T00:00:00Z
path src/sys
commits 4

date 2022-03-28T00:22:20Z
author dv
files src/sys/arch/amd64/amd64/vmm.c log diff annotate
message vmm(4): add quiesce/wakeup hooks to sync vcpu state.

If a host suspends or hibernates, a task in the middle of using
vcpu state may be rescheduled to another cpu. This is primarily a
problem for Intel hosts as vcpu state is kept local to the physical
cpu and must be flushed back to physical memory before another cpu
can issue certain vmx instructions.

This change ensures no tasks are actively using the vmm device,
flushes all vcpu state (if Intel hardware), and turns off virtualization
mode on the host cpus. Upon wakeup, we reverse the process.

Reported on bugs@ by mpi@. OK mlarkin@

date 2022-03-28T06:28:47Z
author tb
files src/sys/arch/amd64/amd64/vmm.c log diff annotate
message Put call to vmx_remote_vmclear() under #ifdef MULTIPROCESSOR
to unbreak build of amd64 GENERIC

makes sense to jsing

date 2022-03-28T15:47:11Z
author krw
files src/sys/scsi/scsiconf.c log diff annotate
message Only SLIST_REMOVE() a link when the link is on the list.

Avoids a potential panic.

date 2022-03-28T16:31:26Z
author bluhm
files src/sys/netinet/igmp.c log diff annotate
src/sys/netinet/igmp_var.h log diff annotate
src/sys/netinet/in.c log diff annotate
message if_detach() does if_remove(ifp); NET_LOCK(); rti_delete(). New
igmp groups may join while sleeping in interface destruction. In
this case if_get() in igmp_joingroup() fails and rti_fill() is not
called. Then inm->inm_rti may be NULL. This is the condition when
syzkaller crashes in igmp_leavegroup().
Pass the ifp the current CPU is already holding down to igmp_joingroup()
and igmp_leavegroup() to avoid half constructed igmp groups. Calling
if_get() in caller and callee makes no sense anyway.
Reported-by: [email protected]
OK denis@