OpenBSD cvs log

created 2023-08-13T07:47:45Z
begin 2023-08-10T00:00:00Z
end 2023-08-11T00:00:00Z
path src/sys
commits 5

date 2023-08-10T16:44:04Z
author sashan
files src/sys/net/pf_table.c log diff annotate
message Table persistent flag (PFR_TFLAG_PERSIST) won't get set
by ioctl(2) operation if table exists already. The issue
has been noticed by Giannis Kapetanakis (_at_) edu.physics.uoc.gr.
Giannis noticed relayd(8) aborts unexpectedly when 'relay host'
gets disabled by 'relayctl host dis ...' command. To understand
what's going on we must look at the way how relayd(8) manages
its firewall configuration. If relay-host 'example' is enabled relayd(8)
inserts rule to anchor relayd/example. The rule looks somewhat
like this:
pass in from ... to ... rdr-to <example>
When the rule gets inserted to pf(4) the table 'example' is
created with flags:
lumpy# pfctl -a relayd/example -vg -sT
----r-- example relayd/example
r-flag indicates table is referred by rule only. In the next
step relayd(8) creates and populates table example. It asks
pf(4) to add a persistent flag (PFR_TFLAG_PERSIST), so table
survives flush operation of relayd/example ruleset on behalf
of 'relayctl host dis ...' command. relayd(8) exits via abort()
when table is gone with disable operation.

Giannis was patient enough so we could debug and fix issue.
The committed change has been tested by Giannis too.

OK kn@, bluhm@

date 2023-08-10T19:29:32Z
author kettenis
files src/sys/arch/arm64/arm64/cpu.c log diff annotate
src/sys/arch/arm64/arm64/pmap.c log diff annotate
src/sys/arch/arm64/dev/mainbus.c log diff annotate
message The Lenovo X13s has broken firmware that makes it impossible to use PAC.
But other machines that use the same SoC work just fine. So instead of
disabling this feature on all CPUs that implement the architectured
algorithm, add an SMBIOS-based check that just disables the feature on
these machines. This means we need to attach smbios0 before cpu0, which
in turn means attaching efi0 earlier.

tested by patrick@

date 2023-08-10T20:44:52Z
author claudio
files src/sys/kern/kern_synch.c log diff annotate
message Add some KASSERT on the proc p_stat in sleep_finish()
OK mpi@

date 2023-08-10T21:01:50Z
author kettenis
files src/sys/arch/arm64/arm64/machdep.c log diff annotate
message Take advantage of the fact that the WFI instruction does continue
immediately if there is a pending interrupt to fix a potential race
in the idle loop.

ok guenther@

date 2023-08-10T22:58:04Z
author cheloha
files src/sys/arch/arm64/dev/agtimer.c log diff annotate
message agtimer(4/arm64): agtimer_delay: compute cycle count with 64-bit arithmetic

Converting from microseconds to timer cycles is much simpler with
64-bit arithmetic.

Thread: https://marc.info/?l=openbsd-tech&m=169146193022516&w=2

ok drahn@ kettenis@