OpenBSD cvs log

created 2022-03-27T01:02:52Z
begin 2022-03-23T00:00:00Z
end 2022-03-24T00:00:00Z
path src/sys
commits 10

date 2022-03-23T00:16:07Z
author bluhm
files src/sys/netinet6/raw_ip6.c log diff annotate
message For raw IPv6 packets rip6_input() traverses the loop of all PCBs.
From there it calls sbappendaddr() while holding the raw6 table
mutex. This ends in sorwakeup() where we finally grab the kernel
lock while holding a mutex. Witness detects this misuse.
Use the same solution as for PCB notify. Collect the affected PCBs
in a temporary list. The list is protected by exclusive net lock.
Reported-by: [email protected]
OK claudio@

date 2022-03-23T09:01:59Z
author sashan
files src/sys/net/pf_ioctl.c log diff annotate
message resurrect pf_consistency_lock as pfioctl_rw this time. pfioctl_rw
serializes access to pf(4) from concurrent processes which
change/read firewall configuration.

OK bluhm@

date 2022-03-23T09:21:47Z
author stsp
files src/sys/net80211/ieee80211_ra_vht.c log diff annotate
message Fix a few bugs in the net80211 VHT rate adaptation code.

Actually set rn->best_nss after deciding on a new best rate.
We are now switching between SISO and MIMO rates as intended.

When switching between ratesets, avoid switching directly to the highest
rate in the new rateset, which might be MCS 9 and not work at all from a
distance. Instead, use the most recently determined best rate in the set.

The bit which corresponds to the current best MS will not be set in the
rn->probed_rates[] array while we are probing an MCS other than the best.
Checking for this bit was simply wrong and prevented us from probing the
next rateset unless we managed to successfully probe up all the way
to the highest MCS in the current set.

Also fix errors in debug output.

Tested by bket, florian, Uwe Werler, and myself.

ok bket@

date 2022-03-23T09:22:49Z
author stsp
files src/sys/dev/pci/if_iwm.c log diff annotate
message Improve 802.11ac throughput on iwm(4) at a distance to the access point.

iwm(4) didn't attribute retries to the correct MCS, resulting in lower
MCS being punished unfairly when a higher MCS kept failing.

Tested by bket, florian, Uwe Werler, and myself.

ok bket

date 2022-03-23T13:03:36Z
author jsg
files src/sys/dev/pv/if_xnf.c log diff annotate
message KASSERT() that an id read from a descriptor is valid before using it
as an index into an array.

Reported by Demi Marie Obenour of Invisible Things Lab.
feedback and ok jmatthew@

date 2022-03-23T14:36:01Z
author krw
files src/sys/scsi/scsiconf.c log diff annotate
message When configuring a scsi_link that has passed dev_probe() but
fallen at one of the subsequent hurdles of scsi_probe_link()
don't partially replicate scsi_discard_link(). Just
call scsi_discard_link(). It now handles such partially configured
scsi_link's.

date 2022-03-23T17:22:28Z
author bluhm
files src/sys/netinet/raw_ip.c log diff annotate
message Move global variable ripsrc onto stack, it is only used once within
rip_input().
from dhill@

date 2022-03-23T17:36:09Z
author bluhm
files src/sys/net/pf_ioctl.c log diff annotate
message Use goto fail consistently to leave the giant switch in pfioctl().
To terminate inner switches and loops, break is used. This makes
it easier to reason whereto the code jumps.
no binary change; OK millert@ sashan@

date 2022-03-23T23:36:35Z
author kettenis
files src/sys/arch/arm64/arm64/cpu.c log diff annotate
src/sys/arch/arm64/arm64/machdep.c log diff annotate
src/sys/arch/arm64/include/cpu.h log diff annotate
message Export the ID_AA64ISARn_EL1 registers to userspace through sysctl(2) such
that we can detect which instruction set extensions are supported without
relying in catching SIGILL.

ok deraadt@

date 2022-03-23T23:48:30Z
author jca
files src/sys/arch/riscv64/riscv64/trap.c log diff annotate
message Trapping a riscv illegal instruction shouldn't print a console message

"Old debugging code obviously" deraadt@