openbsd
2 months agoUpdate sparc64 ok files to match with reality.
claudio [Wed, 7 Aug 2024 18:26:44 +0000 (18:26 +0000)]
Update sparc64 ok files to match with reality.
OK deraadt@

2 months agoRework fork-exit regress to work with any pagesize not only 4k.
claudio [Wed, 7 Aug 2024 18:25:39 +0000 (18:25 +0000)]
Rework fork-exit regress to work with any pagesize not only 4k.
Also mmap PROT_READ|PROT_WRITE instead of write only.
Add a bit more extra space for the stack allocations.
With all of this this test no longer fails on sparc64
OK deraadt@ bluhm@

2 months agoAttach ksmn(4) on 19h/7x devices
brynet [Wed, 7 Aug 2024 17:39:00 +0000 (17:39 +0000)]
Attach ksmn(4) on 19h/7x devices

Tested on:
cpu0: AMD Ryzen 7 PRO 8700GE w/ Radeon 780M Graphics, 3650.01 MHz, 19-75-02, patch 0a705205

Thanks to Jan (@js@x0r.be on mastodon) for testing.

"Sure" deraadt@

2 months agosync
deraadt [Wed, 7 Aug 2024 16:01:18 +0000 (16:01 +0000)]
sync

2 months agocrank to 7.6-beta, release date is vague
deraadt [Wed, 7 Aug 2024 15:59:24 +0000 (15:59 +0000)]
crank to 7.6-beta, release date is vague

2 months agoadjust check_complete after recent-ish API and docs changes
tb [Wed, 7 Aug 2024 10:26:43 +0000 (10:26 +0000)]
adjust check_complete after recent-ish API and docs changes

2 months agoFix a typo
yasuoka [Wed, 7 Aug 2024 07:15:18 +0000 (07:15 +0000)]
Fix a typo

2 months agoregen
jsg [Wed, 7 Aug 2024 06:49:54 +0000 (06:49 +0000)]
regen

2 months agoadd devices seen on Lenovo ThinkCentre M75q Gen 5 with
jsg [Wed, 7 Aug 2024 06:48:55 +0000 (06:48 +0000)]
add devices seen on Lenovo ThinkCentre M75q Gen 5 with
Ryzen 5 PRO 8500GE 19-78-00

2 months agoasprintf() and vasprintf() are in POSIX-2024. Update #include
guenther [Wed, 7 Aug 2024 05:15:28 +0000 (05:15 +0000)]
asprintf() and vasprintf() are in POSIX-2024.  Update #include
visibility and manpages and add restrict qualifiers in all the
specified places to the *printf family.

ok millert@

2 months agowcslcpy() and wcslcat() are in POSIX-2024. Update #include visibility
guenther [Wed, 7 Aug 2024 04:59:45 +0000 (04:59 +0000)]
wcslcpy() and wcslcat() are in POSIX-2024.  Update #include visibility
and manpages and add restrict qualifiers.

ok millert@

2 months agoUnlock `udpctl_vars'.
mvs [Tue, 6 Aug 2024 20:15:53 +0000 (20:15 +0000)]
Unlock `udpctl_vars'.

`udp_sendspace' and `udp_recvspace' are integers which read-only
accessed in udp_attach(). `udpcksum' read-only accessed in udp_output().
No netlock required to modify them through sysctl(2).

ok bluhm

2 months agoFor consistency with other similar sysctl(2) variables use
mvs [Tue, 6 Aug 2024 20:14:56 +0000 (20:14 +0000)]
For consistency with other similar sysctl(2) variables use
atomic_load_int(9) while loading `somaxconn' and `sominconn'.

ok bluhm

2 months agoUse atomic_load_int(9) for unlocked read access to net.unix.*space
mvs [Tue, 6 Aug 2024 20:13:58 +0000 (20:13 +0000)]
Use atomic_load_int(9) for unlocked read access to net.unix.*space
sysctl(2) variables.

ok bluhm

2 months agoRevert the knote_processexit() bits of the diff. It introduced a small
claudio [Tue, 6 Aug 2024 18:41:20 +0000 (18:41 +0000)]
Revert the knote_processexit() bits of the diff. It introduced a small
window where a knote is available but PS_ZOMBIE is not yet set (causing
waitpid() to not return that pid).
Requested by jca@ and deraadt@

2 months agoSome laptops will generate an EC event shortly after we attempt to enter
kettenis [Tue, 6 Aug 2024 17:38:56 +0000 (17:38 +0000)]
Some laptops will generate an EC event shortly after we attempt to enter
a low power S0 idle state.  Since we register the EC GPE as a wakeup GPE
this means we'll wake up immediately.  Unfortunately we have to register
that GPE as a wakeup GPE otherwise many laptops won't wake up when the
user opens the lid (and some laptops won't wake up at all).  So add some
code to handle EC events while suspended and introduce the concept of
wakeup AML notify handlers.  Register the acpibtn(4) notify handlers as
wakeup notify handlers such that we wake up.  We'll go back to sleep
immediately if we wake up for any other EC event.

ok mlarkin@, deraadt@

2 months agoSome Intel xhci(4) controllers don't fully power down unless they've seen
kettenis [Tue, 6 Aug 2024 17:30:04 +0000 (17:30 +0000)]
Some Intel xhci(4) controllers don't fully power down unless they've seen
a "save state" command.  So use that command when we suspend (and don't
reset the controller at that point such that it doesn't forget about it).
Note that on resume we don't restore the state.  Instead we just reset
the controller and bring it up from scratch.  There isn't much state to
save anyway since we detach all USB devices when we suspend.

ok mlarkin@, deraadt@

2 months agoUnlock sysctl net.inet.ip.directed-broadcast.
bluhm [Tue, 6 Aug 2024 16:56:09 +0000 (16:56 +0000)]
Unlock sysctl net.inet.ip.directed-broadcast.

ip_directedbcast is read once in either ip_input() or pf_test()
during packet processing.  So writing the variable does not need
net lock.

OK mvs@

2 months agoOn the RK3588 eMMC controller it appears that after a failed command a
patrick [Tue, 6 Aug 2024 15:03:36 +0000 (15:03 +0000)]
On the RK3588 eMMC controller it appears that after a failed command a
completion signal shows up some time after the error signal.  This can
lead to the case that when the next command is being executed, the old
completion signal is still recorded and the driver may think the command
already executed.  Resetting the status before executing a new command
makes sense, albeit it's technically still possible that the controller
issues another completion signal.  It shouldn't happen because a reset
was issued and we're also waiting for the command and data inhibit bits
to be cleared, but who knows.  This makes the eMMC come up reliably.

ok kettenis@

2 months agoUnlock KERN_CLOCKRATE.
mvs [Tue, 6 Aug 2024 12:36:54 +0000 (12:36 +0000)]
Unlock KERN_CLOCKRATE.

Read-only access to local `clkinfo' filled with immutable data.

ok bluhm

2 months agoThe devicetree spec says in section 2.4:
kettenis [Tue, 6 Aug 2024 09:07:15 +0000 (09:07 +0000)]
The devicetree spec says in section 2.4:

If an interrupt-generating device does not have an interrupt-parent
property, its interrupt parent is assumed to be its devicetree
parent.

Implement this aspect of the spec in the same way as Linux does by not
just looking at the immediate parent but keep on walking up the tree
until we hit a node with an "interrupt-controller" property or a node
that has an "interrupt-parent" property.

similar diff as committed for arm64 a couple of days ago
ok jca@

2 months agoStop using KERNEL_LOCK to protect the per process kqueue list
claudio [Tue, 6 Aug 2024 08:44:54 +0000 (08:44 +0000)]
Stop using KERNEL_LOCK to protect the per process kqueue list

Instead of the KERNEL_LOCK use the ps_mtx for most operations.
If the ps_klist is modified an additional global rwlock (kqueue_ps_list_lock)
is required. This includes the knotes with NOTE_FORK and NOTE_EXIT since
in either cases a ps_klist is changed. In the NOTE_FORK | NOTE_TRACK case
the call to kqueue_register() can sleep this is why a global rwlock is used.

Adjust the reaper() to call knote_processexit() without KERNEL_LOCK.
Double lock idea from visa@
OK mvs@

2 months agoDefine _LOCORE before including machine/ctlreg.h in ASM code.
claudio [Tue, 6 Aug 2024 05:39:48 +0000 (05:39 +0000)]
Define _LOCORE before including machine/ctlreg.h in ASM code.
OK miod@ kettenis@

2 months agoReplace sys/time.h with proper includes for using localtime
gnezdo [Tue, 6 Aug 2024 04:59:18 +0000 (04:59 +0000)]
Replace sys/time.h with proper includes for using localtime

Sure deraadt@

2 months agorestrict the maximum wait time you can set via BIOCSWTIMEOUT to 5 minutes.
dlg [Mon, 5 Aug 2024 23:56:10 +0000 (23:56 +0000)]
restrict the maximum wait time you can set via BIOCSWTIMEOUT to 5 minutes.

this is avoids passing excessively large values to timeout_add_nsec.

Reported-by: syzbot+f650785d4f2b3fe28284@syzkaller.appspotmail.com
2 months agotimeout_add_nsec takes a uint64_t now.
dlg [Mon, 5 Aug 2024 23:52:03 +0000 (23:52 +0000)]
timeout_add_nsec takes a uint64_t now.

2 months agochange the nsec argument to timeout_add_nsec from int to uint64_t
dlg [Mon, 5 Aug 2024 23:51:11 +0000 (23:51 +0000)]
change the nsec argument to timeout_add_nsec from int to uint64_t

you can only fit a couple of nanonseconds into an int, which limited
the usefulness of the api. worse, if a large nsec value was passed
in it could be cast to a negative int value which tripped over a
KASSERT at the top of timeout_add that ends up being called. avoid
this footgun by working in the bigger type and doing the same range
checks/fixes for other timeout_add wrappers.

ok claudio@ mvs@

2 months agoUnlock KERN_BOOTTIME.
mvs [Mon, 5 Aug 2024 18:47:29 +0000 (18:47 +0000)]
Unlock KERN_BOOTTIME.

microboottime() and following binboottime() are mp-safe and `mb' is
local data.

ok bluhm

2 months agoAdjust for arm64_intr_get_parent() changes.
kettenis [Mon, 5 Aug 2024 18:39:34 +0000 (18:39 +0000)]
Adjust for arm64_intr_get_parent() changes.

ok patrick@

2 months agoFix reporting if critical battery state.
kettenis [Mon, 5 Aug 2024 18:37:29 +0000 (18:37 +0000)]
Fix reporting if critical battery state.

ok jca@, mlarkin@

2 months agoAdd battery sensors.
kettenis [Mon, 5 Aug 2024 18:36:28 +0000 (18:36 +0000)]
Add battery sensors.

ok phessler@

2 months agoFix bridging IPv6 fragments with pf reassembly.
bluhm [Mon, 5 Aug 2024 17:47:29 +0000 (17:47 +0000)]
Fix bridging IPv6 fragments with pf reassembly.

Sending IPv6 fragments over a bridge with pf did not work.  During
input pf reassembles the packet, and at bridge output it should be
refragmented.  This is only done for PF_FWD direction, but bridge(4)
and veb(4) called pf_test() with PF_OUT argument.

OK sashan@

2 months agoUnlock most of `kern_vars' variables.
mvs [Mon, 5 Aug 2024 15:43:58 +0000 (15:43 +0000)]
Unlock most of `kern_vars' variables.

Add corresponding cases to the kern_sysctl() switch and unlock read-only
variables from `kern_vars'. Unlock KERN_SOMAXCONN and KERN_SOMINCONN
which are atomically read-only accessed only from solisten().

ok kettenis

2 months agoThe devicetree spec says in section 2.4:
kettenis [Mon, 5 Aug 2024 13:55:34 +0000 (13:55 +0000)]
The devicetree spec says in section 2.4:

If an interrupt-generating device does not have an interrupt-parent
property, its interrupt parent is assumed to be its devicetree
parent.

Implement this aspect of the spec in the same way as Linux does by not
just looking at the immediate parent but keep on walking up the tree
until we hit a node with an "interrupt-controller" property or a node
that has an "interrupt-parent" property.

same diff as committed for arm64 yesterday
ok patrick@

2 months agoTake `sysctl_lock' before kernel lock.
mvs [Mon, 5 Aug 2024 13:46:16 +0000 (13:46 +0000)]
Take `sysctl_lock' before kernel lock.

ok bluhm

2 months agosync with base
tb [Mon, 5 Aug 2024 09:43:26 +0000 (09:43 +0000)]
sync with base

2 months agosync with upstream (noop for openbsd)
tb [Mon, 5 Aug 2024 09:43:07 +0000 (09:43 +0000)]
sync with upstream (noop for openbsd)

2 months agoRemove bogus connect(s, NULL, 0) call
tb [Mon, 5 Aug 2024 07:16:30 +0000 (07:16 +0000)]
Remove bogus connect(s, NULL, 0) call

The only thing it does is error because of a check added in sockargs() in
uipc_syscalls r1.155. As guenther pointed out, this may have been added
because of a misreading of the last sentence of the first paragraph of the
connect(2) manual.

Instead of erroring, this will keep listening if -k is given and otherwise
it will close the socket and exit with success.

ok guenther jeremy

2 months agoAllow our linker warnings regarding misuse of libc functions to be
anton [Mon, 5 Aug 2024 06:11:42 +0000 (06:11 +0000)]
Allow our linker warnings regarding misuse of libc functions to be
elevated to errors using the -Wl,--fatal-warnings option.

ok robert@

2 months agodrm/i915/dp: Don't switch the LTTPR mode on an active link
jsg [Mon, 5 Aug 2024 02:54:42 +0000 (02:54 +0000)]
drm/i915/dp: Don't switch the LTTPR mode on an active link

From Imre Deak
12880cc086deef91e62e2f010750087a3c23fae3 in linux-6.6.y/6.6.44
509580fad7323b6a5da27e8365cd488f3b57210e in mainline linux

2 months agodrm/i915/dp: Reset intel_dp->link_trained before retraining the link
jsg [Mon, 5 Aug 2024 02:52:34 +0000 (02:52 +0000)]
drm/i915/dp: Reset intel_dp->link_trained before retraining the link

From Imre Deak
a90e900f71da23a354e9d17f1dc0c654d0ae9ceb in linux-6.6.y/6.6.44
d13e2a6e95e6b87f571c837c71a3d05691def9bb in mainline linux

2 months agodrm/amd/amdgpu: Fix uninitialized variable warnings
jsg [Mon, 5 Aug 2024 02:50:36 +0000 (02:50 +0000)]
drm/amd/amdgpu: Fix uninitialized variable warnings

From Ma Ke
e150f0171c0c0c45a373a658358c51c940ed4fd9 in linux-6.6.y/6.6.44
df65aabef3c0327c23b840ab5520150df4db6b5f in mainline linux

2 months agodrm/amdgpu: reset vm state machine after gpu reset(vram lost)
jsg [Mon, 5 Aug 2024 02:47:58 +0000 (02:47 +0000)]
drm/amdgpu: reset vm state machine after gpu reset(vram lost)

From ZhenGuo Yin
323790535237927e1b6a7bc35ddf662c6e7c25cc in linux-6.6.y/6.6.44
5659b0c93a1ea02c662a030b322093203f299185 in mainline linux

2 months agodrm/dp_mst: Fix all mstb marked as not probed after suspend/resume
jsg [Mon, 5 Aug 2024 02:44:55 +0000 (02:44 +0000)]
drm/dp_mst: Fix all mstb marked as not probed after suspend/resume

From Wayne Lin
e290feb8b749a06b93ed01d4cf66567cbdf0e85d in linux-6.6.y/6.6.44
d63d81094d208abb20fc444514b2d9ec2f4b7c4e in mainline linux

2 months agodrm/amdgpu/sdma5.2: Update wptr registers as well as doorbell
jsg [Mon, 5 Aug 2024 02:42:47 +0000 (02:42 +0000)]
drm/amdgpu/sdma5.2: Update wptr registers as well as doorbell

From Alex Deucher
9d74e50098492e89f319ac6922db3c2062f69340 in linux-6.6.y/6.6.44
a03ebf116303e5d13ba9a2b65726b106cb1e96f6 in mainline linux

2 months agodrm/i915/gt: Do not consider preemption during execlists_dequeue for gen8
jsg [Mon, 5 Aug 2024 02:40:00 +0000 (02:40 +0000)]
drm/i915/gt: Do not consider preemption during execlists_dequeue for gen8

From Nitin Gote
05c0fb20ca3e000a7e966584845731ba4fc950da in linux-6.6.y/6.6.44
65564157ae64cec0f527583f96e32f484f730f92 in mainline linux

2 months agodrm/amd/display: Check for NULL pointer
jsg [Mon, 5 Aug 2024 02:37:12 +0000 (02:37 +0000)]
drm/amd/display: Check for NULL pointer

From Sung Joon Kim
4ccd37085976ea5d3c499b1e6d0b3f4deaf2cd5a in linux-6.6.y/6.6.44
4ab68e168ae1695f7c04fae98930740aaf7c50fa in mainline linux

2 months agodrm/amdgpu: Remove GC HW IP 9.3.0 from noretry=1
jsg [Mon, 5 Aug 2024 02:35:12 +0000 (02:35 +0000)]
drm/amdgpu: Remove GC HW IP 9.3.0 from noretry=1

From Tim Van Patten
6d72626808325c1986cbf90b0ce27a59b4291876 in linux-6.6.y/6.6.44
1446226d32a45bb7c4f63195a59be8c08defe658 in mainline linux

2 months agodrm/amdgpu: Check if NBIO funcs are NULL in amdgpu_device_baco_exit
jsg [Mon, 5 Aug 2024 02:33:42 +0000 (02:33 +0000)]
drm/amdgpu: Check if NBIO funcs are NULL in amdgpu_device_baco_exit

From Friedrich Vock
67b4592a7d74e57a5a0929eaf3ae30414ebd39ae in linux-6.6.y/6.6.44
0cdb3f9740844b9d95ca413e3fcff11f81223ecf in mainline linux

2 months agodrm/amdgpu: Fix memory range calculation
jsg [Mon, 5 Aug 2024 02:31:14 +0000 (02:31 +0000)]
drm/amdgpu: Fix memory range calculation

From Lijo Lazar
ae1dd0a379e41db7d4773880e6918948668ef3ad in linux-6.6.y/6.6.44
ce798376ef6764de51d8f4684ae525b55df295fa in mainline linux

2 months agodrm/amd/pm: Fix aldebaran pcie speed reporting
jsg [Mon, 5 Aug 2024 02:28:52 +0000 (02:28 +0000)]
drm/amd/pm: Fix aldebaran pcie speed reporting

From Lijo Lazar
0af2e5cb74514877326448becf40365b073b44e2 in linux-6.6.y/6.6.44
b6420021e17e262c57bb289d0556ee181b014f9c in mainline linux

2 months agodrm/amdkfd: Fix CU Masking for GFX 9.4.3
jsg [Mon, 5 Aug 2024 02:26:35 +0000 (02:26 +0000)]
drm/amdkfd: Fix CU Masking for GFX 9.4.3

From Mukul Joshi
cd1885ae4cbf191332ae66f8a214e52fb226ba43 in linux-6.6.y/6.6.44
85cf43c554e438e2e12b0fe109688c9533e4d93f in mainline linux

2 months agoppoll() is in POSIX-2024. Update #include visibility and manpages
guenther [Sun, 4 Aug 2024 22:28:08 +0000 (22:28 +0000)]
ppoll() is in POSIX-2024.  Update #include visibility and manpages
and add restrict qualifiers.  While here, rename the BUGS section
to CAVEATS since they're really "these probably don't do what you
want" notes and not things that need fixing.

ok millert@

2 months agoFix typo.
mglocker [Sun, 4 Aug 2024 20:10:38 +0000 (20:10 +0000)]
Fix typo.

ok kettenis@

2 months agobump datasize for armv7's pbuild user, some software has grown over the years
phessler [Sun, 4 Aug 2024 20:06:04 +0000 (20:06 +0000)]
bump datasize for armv7's pbuild user, some software has grown over the years

OK jca@

2 months agosync
deraadt [Sun, 4 Aug 2024 17:51:49 +0000 (17:51 +0000)]
sync

2 months agoadd intelpmc(4) entry;
jmc [Sun, 4 Aug 2024 16:31:02 +0000 (16:31 +0000)]
add intelpmc(4) entry;

2 months agoAdd battery status support for the x1e80100. This SoC needs a second
kettenis [Sun, 4 Aug 2024 15:30:08 +0000 (15:30 +0000)]
Add battery status support for the x1e80100.  This SoC needs a second
firmware and requires us to shut down an initial "light" firmware that
was presumably loaded bu the system firmware.  For now the required
firmwares are not packaged and need to be copied from the Windows
install.

ok patrick@

2 months agointelpmc(4)
kettenis [Sun, 4 Aug 2024 14:21:09 +0000 (14:21 +0000)]
intelpmc(4)

2 months agoThe devicetree spec says in section 2.4:
kettenis [Sun, 4 Aug 2024 12:01:18 +0000 (12:01 +0000)]
The devicetree spec says in section 2.4:

  If an interrupt-generating device does not have an interrupt-parent
  property, its interrupt parent is assumed to be its devicetree
  parent.

Implement this aspect of the spec in the same way as Linux does by not
just looking at the immediate parent but keep on walking up the tree
until we hit a node with an "interrupt-controller" property or a node
that has an "interrupt-parent" property.

ok patrick@

2 months agoAdd intelpmc(4), a driver for the power management controller found on
kettenis [Sun, 4 Aug 2024 11:05:18 +0000 (11:05 +0000)]
Add intelpmc(4), a driver for the power management controller found on
various Intel SoCs.  The driver takes care of calling the AML methods
needed to enter low power idle states during suspend-to-idle (S0i).
The driver also implements some debug code that prints the residency of
various power states in dmesg.  Based on some earlier code by jcs@

ok jcs@

2 months agoMake a little effort to treate CRLF as LF in config files. GitHub issue
nicm [Sun, 4 Aug 2024 09:42:23 +0000 (09:42 +0000)]
Make a little effort to treate CRLF as LF in config files. GitHub issue
3720.

2 months agoThe Linux console has some bugs with bright colours. It seems likely
nicm [Sun, 4 Aug 2024 09:35:30 +0000 (09:35 +0000)]
The Linux console has some bugs with bright colours. It seems likely
that it is emulating them by setting a bright (or bold) flag; however,
when the colour is changed from a bright colour (say SGR 96) to a
non-bright (say SGR 36), the flag is not reset, so the new colour
remains as bright. SGR 39 (default colour) also does not reset, so you
end up with the bright default colour. Work around this by sending SGR 0
when switching away from a bright colour, and disable AX for TERM=linux.
Also make the check for AX simpler and do not check for the op
capability is not actually used. GitHub issue 3976.

2 months ago-l should be before -r, pointed out by jmc a while ago.
nicm [Sun, 4 Aug 2024 09:01:18 +0000 (09:01 +0000)]
-l should be before -r, pointed out by jmc a while ago.

2 months agoAdjust the logic when deleting last buffer to better preserve the
nicm [Sun, 4 Aug 2024 08:53:43 +0000 (08:53 +0000)]
Adjust the logic when deleting last buffer to better preserve the
selection: if selecting the element below the deleted one fails (because
as the last one), select the one above it instead. From Daniel Mueller,
GitHub issue 4043.

2 months agoUse paste_is_empty to check if there are no buffers since paste_get_top
nicm [Sun, 4 Aug 2024 08:39:38 +0000 (08:39 +0000)]
Use paste_is_empty to check if there are no buffers since paste_get_top
will return NULL if there are no automatic buffers.

2 months agox509_vfy.c: drop some unnecessary parentheses
tb [Sun, 4 Aug 2024 08:15:36 +0000 (08:15 +0000)]
x509_vfy.c: drop some unnecessary parentheses

2 months ago- sort SEE ALSO
jmc [Sun, 4 Aug 2024 05:18:28 +0000 (05:18 +0000)]
- sort SEE ALSO
- radiusd_file(8) is section 8, not 5

2 months agoUse "module" for the modules. Add a link to radiusd_file(8) from
yasuoka [Sun, 4 Aug 2024 03:56:57 +0000 (03:56 +0000)]
Use "module" for the modules.  Add a link to radiusd_file(8) from
radiusd_eap2mschap(8).

2 months agoA dozen interfaces in <endian.h> were standardized in POSIX-2024 as expected
guenther [Sat, 3 Aug 2024 23:06:56 +0000 (23:06 +0000)]
A dozen interfaces in <endian.h> were standardized in POSIX-2024 as expected

2 months agoSet system ID field in the PVD to OpenBSD
millert [Sat, 3 Aug 2024 22:23:32 +0000 (22:23 +0000)]
Set system ID field in the PVD to OpenBSD

This matches what we use in mkybrid.  From Crystal Kolipe.

2 months agoThe maximum count is SKEY_MAX_SEQ + 1 not SKEY_MAX_SEQ - 1.
millert [Sat, 3 Aug 2024 22:00:31 +0000 (22:00 +0000)]
The maximum count is SKEY_MAX_SEQ + 1 not SKEY_MAX_SEQ - 1.

Sequence numbers are in the range [0, SKEY_MAX_SEQ] inclusive.
This means the maximum value for the -n option (count) should be
SKEY_MAX_SEQ + 1.  From Denis Bodor.

2 months agoUpdate awk to the July 28, 2024 version.
millert [Sat, 3 Aug 2024 21:12:16 +0000 (21:12 +0000)]
Update awk to the July 28, 2024 version.
 * Fixed readcsvrec resize segfault when reading csv records longer than 8k.
 * Rewrite if-else chain in quoted as a switch.

2 months agoThe improbable occurred: strlcpy(3) and strlcat(3) are in POSIX-2024.
guenther [Sat, 3 Aug 2024 20:13:23 +0000 (20:13 +0000)]
The improbable occurred: strlcpy(3) and strlcat(3) are in POSIX-2024.
memmem(3) was also added.  Update #include visibility and manpages
and add restrict qualifiers.

"never thought I'd see this day" millert@

2 months agomkostemp(3) and reallocarray(3) are in POSIX-2024:
guenther [Sat, 3 Aug 2024 20:09:24 +0000 (20:09 +0000)]
mkostemp(3) and reallocarray(3) are in POSIX-2024:
adjust #include visibility and update the reallocarray(3) manpage

ok millert@

2 months agoThe EC_KEY method should use the EC_KEY index, not RSA
tb [Sat, 3 Aug 2024 13:06:37 +0000 (13:06 +0000)]
The EC_KEY method should use the EC_KEY index, not RSA

Unbreaks ssh's t-agent-pkcs11-cert regress reported by anton.

ok jsing

2 months agoBump CRYPTO_EX_DATA_MAX_INDEX to 32
tb [Sat, 3 Aug 2024 07:45:26 +0000 (07:45 +0000)]
Bump CRYPTO_EX_DATA_MAX_INDEX to 32

rust-openssl tests do something weird and need lots of ex data (one index
for each registered callback, for example). This makes the regress pass
again.

noticed by anton
ok jsing

2 months agoUse proper size for allocating indexes
tb [Sat, 3 Aug 2024 07:43:33 +0000 (07:43 +0000)]
Use proper size for allocating indexes

It's a double pointer, so we should allocate a pointer size, not the entire
struct. This saves roughly 500B per class.

CID 507397

ok jsing

2 months agoDocument SSL_CTX_set_cert_store
tb [Sat, 3 Aug 2024 04:53:01 +0000 (04:53 +0000)]
Document SSL_CTX_set_cert_store

From Kenjiro Nakayama

2 months agoPrepare to provide SSL_CTX_set1_cert_store()
tb [Sat, 3 Aug 2024 04:50:27 +0000 (04:50 +0000)]
Prepare to provide SSL_CTX_set1_cert_store()

SSL_CTX_set_cert_store() should have been called SSL_CTX_set0_cert_store()
since it takes ownership of the store argument. Apparently a few people ran
into the issue of not bumping the refcount themselves, leading to use after
frees about 10 years ago. This is a quite rarely used API and there are no
misuses in the ports tree, but since someone did the work of writing a diff,
we can still add it.

Needless to say that SSL_CTX_get_cert_store() obviously has the exact same
issue and nobody seems to have thought of adding a get0 or get1 version to
match...

Fixes https://github.com/libressl/openbsd/issues/71
From Kenjiro Nakayama

2 months agoCode patch out the retpoline in the signal trampoline just
guenther [Fri, 2 Aug 2024 22:24:51 +0000 (22:24 +0000)]
Code patch out the retpoline in the signal trampoline just
like the others.

Nudged, test, and ok deraadt@

2 months agoThe {get,set}res[ug]id(2) family are in POSIX-2024's XSI option,
guenther [Fri, 2 Aug 2024 22:14:54 +0000 (22:14 +0000)]
The {get,set}res[ug]id(2) family are in POSIX-2024's XSI option,
so adjust the #include visibility and update the manpage.

ok millert@

2 months agonc(1): remove useless function pointer dereferencing
jan [Fri, 2 Aug 2024 21:08:47 +0000 (21:08 +0000)]
nc(1): remove useless function pointer dereferencing

ok tb@

2 months agoFix previous
tb [Fri, 2 Aug 2024 16:02:35 +0000 (16:02 +0000)]
Fix previous

Arguably the want_protocol entries in various of these tests are incorrect
but I'll leave that for another day.

2 months agoAdjust tls regress for protocol parsing fixes
tb [Fri, 2 Aug 2024 15:02:22 +0000 (15:02 +0000)]
Adjust tls regress for protocol parsing fixes

This mostly reverts what was done by beck in Tallinn and adjust tlstest
to add new test cases and now failing connection tests.

2 months agolibtls: fix legacy protocol parsing
tb [Fri, 2 Aug 2024 15:00:01 +0000 (15:00 +0000)]
libtls: fix legacy protocol parsing

Redefining TLS_PROTOCOL_TLSv1_0 and TLS_PROTOCOL_TLSv1_1 to be the same
as TLS_PROTOCOL_TLSv1_2 had undesired side effects, as witnessed in the
accompanying regress tests. The protocol string all:tlsv1.0 would disable
TLSv1.2 (so only enable TLSv1.3) and tlsv1.2:!tlsv1.1 would disable all
protocols.

It makes more sense to ignore any setting of TLSv1.0 and TLSv1.1, so if
you request 'tlsv1.1' you get no protocol, but 'all:!tlsv1.1' will enable
the two supported protocols TLSv1.3 and TLSv1.2.

Restore the defines to their original values and adjust the parsing code
to set/unset them.

Issue reported by Kenjiro Nakayama
Fixes https://github.com/libressl/openbsd/issues/151

with/ok jsing

2 months agoregen
mvs [Fri, 2 Aug 2024 14:35:56 +0000 (14:35 +0000)]
regen

2 months agoPush kernel lock down to sysctl(2).
mvs [Fri, 2 Aug 2024 14:34:45 +0000 (14:34 +0000)]
Push kernel lock down to sysctl(2).

Unlock few obvious immutable or read-only variables from "kern.*" and
"hw.*" paths. Keep the rest variables locked as before, include pages
wiring. Use new sysctl_vs{,un}lock() functions introduced for thar
purpose.

In kern.* path:

 - KERN_OSTYPE, KERN_OSRELEASE, KERN_OSVERSION, KERN_VERSION -
   immutable;
 - KERN_NUMVNODES - read-only access to integer;
 - KERN_MBSTAT - read-only access to per-CPU counters;

In hw.* path:

 - HW_MACHINE, HW_MODEL, HW_NCPUONLINE, HW_PHYSMEM, HW_VENDOR,
   HW_PRODUCT, HW_VERSION, HW_SERIALNO, HW_UUID, HW_PHYSMEM64 -
   immutable;
 - HW_USERMEM and HW_USERMEM64 - `physmem' is immutable, uvmexp.wired
   is mutable but integer; read-only access to localy stored difference
   between `physmem' and uvmexp.wired;
 - `hw_vars' - read-only access to integers; some of them like
   HW_BYTEORDER and HW_PAGESIZE are immutable;

ok bluhm kettenis

2 months agofree class->indexes in CRYPTO_cleanup_all_ex_data()
tb [Fri, 2 Aug 2024 14:02:33 +0000 (14:02 +0000)]
free class->indexes in CRYPTO_cleanup_all_ex_data()

ok jsing

2 months agoBackout previous. It was incompleted and too early.
yasuoka [Fri, 2 Aug 2024 12:43:55 +0000 (12:43 +0000)]
Backout previous.  It was incompleted and too early.

2 months agoRewrite CRYPTO_EX_DATA.
jsing [Fri, 2 Aug 2024 10:48:54 +0000 (10:48 +0000)]
Rewrite CRYPTO_EX_DATA.

CRYPTO_EX_DATA exists as a way to allow an application to attach data to
various components in libcrypto and libssl. The general idea is that there
are various "classes" (e.g. RSA) and an application can get an "index"
(which can have new/dup/free functions provided). The application can then
use the index to store a pointer to some form of data within that class,
for later retrieval.

However, even by OpenSSL standards, this is an insane API. The current
implementation allows for data to be set without calling new, indexes
can be used without allocation, new can be called without actually getting
an index and dup can be called either after new or without new (see regress
and RSA_get_ex_new_index(3)/CRYPTO_set_ex_data(3) for more details). On
top of this, the previous "overhaul" of the code was written to be
infinitely extensible.

For now, the rewrite intends to maintain the existing behaviour - once we
bed this down we can attempt to ratchet the API requirements and require
some sort of sensible sequence. The only intentional change is that there
is now a hard limit on the number of indexes that can be allocated
(previously there was none, relying only on ENOMEM).

ok tb@

2 months agoSwitch off unreferenced power resources in DVACT_POWERDOWN instead of
kettenis [Fri, 2 Aug 2024 09:28:35 +0000 (09:28 +0000)]
Switch off unreferenced power resources in DVACT_POWERDOWN instead of
DVACT_SUSPEND.  Fixes an issue with (un)hibernate where we don't attach
xhci(4) controllers, which would make is turn the xhci(4) off inadvertedly
because its power resource wasn't referenced.

ok mlarkin@

2 months agosync
tb [Fri, 2 Aug 2024 05:00:35 +0000 (05:00 +0000)]
sync

2 months agobump minor after yesterday's symbol addition
tb [Fri, 2 Aug 2024 04:59:55 +0000 (04:59 +0000)]
bump minor after yesterday's symbol addition

requested by kettenis

2 months agoPut exported symbols of libz under our own control
tb [Fri, 2 Aug 2024 04:59:23 +0000 (04:59 +0000)]
Put exported symbols of libz under our own control

This adds a Symbols.list containing the exported symbols like in other
libraries in base. If upstream adds new API this won't necessarily need
a bump on our side.

help/ok kettenis

3 months agogetentropy(2) is in POSIX-2024, so adjust the #include visibility,
guenther [Fri, 2 Aug 2024 01:53:21 +0000 (01:53 +0000)]
getentropy(2) is in POSIX-2024, so adjust the #include visibility,
change the "too much" error to EINVAL, add GETENTROPY_MAX to
<limits.h> (via sys/syslimits.h), and update the manpage.

ok deraadt@

3 months agoAdd qcgpio at fdt.
mglocker [Thu, 1 Aug 2024 21:55:48 +0000 (21:55 +0000)]
Add qcgpio at fdt.

ok kettenis@

3 months agoRun socket splice idle timeout without kernel lock.
bluhm [Thu, 1 Aug 2024 17:19:01 +0000 (17:19 +0000)]
Run socket splice idle timeout without kernel lock.

OK mvs@

3 months agoBump libsndio pkg-config version to 1.10.0
ratchov [Thu, 1 Aug 2024 16:25:34 +0000 (16:25 +0000)]
Bump libsndio pkg-config version to 1.10.0

ok tb@

3 months agobump posix spec from 2008 -> 2024;
jmc [Thu, 1 Aug 2024 14:44:34 +0000 (14:44 +0000)]
bump posix spec from 2008 -> 2024;
no documented changes.