openbsd
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.

3 months agosndiod: Fix insufficent check of input from clients
ratchov [Thu, 1 Aug 2024 14:36:27 +0000 (14:36 +0000)]
sndiod: Fix insufficent check of input from clients

Fixes possible sndiod(8) crashes caused by a global table overread
triggered by the client.

Found and analysed by Henry Ford <henryfordkjv at gmail.com>, thanks!

ok blumh, help from millert, mlarkin

3 months agobump posix spec 2008 -> 2024;
jmc [Thu, 1 Aug 2024 14:30:17 +0000 (14:30 +0000)]
bump posix spec 2008 -> 2024;

no change noted from 2008 spec, but i've added -h to the list
of extensions. that was an omission from our 2008 notes,
rather than a change in the spec.

3 months agobump posix spec 2008 -> 2024;
jmc [Thu, 1 Aug 2024 14:08:38 +0000 (14:08 +0000)]
bump posix spec 2008 -> 2024;

3 months agobump posix spec 2008 -> 2024;
jmc [Thu, 1 Aug 2024 14:08:07 +0000 (14:08 +0000)]
bump posix spec 2008 -> 2024;

3 months agoAdd device tree mapping for Samsung Galaxy Book4 Edge.
mglocker [Thu, 1 Aug 2024 11:53:03 +0000 (11:53 +0000)]
Add device tree mapping for Samsung Galaxy Book4 Edge.

ok kettenis@

3 months agovirtio: Fix dmamap_sync calls
sf [Thu, 1 Aug 2024 11:13:19 +0000 (11:13 +0000)]
virtio: Fix dmamap_sync calls

Add some missing bus_dmamap_sync calls, noticed with SEV and based on
an earlier diff by hshoexer@.

Some of the required syncing is done in virtio_check_vq(). Make sure
to use that function instead of calling call the virtqueue done
function directly from device specific drivers.

For viogpu this means that we cannot poll with virtio_dequeue() but
must use virtio_check_vq() instead. To make this more clear, rename
viogpu_vq_wait() into viogpu_vq_done(). While there, set the DRIVER_OK
flag even earlier. It must be set before using any virtqueue.

ok kettenis@

3 months agoRemove a comment that was committed by accident
tb [Thu, 1 Aug 2024 06:04:22 +0000 (06:04 +0000)]
Remove a comment that was committed by accident

3 months agosync with src
tb [Thu, 1 Aug 2024 04:03:10 +0000 (04:03 +0000)]
sync with src

3 months agosync with upstream
tb [Thu, 1 Aug 2024 04:02:26 +0000 (04:02 +0000)]
sync with upstream

This adds a new public API, deflateUsed(), so is technically a minor bump.
Nothing will be using this anytime soon, so no shared library bump.

discussed with deraadt during c2k24

3 months agoPossible to read the core file of a process.
asou [Thu, 1 Aug 2024 01:43:08 +0000 (01:43 +0000)]
Possible to read the core file of a process.

3 months agoUse arc4random_uniform(n) instead of "% n".
yasuoka [Thu, 1 Aug 2024 00:58:14 +0000 (00:58 +0000)]
Use arc4random_uniform(n) instead of "% n".

3 months agoChange the routing entry of the pool addresses from blackhole to
yasuoka [Thu, 1 Aug 2024 00:05:16 +0000 (00:05 +0000)]
Change the routing entry of the pool addresses from blackhole to
reject.  This is better because the routing cache can be purged by the
reject.

3 months agobump posix spec 2008 -> 2024;
jmc [Wed, 31 Jul 2024 17:09:23 +0000 (17:09 +0000)]
bump posix spec 2008 -> 2024;

3 months agoadd a random amount of time (up to 4 seconds) to the grace login time.
dlg [Wed, 31 Jul 2024 12:00:18 +0000 (12:00 +0000)]
add a random amount of time (up to 4 seconds) to the grace login time.

ok deraadt@ djm@

3 months agoAdd ufshci(4) at fdt support.
mglocker [Wed, 31 Jul 2024 10:07:33 +0000 (10:07 +0000)]
Add ufshci(4) at fdt support.

This lets me boot the Samsung Galaxy Book4 Edge in DT mode with ufshci(4),
based on a WIP DTB file.

ok kettenis@

3 months agoquote the book title (%T) reference, to prevent formatters (in this case
jmc [Wed, 31 Jul 2024 05:36:13 +0000 (05:36 +0000)]
quote the book title (%T) reference, to prevent formatters (in this case
groff) stumbling over literal words that match macro names;

3 months agoMake the Samsung Galaxy Book4 Edge (x1e80100) boot in ACPI mode;
mglocker [Tue, 30 Jul 2024 19:47:05 +0000 (19:47 +0000)]
Make the Samsung Galaxy Book4 Edge (x1e80100) boot in ACPI mode;
Until now the kernel did panic during early boot because we couldn't
respond to the battery requests sent to the 0xa1 "bus".  This (dummy)
driver registers a 0xa1 region space very early, and responds with a
static zero value to satisfy the battery requests on 0xa1, which let us
boot successfully to multi-user.

In the future this machine should be operated in FDT mode, and an improved
AML parsing interface might make this workaround obsolete also for RAMDISK.

Help and OK kettenis@, deraadt@

3 months agobump posix ref 2008 -> 2024;
jmc [Tue, 30 Jul 2024 19:16:49 +0000 (19:16 +0000)]
bump posix ref 2008 -> 2024;

3 months agofold the "timespec" info into the options list (since "time_arg" is already
jmc [Tue, 30 Jul 2024 13:58:02 +0000 (13:58 +0000)]
fold the "timespec" info into the options list (since "time_arg" is already
there). move the information of "time_arg" matching touch -t to the "time_arg"
description, instead of "timespec".

ok millert

3 months agobump posix spec from 2008 to 2024; ok millert
jmc [Tue, 30 Jul 2024 13:55:11 +0000 (13:55 +0000)]
bump posix spec from 2008 to 2024; ok millert

3 months agoExports the statistics when PIPEXDSESSION. Found by ymatsui at iij.
yasuoka [Tue, 30 Jul 2024 13:41:15 +0000 (13:41 +0000)]
Exports the statistics when PIPEXDSESSION.  Found by ymatsui at iij.

ok mvs

3 months agosched_yield() is not strong enough to overflow the recv buffer on some
claudio [Tue, 30 Jul 2024 13:28:27 +0000 (13:28 +0000)]
sched_yield() is not strong enough to overflow the recv buffer on some
systems. Use a proper sleep using usleep(100) instead.

3 months agoOn arm64, check whether the CPU has the BT feature to determine the expected
kettenis [Tue, 30 Jul 2024 09:07:00 +0000 (09:07 +0000)]
On arm64, check whether the CPU has the BT feature to determine the expected
outcome of the test.

3 months agoPopulate most of the remaining hwcap and hwcap2 flags based on the detected
kettenis [Tue, 30 Jul 2024 08:59:33 +0000 (08:59 +0000)]
Populate most of the remaining hwcap and hwcap2 flags based on the detected
CPU features.

ok naddy@

3 months agoRecognize the features defines for POSIX 1003.1-2024, giving new values
guenther [Tue, 30 Jul 2024 05:57:31 +0000 (05:57 +0000)]
Recognize the features defines for POSIX 1003.1-2024, giving new values
for __POSIX_VISIBLE and __XPG_VISIBLE.  ok millert@

3 months agobump posix spec from 2008 -> 2024:
jmc [Mon, 29 Jul 2024 20:25:55 +0000 (20:25 +0000)]
bump posix spec from 2008 -> 2024:
- "now" is a permissable timespec
- split the at and batch notes in STANDARDS
- note batch behaviour differences
- note default queue name differences

ok millert

3 months agoSet the target ACPI to S5 when we're powering down the machine. Prevents
kettenis [Mon, 29 Jul 2024 18:43:11 +0000 (18:43 +0000)]
Set the target ACPI to S5 when we're powering down the machine.  Prevents
us from trying to put devices into the D3 power state which some hardware
doesn't appreciate.

ok ratchov@, deraadt@