OpenBSD cvs log

created 2021-10-16T15:27:58Z
begin 2021-10-12T00:00:00Z
end 2021-10-13T00:00:00Z
path src/sys
commits 9

date 2021-10-12T07:37:42Z
author mpi
files src/sys/uvm/uvm_vnode.c log diff annotate
src/sys/uvm/uvm_vnode.h log diff annotate
message Revert the fix for the deadlock between uvn_io() and uvn_flush().

This fix (ab)use the vnode lock to serialize access to some fields of
the corresponding pages associated with UVM vnode object and this will
create new deadlocks with the introduction of a per-uobj lock.

ok anton@

date 2021-10-12T07:38:22Z
author mpi
files src/sys/uvm/uvm_fault.c log diff annotate
src/sys/uvm/uvm_pager.h log diff annotate
src/sys/uvm/uvm_vnode.c log diff annotate
message Fix the deadlock between uvn_io() and uvn_flush() by restarting the fault.

Do not allow a faulting thread to sleep on a contended vnode lock to prevent
lock ordering issues with upcoming per-uobj lock.

Also reduce the sleep value for VM_PAGER_AGAIN from 1sec to 5nsec to not add
visible slowdown when starting a multi-threaded application with threads that
fault on the same vnode (chromium, firefox, etc).

Tested by anton@, tb@, robert@ and gnezdo@

ok anton@, tb@

Reported-by: syzbot+e63407b35dff08dbee02@syzkaller.appspotmail.com

date 2021-10-12T10:44:33Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
message Remove code which was needed to support old firmware images from iwx(4).

Tested with cc-a0-63 and QuZ-a0-hr-b0-63 firmware by myself.
Tested with Qu-c0-hr-b0-63 firmware by Fredrik Engberg.

date 2021-10-12T10:45:21Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
message Explicitly stop iwx(4) Rx block ack when roaming between access points.

This is similar to a recent fix committed to iwm(4).
Unlike iwm(4) we do not need to disable Tx aggregation queues in iwx(4).
Attempting to do so would cause fatal firmware errors.

Tested by jmc@ and myself.

date 2021-10-12T10:46:57Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
src/sys/dev/pci/if_iwxvar.h log diff annotate
message Make our old BSSID available to iwx_newstate_task() when roaming.

ic_bss->ni_bssid has already been overwritten once we enter
iwx_newstate_task() to perform the state transitions necessary
for roaming to our new access point (RUN->AUTH->ASSOC->RUN).

We do however use the BSSID in commands sent to firmware.
Cache our BSSID in struct iwx_node such that firmware commands
keep using the old BSSID while we are still tearing things down.
Switch to the new BSSID only once we start back up in iwx_auth().
This should be consistent from the firmware's point of view.

Same fix as committed for iwm(4) recently.

date 2021-10-12T11:20:32Z
author landry
files src/sys/dev/pci/if_iwm.c log diff annotate
message iwm(4): revert to use firmware v17 on Intel AC 7265.

fixes instability issues seen on X1 carbon gen3 (hw rev 0x210) by
anton@, mpi@ and myself.
diff from stsp@
ok mpi@ stsp@

date 2021-10-12T18:06:15Z
author kettenis
files src/sys/arch/powerpc64/include/pmap.h log diff annotate
src/sys/arch/powerpc64/powerpc64/pmap.c log diff annotate
message Add (minimal) accounting for wired pages in userland pmaps.
This enables enforcing of RLIMIT_MEMLOCK on powerpc64.

ok mpi@

date 2021-10-12T18:16:51Z
author kettenis
files src/sys/uvm/uvm_object.c log diff annotate
src/sys/uvm/uvm_object.h log diff annotate
message Introduce a dummy uvm_obj_destroy() interface. This function will be
used in the near future (by mpi@) to improve the locking for uvm objects.
Introducing this function now will me allow me to call it in the
appropriate place in the drm code.

ok mpi@, jsg@

date 2021-10-12T18:22:04Z
author kettenis
files src/sys/dev/pci/drm/drm_gem.c log diff annotate
src/sys/dev/pci/drm/ttm/ttm_bo_vm.c log diff annotate
message Remove misleading uvm reference counting that isn't actually used.
Make sure uvm_obj_init() is only called once. Call uvm_obj_destroy()
when we release the GEM object that wraps an uvm object for which we
called uvm_obj_init().

ok mpi@, jsg@