OpenBSD cvs log

created 2023-08-16T15:00:19Z
begin 2023-02-21T00:00:00Z
end 2023-02-28T00:00:00Z
path src/sys
commits 35

date 2023-02-21T04:49:43Z
author gkoehler
files src/sys/arch/powerpc/powerpc/pmap.c log diff annotate
message Set the current pmap in macppc's pmap_activate

This fixes a possible freeze in execve(2). It sometimes froze when a
dual-cpu macppc started daemons during boot. There is a chance that
uvm_map.c uvmspace_exec sees ovm->vm_refcnt != 1 and switches curproc
to a new pmap. If this happened, then execve froze by trying to
copyout to the wrong pmap; curpcb->pcb_pm was old. Fix by setting
pointers when uvmspace_exec calls pmap_activate.

ok miod@

date 2023-02-21T13:42:59Z
author bcallah
files src/sys/dev/pci/azalia.c log diff annotate
message Attach Apollo Lake HD Audio device, enabling audio on machines with it.
ok jsg@ phessler@

date 2023-02-21T14:31:07Z
author deraadt
files src/sys/kern/kern_exec.c log diff annotate
src/sys/sys/acct.h log diff annotate
message for process kills due to execve from non-pinned syscall address, export
a new AEXECVE bit to acct(4), and print it in lastcomm(8)
ok bluhm

date 2023-02-23T01:33:20Z
author deraadt
files src/sys/sys/ktrace.h log diff annotate
message include two required header files, because we want people to use utrace()
easier
ok guenther

date 2023-02-23T02:11:58Z
author jsg
files src/sys/dev/pci/drm/amd/display/dc/dml/dcn314/display_mode_vba_314.c log diff annotate
message drm/amd/display: Add missing brackets in calculation

From Daniel Miess
0c42622a573b716d79c57ff61c52fea46c0a5c94 in linux-6.1.y/6.1.13
ea062fd28f922cb118bfb33229f405b81aff7781 in mainline linux

date 2023-02-23T02:13:24Z
author jsg
files src/sys/dev/pci/drm/amd/display/dc/dcn314/dcn314_resource.c log diff annotate
message drm/amd/display: Adjust downscaling limits for dcn314

From Daniel Miess
7dbd205349f1fb098057c28a9a2af244aa868f72 in linux-6.1.y/6.1.13
dd2db2dc4bd298f33dea50c80c3c11bee4e3b0a4 in mainline linux

date 2023-02-23T02:16:09Z
author jsg
files src/sys/dev/pci/drm/amd/display/dc/dcn32/dcn32_init.c log diff annotate
message drm/amd/display: Unassign does_plane_fit_in_mall function from dcn3.2

From George Shen
383e32fa274a330dbf2d2db538b6bf2f9ef390aa in linux-6.1.y/6.1.13
275d8a1db261a1272a818d40ebc61b3b865b60e5 in mainline linux

date 2023-02-23T02:17:38Z
author jsg
files src/sys/dev/pci/drm/amd/display/dmub/src/dmub_srv.c log diff annotate
message drm/amd/display: Reset DMUB mailbox SW state after HW reset

From Nicholas Kazlauskas
488770cbddd8a873fb3bb8866e8a46211570c367 in linux-6.1.y/6.1.13
154711aa5759ef9b45903124fa813c4c29ee681c in mainline linux

date 2023-02-23T02:19:13Z
author jsg
files src/sys/dev/pci/drm/amd/amdgpu/soc21.c log diff annotate
message drm/amdgpu: enable HDP SD for gfx 11.0.3

From Evan Quan
e9cbb2b0d9f679d7e25b9415cf9d7345441a95c5 in linux-6.1.y/6.1.13
bb25849c0fa550b26cecc9c476c519a927c66898 in mainline linux

date 2023-02-23T02:21:15Z
author jsg
files src/sys/dev/pci/drm/amd/pm/amdgpu_pm.c log diff annotate
message drm/amdgpu: Enable vclk dclk node for gc11.0.3

From Yiqing Yao
fc64b04297a0674f4e5aff50622efdce46715fe1 in linux-6.1.y/6.1.13
ac7170082c0e140663f0853d3de733a5341ce7b0 in mainline linux

date 2023-02-23T02:24:10Z
author jsg
files src/sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c log diff annotate
message drm/amd/display: Properly handle additional cases where DCN is not supported

From Alex Deucher
b4e79d0c7f9bb938525716b3e05cfca6418e2bae in linux-6.1.y/6.1.13
6fc547a5a2ef5ce05b16924106663ab92f8f87a7 in mainline linux

date 2023-02-23T02:25:43Z
author jsg
files src/sys/dev/pci/drm/amd/amdgpu/amdgpu_device.c log diff annotate
src/sys/dev/pci/drm/amd/amdgpu/mes_v11_0.c log diff annotate
message drm/amd/amdgpu: fix warning during suspend

From Jack Xiao
dbe3529e816ee77a19fb6636e762b1dadbd02d10 in linux-6.1.y/6.1.13
8f32378986218812083b127da5ba42d48297d7c4 in mainline linux

date 2023-02-23T02:27:50Z
author jsg
files src/sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c log diff annotate
message drm/amd/display: Fail atomic_check early on normalize_zpos error

From Leo Li
020eccac747e30a35f1fdd4dc6f18425ff1a5870 in linux-6.1.y/6.1.13
2a00299e7447395d0898e7c6214817c06a61a8e8 in mainline linux

date 2023-02-23T02:29:39Z
author jsg
files src/sys/dev/pci/drm/i915/gt/intel_workarounds.c log diff annotate
message drm/i915/gen11: Wa_1408615072/Wa_1407596294 should be on GT list

From Matt Roper
2fc3ff76e96f48e5e4dd705f6794b8483f7c1624 in linux-6.1.y/6.1.13
d5a1224aa68c8b124a4c5c390186e571815ed390 in mainline linux

date 2023-02-23T08:37:03Z
author mbuhl
files src/sys/net/ethertypes.h log diff annotate
message Fix ethertype for NSH. RFC 8300 states ethertype 0x894F has been
allocated for NSH.
Found by bluhm.
ok dlg.

date 2023-02-23T13:28:38Z
author aoyama
files src/sys/arch/luna88k/stand/boot/getsecs.c log diff annotate
message Make bootloader 'time' command work correctly on luna88k.

Now the correct date is displayed instead of January 1, 1970.

Tested on LUNA-88K2 and nono emulator by me.

"make sense" miod@

date 2023-02-23T19:48:21Z
author miod
files src/sys/arch/amd64/stand/Makefile.inc log diff annotate
src/sys/arch/amd64/stand/boot/boot.8 log diff annotate
src/sys/arch/amd64/stand/efi32/Attic/exec_i386.c log diff annotate
src/sys/arch/amd64/stand/efi64/Attic/exec_i386.c log diff annotate
src/sys/arch/amd64/stand/efiboot/exec_i386.c log diff annotate
message Remove dangerous user-settable "addr" variable from MI boot loader, and
only compile tty-related code (stty command, tty variable) on platforms
where it makes sense for the boot loader to control it, rather than the
PROM/firmware/whatever.

date 2023-02-23T19:48:22Z
author miod
files src/sys/arch/amd64/stand/libsa/libsa.h log diff annotate
src/sys/arch/arm64/stand/efiboot/libsa.h log diff annotate
src/sys/arch/armv7/stand/efiboot/Makefile log diff annotate
src/sys/arch/armv7/stand/efiboot/libsa.h log diff annotate
src/sys/arch/hppa/stand/boot/Makefile log diff annotate
src/sys/arch/hppa/stand/boot/boot.8 log diff annotate
src/sys/arch/hppa/stand/cdboot/cdboot.c log diff annotate
src/sys/arch/hppa/stand/libsa/libsa.h log diff annotate
src/sys/arch/i386/stand/Makefile.inc log diff annotate
src/sys/arch/i386/stand/boot/boot.8 log diff annotate
src/sys/arch/i386/stand/libsa/libsa.h log diff annotate
src/sys/arch/landisk/stand/boot/boot.8 log diff annotate
src/sys/arch/landisk/stand/boot/devs.c log diff annotate
src/sys/arch/landisk/stand/boot/libsa.h log diff annotate
src/sys/arch/loongson/stand/boot/libsa.h log diff annotate
src/sys/arch/loongson/stand/boot/machdep.c log diff annotate
src/sys/arch/luna88k/stand/boot/boot.8 log diff annotate
src/sys/arch/luna88k/stand/boot/init_main.c log diff annotate
src/sys/arch/luna88k/stand/boot/libsa.h log diff annotate
src/sys/arch/macppc/stand/boot.8 log diff annotate
src/sys/arch/macppc/stand/libsa.h log diff annotate
src/sys/arch/macppc/stand/main.c log diff annotate
src/sys/arch/macppc/stand/ofdev.h log diff annotate
src/sys/arch/riscv64/stand/efiboot/Makefile log diff annotate
src/sys/arch/riscv64/stand/efiboot/libsa.h log diff annotate
src/sys/stand/boot/boot.c log diff annotate
src/sys/stand/boot/cmd.c log diff annotate
src/sys/stand/boot/cmd.h log diff annotate
src/sys/stand/boot/vars.c log diff annotate
message Remove dangerous user-settable "addr" variable from MI boot loader, and
only compile tty-related code (stty command, tty variable) on platforms
where it makes sense for the boot loader to control it, rather than the
PROM/firmware/whatever.

date 2023-02-24T15:17:48Z
author mpi
files src/sys/uvm/uvm_map.c log diff annotate
message Do not held the vm_map lock while flushing pages in msync(2) and madvise(2).

Mark the VM map as busy instead to prevent any sibling thread to request an
exclusive version of the vm_map. This is necessary to let any PG_BUSY page,
found in the UVM vnode object, to be released by a sibling in the middle of
a page-fault.

Note: the page-fault handler releases & re-grab a shared version of the
vm_map lock and expect it to be available to make progress.

Prevent a 3-Threads deadlock between msync(2), page-fault and mmap(2). The
deadlock reported on bugs@ by many occured as follow:

..ThreadA faults & grabs the shared `vmmaplk' then release it before calling
..uvn_get() which might sleep to allocate pages and mark them as PG_BUSY.

..Once the lock is released, threadB calls uvn_flush(). It sees at least a
..PG_BUSY page and sleeps on the `vmmaplk' waiting for threadA to un-busy
..the page.

..At the same time threadC asked for an exclusive version of the lock and
..sleeps until all reader are done with it. This prevents threadA to
..acquire a shared-version of the lock and finish the page fault.

This issue is similar to NetBSD's PR #56952 and the fix is from Chuck Silvers.

Tested by many on bugs@, thanks!

ok kettenis@

date 2023-02-24T23:36:10Z
author aoyama
files src/sys/arch/luna88k/stand/Makefile.inc log diff annotate
message Change to use the default bsd.prog.mk "install" target.

This also brings to install boot.8 man page correctly.

ok miod@

date 2023-02-24T23:36:11Z
author aoyama
files src/sys/arch/luna88k/stand/boot/Makefile log diff annotate
message Change to use the default bsd.prog.mk "install" target.

This also brings to install boot.8 man page correctly.

ok miod@

date 2023-02-25T09:55:46Z
author mvs
files src/sys/kern/sys_generic.c log diff annotate
src/sys/kern/syscalls.master log diff annotate
message Unlock select(2), pselect(2), poll(2) and ppoll(2).

The assertion within tsleep(9) was relaxed to allow calls on special
`nowake' channel without kernel lock held. So the sisguspend(2) like
cases "select(0, NULL, NULL, NULL, NULL)" and "poll(NULL, 0, INFTIM)"
should not trigger it. Commit reverted diff back.

ok claudio@

date 2023-02-25T09:56:17Z
author mvs
files src/sys/kern/init_sysent.c log diff annotate
src/sys/kern/syscalls.c log diff annotate
src/sys/sys/syscall.h log diff annotate
src/sys/sys/syscallargs.h log diff annotate
message regen

date 2023-02-26T12:37:58Z
author kettenis
files src/sys/dev/fdt/rkgpio.c log diff annotate
message Modern Rockchip SoCs, such as the RK356x and RK3588, use a different
register layout where the upper 16 bits decide which of the lower 16 bits
apply when writing to a register. Handle this new variant.

ok patrick@

date 2023-02-26T12:39:07Z
author kettenis
files src/sys/dev/fdt/rkclock.c log diff annotate
src/sys/dev/fdt/rkclock_clocks.h log diff annotate
message RK3588 support.

ok patrick@

date 2023-02-26T12:39:48Z
author kettenis
files src/sys/dev/fdt/rkpinctrl.c log diff annotate
message RK3588 support.

ok patrick@

date 2023-02-26T13:28:12Z
author kettenis
files src/sys/dev/fdt/if_dwge.c log diff annotate
message Defragment mbufs in the tx path to work around a (not fully understood)
issue on the StarFive JH7100 SoC where packets spanning multiple mbufs
are corrupted. Makes ethernet work reliably on the StarFive VisionFive 1
board.

ok patrick@

date 2023-02-26T15:09:53Z
author miod
files src/sys/dev/wscons/wsemul_vt100.c log diff annotate
src/sys/dev/wscons/wsemul_vt100_subr.c log diff annotate
message Add a few missing bounds checks when processing terminal escape sequences.
Without them, the kernel could be made to crash or reboot after receiving some
specially crafted terminal escape sequences.

Reported by David Leadbeater (dgl, dgl dot cx)

date 2023-02-26T23:00:42Z
author cheloha
files src/sys/kern/kern_clockintr.c log diff annotate
src/sys/sys/clockintr.h log diff annotate
message clockintr: add a kernel-facing API

We need an API for creating, scheduling, and rescheduling clock
interrupts.

- Add struct clockintr, a schedulable clock interrupt callback.

- Add clockintr_establish(). Allocates a new struct clockintr and
binds it to the given clockintr_queue.

- Add clockintr_expiration(). Returns the clockintr's absolute
expiration uptime.

- Add clockintr_nsecuptime(). Returns the clockintr's parent queue's
cached uptime. Using a cached timestamp is cheaper than calling
nsecuptime(9) repeatedly when we don't absolutely need to.

- Add clockintr_schedule(). Schedules the clock interrupt to run at
or after the given absolute uptime.

- Add clockintr_advance(). Reschedules the clock interrupt in the
future on the given period relative to the parent queue's cached
uptime.

With the above pieces in place we can push most of the scheduling
code for hardclock()/statclock()/schedclock() from clockintr_dispatch()
into the wrapper functions clockintr_hardclock(), clockintr_statclock(),
and clockintr_schedclock(). These wrappers are temporary. I don't
want to muck up the wrapped functions while things are still moving
around.

For the moment these interfaces are internal to kern_clockintr.c. In
a later patch we will move the prototypes into <sys/clockintr.h> so
anyone can use them. We first need to add a data structure for
sorting the clockintr structs. We also need to add a mutex to
clockintr_queue to allow arbitrary threads to safely manipulate clock
interrupts established on other CPUs.

Shown on hackers@. Tweaked by mlarkin@.

ok mlarkin@, "no objections" kettenis@

date 2023-02-27T00:18:00Z
author afresh1
files src/sys/kern/makesyscalls.sh log diff annotate
message Include varags types in sys/syscalls.h comment

Separated with the existing "..." requested by deraadt@
OK gnezdo@

date 2023-02-27T00:58:38Z
author deraadt
files src/sys/kern/init_sysent.c log diff annotate
src/sys/kern/syscalls.c log diff annotate
src/sys/sys/syscall.h log diff annotate
src/sys/sys/syscallargs.h log diff annotate
message sync

date 2023-02-27T02:01:38Z
author jsg
files src/sys/dev/pci/drm/drm_edid.c log diff annotate
message drm/edid: Fix minimum bpc supported with DSC1.2 for HDMI sink

From Ankit Nautiyal
0deb50618944aed143269214daea0ba2ddf2222d in linux-6.1.y/6.1.14
18feaf6d0784dcba888859109676adf1e0260dfd in mainline linux

date 2023-02-27T02:04:12Z
author jsg
files src/sys/dev/pci/drm/i915/i915_pci.c log diff annotate
message drm/i915: Remove __maybe_unused from mtl_info

From Lucas De Marchi
44610f4c3093bbce3061b77d37bdf1bed8e379da in linux-6.1.y/6.1.14
fff758698842fb6722be37498d8773e0fb47f000 in mainline linux

date 2023-02-27T09:35:32Z
author jan
files src/sys/net/if.c log diff annotate
src/sys/net/if.h log diff annotate
src/sys/net/if_bridge.c log diff annotate
src/sys/net/if_tpmr.c log diff annotate
src/sys/net/if_veb.c log diff annotate
message Turn off TSO if interface is added to layer 2 devices.

ok bluhm@, claudio@

date 2023-02-27T09:59:46Z
author jmatthew
files src/sys/dev/fdt/if_mvneta.c log diff annotate
message Pass MII flags depending on the phy mode specified in the device tree.
With this, the WAN port on the Turris Omnia works.

tested on Turris MOX by kettenis@
ok patrick@