openbsd
15 months agodrm/amdgpu/pm: make gfxclock consistent for sienna cichlid
jsg [Fri, 28 Jul 2023 06:32:14 +0000 (06:32 +0000)]
drm/amdgpu/pm: make gfxclock consistent for sienna cichlid

From Alex Deucher
0b4f3d9a5c8a21486f806fa6583a6a21e3922bab in linux-6.1.y/6.1.42
a4eb11824170d742531998f4ebd1c6a18b63db47 in mainline linux

15 months agodma-buf/dma-resv: Stop leaking on krealloc() failure
jsg [Fri, 28 Jul 2023 06:30:13 +0000 (06:30 +0000)]
dma-buf/dma-resv: Stop leaking on krealloc() failure

From Ville Syrjala
19e7b9f1f7e1cb92a4cc53b4c064f7fb4b1f1983 in linux-6.1.y/6.1.42
05abb3be91d8788328231ee02973ab3d47f5e3d2 in mainline linux

15 months agoAdd CODEPATCH_CODE() macro to simplify defining a symbol for a chunk
guenther [Fri, 28 Jul 2023 06:18:35 +0000 (06:18 +0000)]
Add CODEPATCH_CODE() macro to simplify defining a symbol for a chunk
of code to use in codepatching.  Use that for all the existing
codepatching snippets.

Similarly, add CODEPATCH_CODE_LEN() which is CODEPATCH_CODE() but also
provides a short variable holding the length of the codepatch snippet.
Use that for some snippets that will be used for retpoline replacement.

ok kettenis@ deraadt@

15 months agoRemove ASN1_BIT_STRING_set doco
tb [Fri, 28 Jul 2023 05:53:10 +0000 (05:53 +0000)]
Remove ASN1_BIT_STRING_set doco

15 months agoRemove stale .Xr missed in previous
tb [Fri, 28 Jul 2023 05:49:53 +0000 (05:49 +0000)]
Remove stale .Xr missed in previous

15 months agosync
tb [Fri, 28 Jul 2023 05:48:54 +0000 (05:48 +0000)]
sync

15 months agoRemove ASN1_BIT_STRING_num_asc.3
tb [Fri, 28 Jul 2023 05:48:33 +0000 (05:48 +0000)]
Remove ASN1_BIT_STRING_num_asc.3

15 months ago%C is a callable macro in mdoc(7) so, as we do for %D, escape it;
jmc [Fri, 28 Jul 2023 05:42:36 +0000 (05:42 +0000)]
%C is a callable macro in mdoc(7) so, as we do for %D, escape it;

15 months agodon't need to start a command here; use ssh -N instead.
djm [Fri, 28 Jul 2023 05:33:15 +0000 (05:33 +0000)]
don't need to start a command here; use ssh -N instead.
Fixes failure on cygwin spotted by Darren

15 months agoFix off-by-one: SEFF0ECX_WAITPKG is bit 5, not bit 4.
jsg [Fri, 28 Jul 2023 03:06:46 +0000 (03:06 +0000)]
Fix off-by-one: SEFF0ECX_WAITPKG is bit 5, not bit 4.

from guenther@ in amd64

15 months agodon't incorrectly truncate logged strings retrieved from PKCS#11
djm [Thu, 27 Jul 2023 22:26:49 +0000 (22:26 +0000)]
don't incorrectly truncate logged strings retrieved from PKCS#11
modules; based on GHPR406 by Jakub Jelen; ok markus

15 months agomake sshd_config AuthorizedPrincipalsCommand and AuthorizedKeysCommand
djm [Thu, 27 Jul 2023 22:25:17 +0000 (22:25 +0000)]
make sshd_config AuthorizedPrincipalsCommand and AuthorizedKeysCommand
accept the %D (routing domain) and a new %C (connection address/port
4-tuple) as expansion sequences; ok markus

15 months agoincrease default KDF work-factor for OpenSSH format private keys from
djm [Thu, 27 Jul 2023 22:23:05 +0000 (22:23 +0000)]
increase default KDF work-factor for OpenSSH format private keys from
16 to 24; { feedback ok } x { deraadt markus }

15 months agoFix routing message size check in route_output(). `rtm_hdrlen' type is
mvs [Thu, 27 Jul 2023 22:20:51 +0000 (22:20 +0000)]
Fix routing message size check in route_output(). `rtm_hdrlen' type is
u_short, so add sizeof(rtm->rtm_hdrlen) instead of 1 to its offset
within rt_msghdr structure.

ok claudio

15 months agoFix inline vlan-tag handling of forwarded LRO packets from ix(4)
jan [Thu, 27 Jul 2023 20:21:25 +0000 (20:21 +0000)]
Fix inline vlan-tag handling of forwarded LRO packets from ix(4)

Implement vlan-tag parsing ether_extract_header() to use this information
to adjust the MSS calculation of LRO packets.

pointed out by mbuhl and bluhm

with tweaks from bluhm

ok bluhm@

15 months agoMake _eprol (and _etext) hidden. Fixes "cc -pg" on arm64 where the
kettenis [Thu, 27 Jul 2023 18:17:14 +0000 (18:17 +0000)]
Make _eprol (and _etext) hidden.  Fixes "cc -pg" on arm64 where the
current code which has a local _eprol label in the inline asm and a
global _eprol declaration results in an incorrect relocation.  This
also removes an unnecessary relocation on hppa (and possible on
other architectures as well).

ok guenther@

15 months agosched_init_cpu: move profclock staggering to clockintr_cpu_init()
cheloha [Thu, 27 Jul 2023 17:52:53 +0000 (17:52 +0000)]
sched_init_cpu: move profclock staggering to clockintr_cpu_init()

initclocks() runs after sched_init_cpu() is called for secondary CPUs,
so profclock_period is still zero and the clockintr_stagger() call for
spc_profclock is useless.  For now, just stagger spc_profclock during
clockintr_cpu_init() along with everything else.

15 months agoFix off-by-one: SEFF0ECX_WAITPKG is bit 5, not bit 4.
guenther [Thu, 27 Jul 2023 16:33:56 +0000 (16:33 +0000)]
Fix off-by-one: SEFF0ECX_WAITPKG is bit 5, not bit 4.

ok mlarkin@ kettenis@ deraadt@

15 months agovmd(8): fix verbose logging in child processes.
dv [Thu, 27 Jul 2023 09:27:43 +0000 (09:27 +0000)]
vmd(8): fix verbose logging in child processes.

The introduction of exec for vm's and fork+exec for virtio block
and network devices missed passing the log verbosity in argv. Add
the "-v" arguments based on current vverbosity at time of exec.

ok brynet@, mlarkin@

15 months agoPrepare the ssltest for the upcoming bump
tb [Thu, 27 Jul 2023 07:08:09 +0000 (07:08 +0000)]
Prepare the ssltest for the upcoming bump

This is a hack. The test is in rather poor shape and it is hard to tell
whether it still does what it is supposed to be doing. Hopefully somemone
will rewrite this in a style that doesn't make me squeal on opening this
file...

15 months agoRemove antiquated options output
tb [Thu, 27 Jul 2023 07:01:50 +0000 (07:01 +0000)]
Remove antiquated options output

This is uninteresting and rather meaningless except for the implementer.
No need to have several hundred lines of code backing half a dozen symbols
in the public API for this.

ok jsing

15 months agoAnnotate bogus output as incorrect
tb [Thu, 27 Jul 2023 06:41:39 +0000 (06:41 +0000)]
Annotate bogus output as incorrect

Some people already have way too many simple and not too important diffs in
their inbox. This isn't worth kicking something more important out of the
queue.

15 months agoFix two mandoc -Tlint warnings left in previous
tb [Thu, 27 Jul 2023 06:20:45 +0000 (06:20 +0000)]
Fix two mandoc -Tlint warnings left in previous

15 months agoFix typo
tb [Thu, 27 Jul 2023 05:31:28 +0000 (05:31 +0000)]
Fix typo

15 months agoReport speculation control bits in dmesg cpu lines.
guenther [Thu, 27 Jul 2023 01:51:35 +0000 (01:51 +0000)]
Report speculation control bits in dmesg cpu lines.

ok mlarkin@

15 months agoThe interrupt resume (Xdoreti) and recurse (Xspllower) paths are
guenther [Thu, 27 Jul 2023 00:30:07 +0000 (00:30 +0000)]
The interrupt resume (Xdoreti) and recurse (Xspllower) paths are
invoked using indirect branches and should have endbr64's.

ok deraadt@

15 months agoFollow the lead of mips64 and make cpu_idle_cycle() just call the
guenther [Thu, 27 Jul 2023 00:28:24 +0000 (00:28 +0000)]
Follow the lead of mips64 and make cpu_idle_cycle() just call the
indirect pointer itself and provide an initializer for that going
to the default "just enable interrupts and halt" path.

ok kettenis@

15 months agomake ssh -f (fork after authentication) work properly in multiplexed
djm [Wed, 26 Jul 2023 23:06:00 +0000 (23:06 +0000)]
make ssh -f (fork after authentication) work properly in multiplexed
cases (inc. ControlPersist). bz3589 bz3589
Based on patches by Peter Chubb; ok dtucker@

15 months agoPrepare this test for the upcoming bump
tb [Wed, 26 Jul 2023 22:51:01 +0000 (22:51 +0000)]
Prepare this test for the upcoming bump

15 months agoRemove comment containing an outdated path
tb [Wed, 26 Jul 2023 22:46:06 +0000 (22:46 +0000)]
Remove comment containing an outdated path

15 months agorevert previous: dlg tells me it's incorrect
jmc [Wed, 26 Jul 2023 20:23:22 +0000 (20:23 +0000)]
revert previous: dlg tells me it's incorrect

15 months agoRemove ERR_get_{err_state,string}_table documentation
tb [Wed, 26 Jul 2023 20:15:51 +0000 (20:15 +0000)]
Remove ERR_get_{err_state,string}_table documentation

15 months agoRemove BUF_reverse and BUF_strdup documentation
tb [Wed, 26 Jul 2023 20:12:45 +0000 (20:12 +0000)]
Remove BUF_reverse and BUF_strdup documentation

15 months agosync
tb [Wed, 26 Jul 2023 20:09:25 +0000 (20:09 +0000)]
sync

15 months agoBN_BLINDING will be made internal-only. Remove its documentation
tb [Wed, 26 Jul 2023 20:08:59 +0000 (20:08 +0000)]
BN_BLINDING will be made internal-only. Remove its documentation

15 months agosync
tb [Wed, 26 Jul 2023 20:01:51 +0000 (20:01 +0000)]
sync

15 months agoBIO_f_asn1 and the prefix/suffix API will be removed
tb [Wed, 26 Jul 2023 20:01:04 +0000 (20:01 +0000)]
BIO_f_asn1 and the prefix/suffix API will be removed

Remove their documentation and mark some associated constants as
intentionally undocumented until they will be removed from public
headers.

15 months agoDocument CMS_SignerInfos_get_version and CMS_get_version which will
tb [Wed, 26 Jul 2023 19:30:43 +0000 (19:30 +0000)]
Document CMS_SignerInfos_get_version and CMS_get_version which will
be added in the upcoming bump.

15 months agoTweak EC_GROUP_check_discriminant()
tb [Wed, 26 Jul 2023 17:15:25 +0000 (17:15 +0000)]
Tweak EC_GROUP_check_discriminant()

Make the logic and control flow a bit more explicit and use a single
extra variable for computing the discriminant. Call it discriminant,
not tmp, tmp_1 or tmp_2.

ok jsing

15 months agoUnindent a big block in EC_GROUP_get_affine_coordinates()
tb [Wed, 26 Jul 2023 12:26:48 +0000 (12:26 +0000)]
Unindent a big block in EC_GROUP_get_affine_coordinates()

15 months agoIntroduce and use ec_encode_scalar()
tb [Wed, 26 Jul 2023 12:24:28 +0000 (12:24 +0000)]
Introduce and use ec_encode_scalar()

This introduces two "inverses" of the ec_decode_scalar() function that take
a BIGNUM, reduce it modulo p and then encodes it into the curve's field
representation. For setting projective coordinates, we need a specialized
helper that deals with the Z_is_one optimization that is used to optimize
for calculations in standard affine coordinates of the projective plane.
This is used for simplifying EC_POINT_set_Jprojective_coordinates() and
for cleaning up and streamlining EC_GROUP_set_curve().

ok jsing

15 months agoGarbage collect the unused order in check_discriminant()
tb [Wed, 26 Jul 2023 12:16:55 +0000 (12:16 +0000)]
Garbage collect the unused order in check_discriminant()

ok jsing

15 months agoStreamline check_discriminant()
tb [Wed, 26 Jul 2023 12:16:13 +0000 (12:16 +0000)]
Streamline check_discriminant()

Instead of inlining EC_GROUP_get_curve(), we can simply call it...

ok jsing

15 months agoIntroduce ec_decode_scalar()
tb [Wed, 26 Jul 2023 12:12:13 +0000 (12:12 +0000)]
Introduce ec_decode_scalar()

This is a helper that decodes a scalar from field-internal representation
to a representation as a BIGNUM in the interval [0, p). This simplifies
EC_GROUP_get_curve() and EC_POINT_get_Jprojective_coordinates() to a few
obvious lines and prepares cleanup in EC_POINT_get_affine_coordinates().

ok jsing

15 months agoUse EC_POINT_set_to_infinity() rather than inlining it
tb [Wed, 26 Jul 2023 11:58:34 +0000 (11:58 +0000)]
Use EC_POINT_set_to_infinity() rather than inlining it

15 months agoShutd down the power domains suring suspend.
kettenis [Wed, 26 Jul 2023 11:09:24 +0000 (11:09 +0000)]
Shutd down the power domains suring suspend.

ok patrick@, tobhe@

15 months agodrm/atomic: Fix potential use-after-free in nonblocking commits
jsg [Wed, 26 Jul 2023 11:06:51 +0000 (11:06 +0000)]
drm/atomic: Fix potential use-after-free in nonblocking commits

From Daniel Vetter
e4a0e09b79bd2c0895c508cdc5e0265a083cc05d in linux-6.1.y/6.1.40
4e076c73e4f6e90816b30fcd4a0d7ab365087255 in mainline linux

15 months agocall kref_init() in drm_attach() matching the call in drm_dev_init()
jsg [Wed, 26 Jul 2023 11:04:07 +0000 (11:04 +0000)]
call kref_init() in drm_attach() matching the call in drm_dev_init()

15 months agoRemove constructor attribute for OPENSSL_cpuid_setup() on arm/aarch64.
jsing [Wed, 26 Jul 2023 09:57:34 +0000 (09:57 +0000)]
Remove constructor attribute for OPENSSL_cpuid_setup() on arm/aarch64.

OPENSSL_cpuid_setup() is invoked via OPENSSL_init_crypto(), whihc is
triggered by various entry points to the library. As such, we do not need
to invoke it as a constructor.

ok tb@

15 months agodrm/amd/pm: conditionally disable pcie lane/speed switching for SMU13
jsg [Wed, 26 Jul 2023 06:45:30 +0000 (06:45 +0000)]
drm/amd/pm: conditionally disable pcie lane/speed switching for SMU13

From Mario Limonciello
bd8cd38d3ac6b6410ac4e7401ef3dca057a9b285 in linux-6.1.y/6.1.40
31c7a3b378a136adc63296a2ff17645896fcf303 in mainline linux

15 months agodrm/amd/pm: share the code around SMU13 pcie parameters update
jsg [Wed, 26 Jul 2023 06:43:00 +0000 (06:43 +0000)]
drm/amd/pm: share the code around SMU13 pcie parameters update

From Evan Quan
11dc77a645b78b2fa8e730232f530778af4f710d in linux-6.1.y/6.1.40
dcb489bae65d92cfd26da22c7a0d6665b06ecc63 in mainline linux

15 months agodrm/ttm: Don't leak a resource on swapout move error
jsg [Wed, 26 Jul 2023 06:40:47 +0000 (06:40 +0000)]
drm/ttm: Don't leak a resource on swapout move error

From Thomas Hellstrom
f037f6038736bd038ddb9c72de979a08cc1ee3b5 in linux-6.1.y/6.1.40
a590f03d8de7c4cb7ce4916dc7f2fd10711faabe in mainline linux

15 months agodrm/amdgpu: avoid restore process run into dead loop.
jsg [Wed, 26 Jul 2023 06:39:07 +0000 (06:39 +0000)]
drm/amdgpu: avoid restore process run into dead loop.

From gaba
fe26d0fa9408896e821d1c8dd2ab52171da03ed9 in linux-6.1.y/6.1.40
8a774fe912ff09e39c2d3a3589c729330113f388 in mainline linux

15 months agodrm/amd/display: Add monitor specific edid quirk
jsg [Wed, 26 Jul 2023 06:37:05 +0000 (06:37 +0000)]
drm/amd/display: Add monitor specific edid quirk

From Aurabindo Pillai
8404d0e274ac1f780e29fa6380ad4e2f9c4bd3da in linux-6.1.y/6.1.40
613a7956deb3b1ffa2810c6d4c90ee9c3d743dbb in mainline linux

15 months agodrm/amd/display: Correct `DMUB_FW_VERSION` macro
jsg [Wed, 26 Jul 2023 06:35:39 +0000 (06:35 +0000)]
drm/amd/display: Correct `DMUB_FW_VERSION` macro

From Mario Limonciello
7ad40467fdfb57bdd8540a4a08cbb448f323c275 in linux-6.1.y/6.1.40
274d205cb59f43815542e04b42a9e6d0b9b95eff in mainline linux

15 months agodrm/amd/display: add a NULL pointer check
jsg [Wed, 26 Jul 2023 06:33:09 +0000 (06:33 +0000)]
drm/amd/display: add a NULL pointer check

From Sung-huai Wang
ad85fc99d6389bde08dc1dec55a2443514feba6e in linux-6.1.y/6.1.40
0f48a4b83610cb0e4e0bc487800ab69f51b4aca6 in mainline linux

15 months agodrm/amdgpu: fix clearing mappings for BOs that are always valid in VM
jsg [Wed, 26 Jul 2023 06:31:05 +0000 (06:31 +0000)]
drm/amdgpu: fix clearing mappings for BOs that are always valid in VM

From Samuel Pitoiset
91e69e67d401eb67178ce5992ddc9b1046b39ee7 in linux-6.1.y/6.1.40
ea2c3c08554601b051d91403a241266e1cf490a5 in mainline linux

15 months agodrm/amd/display: disable seamless boot if force_odm_combine is enabled
jsg [Wed, 26 Jul 2023 06:29:09 +0000 (06:29 +0000)]
drm/amd/display: disable seamless boot if force_odm_combine is enabled

From Leo Chen
3546f76c7ad87d0ade575a5c4acad5e4704d927c in linux-6.1.y/6.1.40
26518b39181876064850209ecdab48c0ee5924b1 in mainline linux

15 months agodrm/amd/display: Remove Phantom Pipe Check When Calculating K1 and K2
jsg [Wed, 26 Jul 2023 06:27:30 +0000 (06:27 +0000)]
drm/amd/display: Remove Phantom Pipe Check When Calculating K1 and K2

From Austin Zheng
a2ef3163c3604788abdc060cab74c95ed44fec1a in linux-6.1.y/6.1.40
1966bbfdfe476d271b338336254854c5edd5a907 in mainline linux

15 months agodrm/amd/display: edp do not add non-edid timings
jsg [Wed, 26 Jul 2023 06:26:05 +0000 (06:26 +0000)]
drm/amd/display: edp do not add non-edid timings

From Hersen Wu
c4629c757528f87ee22ea8fe16c645e471b9cbf6 in linux-6.1.y/6.1.40
7a0e005c7957931689a327b2a4e7333a19f13f95 in mainline linux

15 months agodrm/amd/display: fix seamless odm transitions
jsg [Wed, 26 Jul 2023 06:24:24 +0000 (06:24 +0000)]
drm/amd/display: fix seamless odm transitions

From Dmytro Laktyushkin
31fb25ecbba6ebe11dc497952310b986e05dd3a0 in linux-6.1.y/6.1.40
75c2b7ed080d7421157c03064be82275364136e7 in mainline linux

15 months agodrm/atomic: Allow vblank-enabled + self-refresh "disable"
jsg [Wed, 26 Jul 2023 06:22:43 +0000 (06:22 +0000)]
drm/atomic: Allow vblank-enabled + self-refresh "disable"

From Brian Norris
db0a9a29912cdc1834214fe35101a4917f8b9907 in linux-6.1.y/6.1.40
9d0e3cac3517942a6e00eeecfe583a98715edb16 in mainline linux

15 months agodrm/amd/pm: add abnormal fan detection for smu 13.0.0
jsg [Wed, 26 Jul 2023 06:20:51 +0000 (06:20 +0000)]
drm/amd/pm: add abnormal fan detection for smu 13.0.0

From Kenneth Feng
13e8af958cfa97d93d9824b863208c0bb0977361 in linux-6.1.y/6.1.40
2da0036ea99bccb27f7fe3cf2aa2900860e9be46 in mainline linux

15 months agodrm/amdgpu: Fix minmax warning
jsg [Wed, 26 Jul 2023 06:19:33 +0000 (06:19 +0000)]
drm/amdgpu: Fix minmax warning

From Luben Tuikov
e8b6b7b8132500ecb241f7f685398028017ec0d3 in linux-6.1.y/6.1.40
abd51738fe754a684ec44b7a9eca1981e1704ad9 in mainline linux

15 months agodrm/amdgpu: add the fan abnormal detection feature
jsg [Wed, 26 Jul 2023 06:17:53 +0000 (06:17 +0000)]
drm/amdgpu: add the fan abnormal detection feature

From lyndonli
d7d53c669da90181827e42583582192646a4d933 in linux-6.1.y/6.1.40
ef5fca9f7294509ee5013af9e879edc5837c1d6c in mainline linux

15 months agodrm/amd/pm: revise the ASPM settings for thunderbolt attached scenario
jsg [Wed, 26 Jul 2023 06:16:19 +0000 (06:16 +0000)]
drm/amd/pm: revise the ASPM settings for thunderbolt attached scenario

From Evan Quan
c8c703befd2fb2ebbcc9cedbdc98953b52453a35 in linux-6.1.y/6.1.40
fd21987274463a439c074b8f3c93d3b132e4c031 in mainline linux

15 months agodrm/amdgpu/sdma4: set align mask to 255
jsg [Wed, 26 Jul 2023 06:14:40 +0000 (06:14 +0000)]
drm/amdgpu/sdma4: set align mask to 255

From Alex Deucher
4596c812916a582e16aedfb243aaee8d010c6220 in linux-6.1.y/6.1.40
e5df16d9428f5c6d2d0b1eff244d6c330ba9ef3a in mainline linux

15 months agodrm/client: Send hotplug event after registering a client
jsg [Wed, 26 Jul 2023 06:13:01 +0000 (06:13 +0000)]
drm/client: Send hotplug event after registering a client

From Thomas Zimmermann
7c880188c71066449a76de71de772198a0c30a7c in linux-6.1.y/6.1.40
27655b9bb9f0d9c32b8de8bec649b676898c52d5 in mainline linux

15 months agodrm/i915: Fix one wrong caching mode enum usage
jsg [Wed, 26 Jul 2023 06:10:51 +0000 (06:10 +0000)]
drm/i915: Fix one wrong caching mode enum usage

From Tvrtko Ursulin
5a9aecb6651c6e1ef8198c162340ebe172b7a551 in linux-6.1.y/6.1.40
113899c2669dff148b2a5bea4780123811aecc13 in mainline linux

15 months agodrm/i915: Don't preserve dpll_hw_state for slave crtc in Bigjoiner
jsg [Wed, 26 Jul 2023 06:09:12 +0000 (06:09 +0000)]
drm/i915: Don't preserve dpll_hw_state for slave crtc in Bigjoiner

From Stanislav Lisovskiy
f1e746aedd7dfbdea84b690c56154a11b68dc4de in linux-6.1.y/6.1.40
5c413188c68da0e4bffc93de1c80257e20741e69 in mainline linux

15 months ago-.Cd "pseudo-device gre"
jmc [Wed, 26 Jul 2023 05:56:48 +0000 (05:56 +0000)]
-.Cd "pseudo-device gre"
+.Cd "pseudo-device eoip"

15 months agoPrint error messages to stderr as opposed of using syslog.
anton [Wed, 26 Jul 2023 05:50:45 +0000 (05:50 +0000)]
Print error messages to stderr as opposed of using syslog.

15 months agoAdd CXXOPTS.
asou [Tue, 25 Jul 2023 20:19:14 +0000 (20:19 +0000)]
Add CXXOPTS.

ok deraadt@

15 months agostatclock: move profil(2), GPROF code to profclock(), gmonclock()
cheloha [Tue, 25 Jul 2023 18:16:19 +0000 (18:16 +0000)]
statclock: move profil(2), GPROF code to profclock(), gmonclock()

This patch isolates profil(2) and GPROF from statclock().  Currently,
statclock() implements both profil(2) and GPROF through a complex
mechanism involving both platform code (setstatclockrate) and the
scheduler (pscnt, psdiv, and psratio).  We have a machine-independent
interface to the clock interrupt hardware now, so we no longer need to
do it this way.

- Move profil(2)-specific code from statclock() to a new clock
  interrupt callback, profclock(), in subr_prof.c.  Each
  schedstate_percpu has its own profclock handle.  The profclock is
  enabled/disabled for a given CPU when it is needed by the running
  thread during mi_switch() and sched_exit().

- Move GPROF-specific code from statclock() to a new clock interrupt
  callback, gmonclock(), in subr_prof.c.  Where available, each cpu_info
  has its own gmonclock handle .  The gmonclock is enabled/disabled for
  a given CPU via sysctl(2) in prof_state_toggle().

- Both profclock() and gmonclock() have a fixed period, profclock_period,
  that is initialized during initclocks().

- Export clockintr_advance(), clockintr_cancel(), clockintr_establish(),
  and clockintr_stagger() via <sys/clockintr.h>.  They have external
  callers now.

- Delete pscnt, psdiv, psratio.  From schedstate_percpu, also delete
  spc_pscnt and spc_psdiv.  The statclock frequency is not dynamic
  anymore so these variables are now useless.

- Delete code/state related to the dynamic statclock frequency from
  kern_clockintr.c.  The statclock frequency can still be pseudo-random,
  so move the contents of clockintr_statvar_init() into clockintr_init().

With input from miod@, deraadt@, and claudio@.  Early revisions
cleaned up by claudio.  Early revisions tested by claudio@.  Tested by
cheloha@ on amd64, arm64, macppc, octeon, and sparc64 (sun4v).
Compile- and boot- tested on i386 by mlarkin@.  riscv64 compilation
bugs found by mlarkin@.  Tested on riscv64 by jca@.  Tested on
powerpc64 by gkoehler@.

15 months agostop building unused dhclient
kn [Tue, 25 Jul 2023 14:51:38 +0000 (14:51 +0000)]
stop building unused dhclient

replaced by dhcpleased in 2021, no install media ships dhclient anymore.

OK florian

15 months agoExtend the PCKBC_CANT_TRANSLATE feature, specific to Tadpole/RDI hardware,
miod [Tue, 25 Jul 2023 10:00:44 +0000 (10:00 +0000)]
Extend the PCKBC_CANT_TRANSLATE feature, specific to Tadpole/RDI hardware,
to also support scan code set #3 in addition to the existing scan code set #2.

This makes the built-in keyboard on the Tadpole UltraBook IIe work.

15 months agoFix a few more 0/NULL misspellings
tb [Tue, 25 Jul 2023 10:00:04 +0000 (10:00 +0000)]
Fix a few more 0/NULL misspellings

15 months agoUse [a,b), not [a,b-1] in a comment
tb [Tue, 25 Jul 2023 08:10:30 +0000 (08:10 +0000)]
Use [a,b), not [a,b-1] in a comment

15 months agoEC_POINT_is_on_curve() error is -1, not 0.
tb [Tue, 25 Jul 2023 06:57:26 +0000 (06:57 +0000)]
EC_POINT_is_on_curve() error is -1, not 0.

ok miod

15 months agocpu_idle_{enter,leave} are no-ops on amd64 now, so just #define
guenther [Tue, 25 Jul 2023 06:48:37 +0000 (06:48 +0000)]
cpu_idle_{enter,leave} are no-ops on amd64 now, so just #define
away the calls

ok deraadt@ mpi@ miod@

15 months agoSome hypervisors (such as Hertzner) allow msr read of DE_CFG (which does
deraadt [Tue, 25 Jul 2023 04:42:00 +0000 (04:42 +0000)]
Some hypervisors (such as Hertzner) allow msr read of DE_CFG (which does
not indicate bit 9 set, but they could have a firmware fix) but then block
a msr write to bit 9 (which disables enough AVX optimizations
to prevent the exfiltration of data), with a fault.  So let's also check
the HV bit before we decide to modify the bit.  hypervisors are expected
to set that bit. tested by lucas at sexy dot is.
with jsg, ok mlarkin

15 months agoRegen
miod [Mon, 24 Jul 2023 19:33:29 +0000 (19:33 +0000)]
Regen

15 months agoFix prototype of getlogin_r syscall to match userland prototype (use size_t
miod [Mon, 24 Jul 2023 19:32:23 +0000 (19:32 +0000)]
Fix prototype of getlogin_r syscall to match userland prototype (use size_t
for the length argument).

Fortunately, this only affects 64-bit platforms and all of those would pass
the argument in registers, so there is no BE64 regression to expect and no
need to renumber that system call.

Found with afresh1@ as part of his perl syscall emulator.

15 months agoUse RAWKEY constants for scan code tables, rather than magic numbers.
miod [Mon, 24 Jul 2023 19:29:39 +0000 (19:29 +0000)]
Use RAWKEY constants for scan code tables, rather than magic numbers.
No functional change intended.

15 months agoFix scan code value for print screen key.
miod [Mon, 24 Jul 2023 19:28:40 +0000 (19:28 +0000)]
Fix scan code value for print screen key.

15 months agoFix two EC_POINT_is_on_curve() checks
tb [Mon, 24 Jul 2023 17:08:53 +0000 (17:08 +0000)]
Fix two EC_POINT_is_on_curve() checks

This API can fail for various reasons, in which case it returns -1, so
you need to check if (EC_POINT_is_on_curve_checks(...) <= 0).

ok miod

15 months agoMake sure we do not increase the escape sequence argument count beyond usable
miod [Mon, 24 Jul 2023 17:03:32 +0000 (17:03 +0000)]
Make sure we do not increase the escape sequence argument count beyond usable
bounds, in case escape sequences end up with too many semicolons.
Without this, the kernel could be made to access random memory after receiving
some specially crafted DCS or CSI terminal escape sequences.

Reported by David Leadbeater (dgl, dgl dot cx)

15 months agoFix EC_POINT_is_on_curve() checks.
tb [Mon, 24 Jul 2023 17:00:11 +0000 (17:00 +0000)]
Fix EC_POINT_is_on_curve() checks.

If not even the idiot who invented this API gets this right...

15 months agoFix a minibug in DH_check()
tb [Mon, 24 Jul 2023 16:25:02 +0000 (16:25 +0000)]
Fix a minibug in DH_check()

Or in the flag, don't overwrite the already set ones.

ok jsing

15 months agoSet DE_CFG[9] -- a chickenbit which stops Zenbleed. The chickenbit may
deraadt [Mon, 24 Jul 2023 14:53:58 +0000 (14:53 +0000)]
Set DE_CFG[9] -- a chickenbit which stops Zenbleed.  The chickenbit may
have other side-effects (not disclosed by AMD), and firmwares fixes may
be better (and have other side-effects, same story).  Newer processors
will probably be validated more carefully by AMD.
Issue found by Tavis Ormandy.
This is errata 7.2/033_amdcpu.patch.sig and 7.3/011_amdcpu.patch.sig
Zenbleed also blocked on select cpus by using errata
7.3/012_amdfirmware.patch.sig + 7.3/013_amdcpufirmware.patch /
7.2/034_amdfirmware.patch.sig + 7.2/035_amdcpufirmware.patch.sig
which load AMD cpu firmwares (firmware.openbsd.org is updated often to
contain the best firmwares)
ok jsg

15 months agoafter the boot block changes on i386, sthen noticed a dmesg change
jsg [Mon, 24 Jul 2023 14:02:36 +0000 (14:02 +0000)]
after the boot block changes on i386, sthen noticed a dmesg change
-pci0 at mainbus0 bus 0: configuration mode 1 (bios)
+pci0 at mainbus0 bus 0: configuration mode 1 (no bios)

deraadt then spent many hours narrowing down the problem to the inline
assembly in pciprobe().

It tried to save the carry flag result of pci bios present.  But did so
after a shift which sets the carry flag.  Ask for CF in the output and
avoid the shift.

ok deraadt@ kettenis@

15 months agoRemove OPENSSL_cpuid_setup() call from OPENSSL_add_all_algorithms_noconf()
jsing [Mon, 24 Jul 2023 10:24:58 +0000 (10:24 +0000)]
Remove OPENSSL_cpuid_setup() call from OPENSSL_add_all_algorithms_noconf()

OPENSSL_cpuid_setup() used to need to be called from
OPENSSL_add_all_algorithms(), as that was the main entry point. These days
we do on demand initialisation and there are various paths that lead to
OPENSSL_init_crypto() being called, which in turn calls
OPENSSL_cpuid_setup().

ok tb@

15 months agoMark read/write registers as non-overlapping for bn_qwmulw_{addqw_,}addw()
jsing [Mon, 24 Jul 2023 10:21:29 +0000 (10:21 +0000)]
Mark read/write registers as non-overlapping for bn_qwmulw_{addqw_,}addw()

This does not cause an issue currently, however if called differently to
their current usage, it can lead to an input being overwritten and
incorrect results being generated.

15 months agoUse C99 initializers for x509_name_ff
tb [Mon, 24 Jul 2023 06:56:54 +0000 (06:56 +0000)]
Use C99 initializers for x509_name_ff

15 months agoremove errstr -stats test
tb [Mon, 24 Jul 2023 05:54:12 +0000 (05:54 +0000)]
remove errstr -stats test

reminded by anton

15 months agoI added the 2nd argument (execpromises) to pledge(2), and then hunted
deraadt [Mon, 24 Jul 2023 01:02:47 +0000 (01:02 +0000)]
I added the 2nd argument (execpromises) to pledge(2), and then hunted
for more than a year code which could use it; but in all non-trivial
circumstances (programs which would benefit), I was stopped by issues
(in particular by environment variable behavious).  But I never looked
in ldd(1).  This is the FIRST one which is completely obvious.
spledge(NULL, "stdio rpath")
ok guenther

15 months agoavoid MAIL* environment variables to save a few bytes in install media
kn [Sun, 23 Jul 2023 23:42:03 +0000 (23:42 +0000)]
avoid MAIL* environment variables to save a few bytes in install media

ksh(1) MAIL, MAILCHECK, MAILPATH mbox handling is useless in the installer.

OK miod deraadt

15 months agouse SMALL to save a shave mfs and tmpfs bits in install media
kn [Sun, 23 Jul 2023 23:21:19 +0000 (23:21 +0000)]
use SMALL to save a shave mfs and tmpfs bits in install media

RAMDISK* has MFS and TMPFS disabled, so the installer can't use them.

OK deraadt

15 months agoman page typos; ok jmc@
naddy [Sun, 23 Jul 2023 20:04:45 +0000 (20:04 +0000)]
man page typos; ok jmc@

15 months agoImprove suspend/resume support. Power off the associated power domain
kettenis [Sun, 23 Jul 2023 11:49:17 +0000 (11:49 +0000)]
Improve suspend/resume support.  Power off the associated power domain
during suspend and re-initialize the "dwc3" specific registers upon
resume.

ok patrick@