OpenBSD cvs log

created 2024-04-20T18:58:40Z
begin 2024-04-15T00:00:00Z
end 2024-04-16T00:00:00Z
path src/sys
commits 11

date 2024-04-15T01:40:36Z
author jsg
files src/sys/dev/pci/drm/amd/amdkfd/kfd_chardev.c log diff annotate
message amdkfd: use calloc instead of kzalloc to avoid integer overflow

From Dave Airlie
315eb3c2df7e4cb18e3eacfa18a53a46f2bf0ef7 in linux-6.6.y/6.6.27
3b0daecfeac0103aba8b293df07a0cbaf8b43f29 in mainline linux

date 2024-04-15T01:42:21Z
author jsg
files src/sys/dev/pci/drm/ttm/ttm_bo.c log diff annotate
message drm/ttm: return ENOSPC from ttm_bo_mem_space v3

From Christian Koenig
852ad6a4f55c1e90123eff6d957119d4d5f27726 in linux-6.6.y/6.6.27
28e5126718c7b306b8c29d2ae8f48417e9303aa1 in mainline linux

date 2024-04-15T01:43:44Z
author jsg
files src/sys/dev/pci/drm/amd/display/modules/inc/mod_stats.h log diff annotate
message drm/amd/display: Fix nanosec stat overflow

From Aric Cyr
953fee8160f1adf2929b9588c043170563c6ac4d in linux-6.6.y/6.6.27
14d68acfd04b39f34eea7bea65dda652e6db5bf6 in mainline linux

date 2024-04-15T01:46:03Z
author jsg
files src/sys/dev/pci/drm/drm_modeset_helper.c log diff annotate
src/sys/dev/pci/drm/drm_probe_helper.c log diff annotate
message drm: Check output polling initialized before disabling

From Shradha Gupta
3d1b47e3a935abd4f258a945db87e7267ff4079c in linux-6.6.y/6.6.27
5abffb66d12bcac84bf7b66389c571b8bb6e82bd in mainline linux

date 2024-04-15T01:48:11Z
author jsg
files src/sys/dev/pci/drm/drm_probe_helper.c log diff annotate
message drm: Check polling initialized before enabling in drm_helper_probe_single_connector_modes

From Shradha Gupta
5c1dc516f52a5a0c0370086509ec12e6c3acb428 in linux-6.6.y/6.6.27
048a36d8a6085bbd8ab9e5794b713b92ac986450 in mainline linux

date 2024-04-15T13:58:48Z
author krw
files src/sys/dev/ic/nvme.c log diff annotate
message Don't hang in nvme_poll() if the nvme controller has disconnected from the pcie
bus. i.e. if register reads start returning 0xffffffff.

Feedback/suggestions deraadt@, testing by jca@, ok jmatthew@.

date 2024-04-15T14:25:10Z
author krw
files src/sys/dev/ic/nvme.c log diff annotate
message Don't wait forever in nvme_poll(). Respect the timeout provided by a scsi_xfer.
Define values for internal commands (identity and queue ops) that are polled.

Adapted from work by jdolecek@netbsd.

Feedback/suggestions deraadt@, testing by jca@, ok jmatthew@.

date 2024-04-15T15:08:20Z
author claudio
files src/sys/kern/syscalls.master log diff annotate
message sigsuspend and __thrsigdivert no longer require the KERNEL_LOCK since
dosigsuspend() no longer needs it.
OK mvs@ mpi@

date 2024-04-15T15:09:26Z
author claudio
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 after sigsuspend and __thrsigdivert unlock

date 2024-04-15T18:31:04Z
author bluhm
files src/sys/netinet/in_pcb.h log diff annotate
message Delete unused inp_csumoffset define.

OK mvs@

date 2024-04-15T21:31:29Z
author mvs
files src/sys/kern/uipc_socket.c log diff annotate
message Don't take solock() in soreceive() for udp(4) sockets.

These sockets are not connection oriented, they don't call pru_rcvd(),
but they have splicing ability and they set `so_error'.

Splicing ability is the most problem. However, we can hold `sb_mtx'
around `ssp_socket' modifications together with solock(). So the
`sb_mtx' is pretty enough to isspiced() check in soreceive(). The
unlocked `so_sp' dereference is fine, because we set it only once for
the whole socket life-time and we do this before `ssp_socket'
assignment.

We also need to take sblock() before splice sockets, so the sosplice()
and soreceive() are both serialized. Since `sb_mtx' required to unsplice
sockets too, it also serializes somove() with soreceive() regardless on
somove() caller.

The sosplice() was reworked to accept standalone sblock() for udp(4)
sockets.

soreceive() performs unlocked `so_error' check and modification.
Previously, we have no ability to predict which concurrent soreceive()
or sosend() thread will fail and clean `so_error'. With this unlocked
access we could have sosend() and soreceive() threads which fails
together.

`so_error' stored to local `error2' variable because `so_error' could be
overwritten by concurrent sosend() thread.

Tested and ok bluhm