OpenBSD cvs log

created 2024-07-14T15:26:23Z
begin 2024-07-12T00:00:00Z
end 2024-07-13T00:00:00Z
path src/sys
commits 20

date 2024-07-12T03:48:26Z
author jsg
files src/sys/dev/pci/drm/amd/amdgpu/aldebaran.c log diff annotate
src/sys/dev/pci/drm/amd/amdgpu/sienna_cichlid.c log diff annotate
message drm/amdgpu: Fix uninitialized variable warnings

From Ma Jun
646e13f0a65b1930a4fa838f31bf763dbb4307a3 in linux-6.6.y/6.6.39
60c448439f3b5db9431e13f7f361b4074d0e8594 in mainline linux

date 2024-07-12T03:50:23Z
author jsg
files src/sys/dev/pci/drm/amd/amdgpu/amdgpu_vce.c log diff annotate
message drm/amdgpu: Using uninitialized value *size when calling amdgpu_vce_cs_reloc

From Jesse Zhang
855ae72c20310e5402b2317fc537d911e87537ef in linux-6.6.y/6.6.39
88a9a467c548d0b3c7761b4fd54a68e70f9c0944 in mainline linux

date 2024-07-12T03:52:00Z
author jsg
files src/sys/dev/pci/drm/amd/amdgpu/amdgpu_irq.c log diff annotate
message drm/amdgpu: Initialize timestamp for some legacy SOCs

From Ma Jun
e55077badb9054630856cbefc099ad148a446648 in linux-6.6.y/6.6.39
2e55bcf3d742a4946d862b86e39e75a95cc6f1c0 in mainline linux

date 2024-07-12T03:53:50Z
author jsg
files src/sys/dev/pci/drm/amd/display/modules/hdcp/hdcp_ddc.c log diff annotate
message drm/amd/display: Check index msg_id before read or write

From Alex Hung
9933eca6ada0cd612e19522e7a319bcef464c0eb in linux-6.6.y/6.6.39
59d99deb330af206a4541db0c4da8f73880fba03 in mainline linux

date 2024-07-12T03:55:50Z
author jsg
files src/sys/dev/pci/drm/amd/display/dc/irq/dce110/irq_service_dce110.c log diff annotate
message drm/amd/display: Check pipe offset before setting vblank

From Alex Hung
96bf81cc1bd058bb8af6e755a548e926e934dfd1 in linux-6.6.y/6.6.39
5396a70e8cf462ec5ccf2dc8de103c79de9489e6 in mainline linux

date 2024-07-12T03:58:08Z
author jsg
files src/sys/dev/pci/drm/amd/display/dc/core/dc_resource.c log diff annotate
message drm/amd/display: Skip finding free audio for unknown engine_id

From Alex Hung
95ad20ee3c4efbb91f9a4ab08e070aa3697f5879 in linux-6.6.y/6.6.39
1357b2165d9ad94faa4c4a20d5e2ce29c2ff29c3 in mainline linux

date 2024-07-12T03:59:54Z
author jsg
files src/sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c log diff annotate
src/sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c log diff annotate
message drm/amd/display: Fix uninitialized variables in DM

From Alex Hung
8e5cbc820ab4a0029e0765b47cb2b38354b02527 in linux-6.6.y/6.6.39
f95bcb041f213a5da3da5fcaf73269bd13dba945 in mainline linux

date 2024-07-12T04:01:39Z
author jsg
files src/sys/dev/pci/drm/amd/amdgpu/amdgpu_gfx.c log diff annotate
message drm/amdgpu: fix uninitialized scalar variable warning

From Tim Huang
7e0fbceae1e671af9d91e338cc8608c9bfb7d2f1 in linux-6.6.y/6.6.39
9a5f15d2a29d06ce5bd50919da7221cda92afb69 in mainline linux

date 2024-07-12T04:03:31Z
author jsg
files src/sys/dev/pci/drm/amd/amdgpu/amdgpu_debugfs.c log diff annotate
message drm/amdgpu: fix the warning about the expression (int)size - len

From Jesse Zhang
3fac5aecb59336c9ae808a2cf4733f9f185e3fa2 in linux-6.6.y/6.6.39
ea686fef5489ef7a2450a9fdbcc732b837fb46a8 in mainline linux

date 2024-07-12T04:05:29Z
author jsg
files src/sys/dev/pci/drm/amd/include/atomfirmware.h log diff annotate
message drm/amdgpu/atomfirmware: silence UBSAN warning

From Alex Deucher
004b7fe6ca8c709e8431b400c3082040b80e59cf in linux-6.6.y/6.6.39
d0417264437a8fa05f894cabba5a26715b32d78e in mainline linux

date 2024-07-12T04:07:17Z
author jsg
files src/sys/dev/pci/drm/drm_panel_orientation_quirks.c log diff annotate
message drm: panel-orientation-quirks: Add quirk for Valve Galileo

From John Schoenick
33de7c47a19ab1165ee2404f197de4f7e4848f23 in linux-6.6.y/6.6.39
26746ed40bb0e4ebe2b2bd61c04eaaa54e263c14 in mainline linux

date 2024-07-12T04:10:46Z
author jsg
files src/sys/dev/pci/drm/amd/include/atomfirmware.h log diff annotate
message drm/amdgpu: silence UBSAN warning

From Alex Deucher
1ba66b121100862fc208848264821a788a79317f in linux-6.6.y/6.6.39
05d9e24ddb15160164ba6e917a88c00907dc2434 in mainline linux

date 2024-07-12T08:15:19Z
author beck
files src/sys/kern/vfs_subr.c log diff annotate
src/sys/sys/vnode.h log diff annotate
src/sys/ufs/ext2fs/ext2fs_inode.c log diff annotate
src/sys/ufs/ufs/ufs_inode.c log diff annotate
message Add vdoom() to fix ufs/ext2fs re-use of invalid vnode.

This was noticed by syzkiller and analyzed in isolaiton by mbuhl@
and visa@ two years ago. As the kernel has become more unlocked it
has started to appear more and was being hit regularly by jsing@
on the Go builder.

The problem was during reclaim of a inode the corresponding vnode
could be picked up by a vget() by another thread while the inode
was being cleared out in the ufs_inactive routine and the thread running
ufs_inactive slept for i/o. When raced the vnode would then not have
zero use count and would not be cleared out on exit from ufs_inactive
with a dead/invalid vnode being used.

While this could get "fixed" by checking for the race happening
and trying again in the inactive routine, or by adding "yet another
visible vnode locking flag" we choose to add a vdoom() api for the
moment that allows the caller to block future attempts to grab this
vnode until it is cleared out fully with vclean.

Teste by jsing@ on the Go builder and seems to solve the issue.

ok kettenis@, claudio@

date 2024-07-12T08:33:25Z
author kettenis
files src/sys/dev/pci/if_bwfm_pci.c log diff annotate
message Use dedicated window for access to the PCIe core registers.
Based on a diff from Hector Martin for Asahi Linux.

ok patrick@, tobhe@

date 2024-07-12T09:25:27Z
author bluhm
files src/sys/net/pf.c log diff annotate
src/sys/netinet/ip_icmp.c log diff annotate
src/sys/netinet/ip_input.c log diff annotate
message Run sysctl net.inet.ip.forwarding without net lock.

The places in packet processing where ip_forwarding is evaluated
have been consolidated. The remaining pieces in pf test, ip input,
and icmp input do not need consistent information. If the integer
value is changed by another CPU, it is harmless.
The sysctl syscall sets the value atomically, so add atomic read
in network processing and remove the net lock in sysctl IPCTL_FORWARDING.

OK claudio@ mvs@

date 2024-07-12T10:01:28Z
author tobhe
files src/sys/dev/pci/drm/apple/apldcp.c log diff annotate
message Add pool to allocate individual rtkit task arguments instead of passing a
shared argument. This fixes a race condition where a message could overwrite
rtkep->msg of a previously scheduled task resulting in a refcounting error later
on causing the screen to stay dark after waking up from suspend.

ok kettenis@

date 2024-07-12T13:10:58Z
author deraadt
files src/sys/arch/amd64/amd64/mptramp.S log diff annotate
message manual ret-clean; ok mlarkin

date 2024-07-12T14:53:09Z
author dv
files src/sys/dev/ic/nvme.c log diff annotate
message Simplify nvme suspend/resume by resetting queues and not deallocating
memory. This removes memory allocation from the resume-side of
device activation.

ok deraadt@

date 2024-07-12T17:20:18Z
author mvs
files src/sys/kern/uipc_socket.c log diff annotate
src/sys/kern/uipc_socket2.c log diff annotate
src/sys/miscfs/fifofs/fifo_vnops.c log diff annotate
src/sys/net/rtsock.c log diff annotate
src/sys/nfs/nfs_socket.c log diff annotate
src/sys/sys/socketvar.h log diff annotate
message Switch `so_snd' of udp(4) sockets to the new locking scheme.

udp_send() and following udp{,6}_output() do not append packets to
`so_snd' socket buffer. This mean the sosend() and sosplice() sending
paths are dummy pru_send() and there is no problems to simultaneously
run them on the same socket.

Push shared solock() deep down to sesend() and take it only around
pru_send(), but keep somove() running unedr exclusive solock(). Since
sosend() doesn't modify `so_snd' the unlocked `so_snd' space checks
within somove() are safe. Corresponding `sb_state' and `sb_flags'
modifications are protected by `sb_mtx' mutex(9).

Tested and OK bluhm.

date 2024-07-12T19:50:35Z
author bluhm
files src/sys/kern/uipc_socket2.c log diff annotate
src/sys/netinet/in_pcb.c log diff annotate
src/sys/netinet/in_pcb.h log diff annotate
src/sys/netinet/in_proto.c log diff annotate
src/sys/netinet/ip_divert.c log diff annotate
src/sys/netinet/ip_divert.h log diff annotate
src/sys/netinet/ip_var.h log diff annotate
src/sys/netinet/raw_ip.c log diff annotate
src/sys/netinet/udp_usrreq.c log diff annotate
src/sys/netinet/udp_var.h log diff annotate
src/sys/netinet6/in6_proto.c log diff annotate
src/sys/netinet6/ip6_divert.c log diff annotate
src/sys/netinet6/ip6_var.h log diff annotate
src/sys/netinet6/raw_ip6.c log diff annotate
src/sys/sys/protosw.h log diff annotate
message Remove internet PCB mutex.

All incpb locking has been converted to socket receive buffer mutex.
Per PCB mutex inp_mtx is not needed anymore. Also delete PRU related
locking functions. A flag PR_MPSOCKET indicates whether protocol
functions support parallel access with per socket rw-lock.
TCP is the only protocol that is not MP capable from the socket
layer and needs exclusive netlock.

OK mvs@