OpenBSD cvs log

created 2024-06-04T16:44:42Z
begin 2024-05-28T00:00:00Z
end 2024-05-29T00:00:00Z
path src/sys
commits 16

date 2024-05-28T00:24:44Z
author jsg
files src/sys/dev/ic/nvme.c log diff annotate
message avoid uninitialised var use when scsi_get_link() returns NULL
found by smatch, ok krw@

date 2024-05-28T01:37:53Z
author jsg
files src/sys/dev/ic/ahci.c log diff annotate
message Move ccb access before ccb_done to avoid a potential use-after-free
if pages can be freed from interrupt context. ok dlg@

date 2024-05-28T05:46:32Z
author jsg
files src/sys/dev/isa/addcom_isa.c log diff annotate
src/sys/dev/isa/boca.c log diff annotate
src/sys/dev/isa/hsq.c log diff annotate
message use ansi style function decls to fix build with clang

date 2024-05-28T08:34:52Z
author stsp
files src/sys/dev/ic/qwx.c log diff annotate
src/sys/dev/ic/qwxvar.h log diff annotate
src/sys/dev/pci/if_qwx_pci.c log diff annotate
message Make qwx(4) offload TKIP and CCMP crypto to hardware.

This reduces CPU load during interrupts, but more importantly works
around an apparent firmware bug where incoming encrypted broadcast
and multicast frames are dropped by firmware if the hardware crypto
engine is unused. (This problem also affects Linux ath11k upstream.)
Offloading CCMP to hardware hence fixes ARP and IPv6 multicast with WPA2.

However, there are known issues with WPA1 and WEP:

While the WPA1 pairwise handshake succeeds, the TKIP group key handshake
fails for unknown reasons, resulting in association failure.

WEP is broken because software crypto is skipped entirely when the driver
uses the "native wifi" frame mode. This results in all packets being sent
in plaintext while WEP is active. In the future, we should be able to fix
this by offloading WEP to hardware as well, or by setting the frame mode
back to "raw" if WEP is used.

If the TKIP/WEP issues affect you badly then take this as an opportunity
to upgrade the access point to WPA2/AES where possible.

Tested by kettenis, kevlo, and myself.
ok kevlo@

date 2024-05-28T09:07:32Z
author stsp
files src/sys/dev/pci/if_qwx_pci.c log diff annotate
message Try to reset qwx(4) devices when firmware crashes and move firmware memory
dumping code into QWX_DEBUG because it is only needed by developers.

Spotted by jsg@

date 2024-05-28T09:19:04Z
author claudio
files src/sys/dev/fdt/bcm2835_mbox.c log diff annotate
message Remove the bcmmbox_write(BCMMBOX_CHANPM, ...) call in bcmmbox_attach().

This command locks up my RaspberryPi 4 while it seems to have no effect
for other devices. First of all u-boot will already enable power for us
plus it seems that more is needed than just this write to be really
effective. Why my rpi4 locks up is still unclear but this is now a
pure u-boot issue.

Tested by kettenis@ on his working rpi4 and rpi2
OK kettenis@

date 2024-05-28T09:26:55Z
author stsp
files src/sys/dev/pci/if_qwx_pci.c log diff annotate
message fix previous such that firmware crash recovery happens in non-debug builds

date 2024-05-28T09:27:08Z
author jsg
files src/sys/dev/isa/ad1848.c log diff annotate
src/sys/dev/isa/Attic/cs4231var.h log diff annotate
src/sys/dev/isa/gus.c log diff annotate
src/sys/dev/isa/gus_isa.c log diff annotate
src/sys/dev/isa/gus_isapnp.c log diff annotate
message remove unused isa/cs4231var.h

date 2024-05-28T09:27:54Z
author claudio
files src/sys/arch/m88k/include/cpu.h log diff annotate
src/sys/arch/m88k/m88k/m88k_machdep.c log diff annotate
message cpu_emergency_disable() was only used by mvme88k and can be removed now.

This removes one of the SCHED_LOCK usages in arch.
OK miod@

date 2024-05-28T09:40:40Z
author kettenis
files src/sys/arch/arm64/dev/apm.c log diff annotate
src/sys/arch/macppc/dev/apm.c log diff annotate
src/sys/dev/acpi/acpi_x86.c log diff annotate
src/sys/kern/subr_suspend.c log diff annotate
src/sys/sys/device.h log diff annotate
message Garbage collect sleep_abort(); it doesn't do anything useful anymore.

ok deraadt@, mlarkin@

date 2024-05-28T12:11:26Z
author jan
files src/sys/dev/pv/if_vio.c log diff annotate
message vio(4): fix jumbo frames

vio_rx_offload() was called too early. So, the consistency checks
of ether_extact() cause wrong packet detection and wrong checkums.

also tested by bluhm

ok bluhm@

date 2024-05-28T12:31:24Z
author jsg
files src/sys/uvm/uvm_swap_encrypt.h log diff annotate
message remove uvm_swpkeyexpire extern for var we never had

date 2024-05-28T12:50:23Z
author jsg
files src/sys/sys/systm.h log diff annotate
message remove maxmem extern, var removed from all archs long ago

date 2024-05-28T13:02:45Z
author jsg
files src/sys/dev/ic/qwx.c log diff annotate
message return type on a dedicated line when declaring functions
ok stsp@

date 2024-05-28T13:21:13Z
author jsg
files src/sys/dev/i2c/pca9532.c log diff annotate
message remove space between function names and argument list

date 2024-05-28T15:16:45Z
author claudio
files src/sys/arch/arm64/arm64/pmap.c log diff annotate
message Rework the pmap ASID handling to not require the SCHED_LOCK

The ASID lookup code already uses its own mutex (pmap_asid_mtx)
and this mutex is enough to ensure that pmap_rollover_asid()
is safe. Now only the generation number check in pmap_setttb()
is done without the lock but the update of the pmap_asid_gen
is now atomic so using READ_ONCE there is enough.

OK kettenis@ mpi@