OpenBSD cvs log

created 2024-02-04T11:32:12Z
begin 2024-01-24T00:00:00Z
end 2024-01-25T00:00:00Z
path src/sys
commits 5

date 2024-01-24T00:17:01Z
author dlg
files src/sys/net/if_sec.c log diff annotate
message tag packets going out a sec interface to prevent route/encap loops.

sec(4) was already looking for this mbuf tag so it could drop packets
that had already been sent out on the same interface, but i forgot
the code that adds the tag.

this was reported by jason tubnor who experienced spins/lockups
when using sec and a physical interface was disconnected. rather
than being a locking problem like we initially assumed, it turned
out that unplugging a physical interface caused a route for ipsec
encapsulated traffic to go out over sec(4), causing the packet to
loop in the stack.

the fix was also tested and verified by jason. sorry for taking so
long to look at it.

date 2024-01-24T07:36:52Z
author kevlo
files src/sys/arch/arm64/conf/GENERIC log diff annotate
message Add iwm(4) to arm64 GENERIC, as follow up of 1.280

ok mlarkin@

date 2024-01-24T12:25:50Z
author jca
files src/sys/arch/riscv64/include/atomic.h log diff annotate
message Remove atomic_store_64(), misleading and now unused

The function was actually performing an OR instead of a store.

ok kettenis@

date 2024-01-24T19:23:38Z
author cheloha
files src/sys/arch/alpha/include/cpu.h log diff annotate
src/sys/kern/kern_clockintr.c log diff annotate
src/sys/kern/kern_fork.c log diff annotate
src/sys/kern/kern_sched.c log diff annotate
src/sys/kern/sched_bsd.c log diff annotate
src/sys/kern/subr_prof.c log diff annotate
src/sys/sys/clockintr.h log diff annotate
src/sys/sys/sched.h log diff annotate
message clockintr: switch from callee- to caller-allocated clockintr structs

Currently, clockintr_establish() calls malloc(9) to allocate a
clockintr struct on behalf of the caller. mpi@ says this behavior is
incompatible with dt(4). In particular, calling malloc(9) during the
initialization of a PCB outside of dt_pcb_alloc() is (a) awkward and
(b) may conflict with future changes/optimizations to PCB allocation.

To side-step the problem, this patch changes the clockintr subsystem
to use caller-allocated clockintr structs instead of callee-allocated
structs.

clockintr_establish() is named after softintr_establish(), which uses
malloc(9) internally to create softintr objects. The clockintr subsystem
is no longer using malloc(9), so the "establish" naming is no longer apt.
To avoid confusion, this patch also renames "clockintr_establish" to
"clockintr_bind".

Requested by mpi@. Tweaked by mpi@.

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

ok claudio@ mlarkin@ mpi@

date 2024-01-24T19:23:39Z
author cheloha
files src/sys/arch/amd64/include/cpu.h log diff annotate
src/sys/arch/arm/include/cpu.h log diff annotate
src/sys/arch/arm64/include/cpu.h log diff annotate
src/sys/arch/hppa/include/cpu.h log diff annotate
src/sys/arch/i386/include/cpu.h log diff annotate
src/sys/arch/m88k/include/cpu.h log diff annotate
src/sys/arch/mips64/include/cpu.h log diff annotate
src/sys/arch/powerpc/include/cpu.h log diff annotate
src/sys/arch/riscv64/include/cpu.h log diff annotate
src/sys/arch/sh/include/cpu.h log diff annotate
src/sys/arch/sparc64/include/cpu.h log diff annotate
message clockintr: switch from callee- to caller-allocated clockintr structs

Currently, clockintr_establish() calls malloc(9) to allocate a
clockintr struct on behalf of the caller. mpi@ says this behavior is
incompatible with dt(4). In particular, calling malloc(9) during the
initialization of a PCB outside of dt_pcb_alloc() is (a) awkward and
(b) may conflict with future changes/optimizations to PCB allocation.

To side-step the problem, this patch changes the clockintr subsystem
to use caller-allocated clockintr structs instead of callee-allocated
structs.

clockintr_establish() is named after softintr_establish(), which uses
malloc(9) internally to create softintr objects. The clockintr subsystem
is no longer using malloc(9), so the "establish" naming is no longer apt.
To avoid confusion, this patch also renames "clockintr_establish" to
"clockintr_bind".

Requested by mpi@. Tweaked by mpi@.

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

ok claudio@ mlarkin@ mpi@