OpenBSD cvs log

created 2024-02-25T11:40:26Z
begin 2024-02-23T00:00:00Z
end 2024-02-24T00:00:00Z
path src/sys
commits 6

date 2024-02-23T01:06:18Z
author kevlo
files src/sys/dev/pci/if_igc.c log diff annotate
message - Add support for reporting flow control status.
- Add missing igc_check_for_link() call; from Masanobu SAITOH via NetBSD.

"Fine" deraadt@

ok jan@

date 2024-02-23T16:51:39Z
author cheloha
files src/sys/kern/kern_timeout.c log diff annotate
message timeout: make to_kclock validation more rigorous

In kern_timeout.c, the to_kclock checks are not strict enough to catch
all plausible programmer mistakes. Tighten them up:

- timeout_set_flags: KASSERT that kclock is valid
- timeout_abs_ts: KASSERT that to_kclock is KCLOCK_UPTIME

We can also add to_kclock validation to softclock() and
db_show_timeout(), which may help to debug memory corruption:

- softclock: panic if to_kclock is not KCLOCK_NONE or KCLOCK_UPTIME
- db_show_timeout: print warning if to_kclock is invalid

Prompted by bluhm@ in response to a syzbot panic. Hopefully these
changes help to narrow down the root cause.

Link: https://syzkaller.appspot.com/bug?extid=49d3f7118413963f651a
Reported-by: [email protected]
ok bluhm@

date 2024-02-23T18:19:02Z
author cheloha
files src/sys/arch/alpha/alpha/db_interface.c log diff annotate
src/sys/arch/amd64/amd64/db_memrw.c log diff annotate
src/sys/arch/arm/arm/db_interface.c log diff annotate
src/sys/ddb/db_access.h log diff annotate
message ddb(4): db_read_bytes/db_write_bytes: change dst/src parameter to void*

Almost all db_read_bytes() callers cast the destination buffer
argument to char*, which suggests the API's prototype is incompatible
with how the API is actually used.

Change db_read_bytes() and db_write_bytes() to take a void* as the
destination/source buffer parameter so callers don't need to cast the
argument.

With input from bluhm@. Bugs caught by Clemens Gossnitzer (ASCII
approximation of name).

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

ok bluhm@

date 2024-02-23T18:19:03Z
author cheloha
files src/sys/arch/arm64/arm64/db_interface.c log diff annotate
src/sys/arch/hppa/hppa/db_interface.c log diff annotate
src/sys/arch/i386/i386/db_memrw.c log diff annotate
src/sys/arch/m88k/m88k/db_interface.c log diff annotate
src/sys/arch/mips64/mips64/db_machdep.c log diff annotate
src/sys/arch/powerpc/ddb/db_memrw.c log diff annotate
src/sys/arch/powerpc64/powerpc64/db_memrw.c log diff annotate
src/sys/arch/riscv64/riscv64/db_interface.c log diff annotate
src/sys/arch/sh/sh/db_memrw.c log diff annotate
src/sys/arch/sparc64/sparc64/db_interface.c log diff annotate
message ddb(4): db_read_bytes/db_write_bytes: change dst/src parameter to void*

Almost all db_read_bytes() callers cast the destination buffer
argument to char*, which suggests the API's prototype is incompatible
with how the API is actually used.

Change db_read_bytes() and db_write_bytes() to take a void* as the
destination/source buffer parameter so callers don't need to cast the
argument.

With input from bluhm@. Bugs caught by Clemens Gossnitzer (ASCII
approximation of name).

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

ok bluhm@

date 2024-02-23T21:52:12Z
author kettenis
files src/sys/arch/arm64/arm64/cpu.c log diff annotate
src/sys/arch/arm64/stand/efiboot/efiboot.c log diff annotate
message There is a 21BY x13s model. Handle it like 21BX.

ok beck@, deraadt@

date 2024-02-23T23:01:15Z
author cheloha
files src/sys/kern/kern_tc.c log diff annotate
message timecounting: start system uptime at 0.0 instead of 1.0

OpenBSD starts the system uptime clock at 1.0 instead of 0.0. We
inherited this behavior from FreeBSD when we imported kern_tc.c.

patrick@ reports that this causes a problem in sdmmc(4) during boot:
the sdmmc_delay() call in sdmmc_init() doesn't block for the full
250ms. This happens because the system hardclock() starts at 0.0 and
executes about hz times, rapidly, to "catch up" to 1.0. This
instantly expires the first hz timeout ticks, hence the short sleep.

Starting the system uptime at 0.0 fixes the problem.

Prompted by patrick@. Tested by patrick@. In snaps since Feb 19 2023.

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

ok patrick@ deraadt@