nicm [Mon, 10 Jul 2023 12:00:08 +0000 (12:00 +0000)]
It should no longer be necessary to ignore SIGCHLD because it is now
blocked around daemon(), and doing so causes trouble with newer libevent
(it cannot restore the original handler). Reported by Azat Khuzhin in
GitHub issue 3626.
nicm [Mon, 10 Jul 2023 09:35:46 +0000 (09:35 +0000)]
Loop around waitpid in client, from Azat Khuzhin.
espie [Mon, 10 Jul 2023 09:29:48 +0000 (09:29 +0000)]
finish v5.36, UList was a bit more work
nicm [Mon, 10 Jul 2023 09:24:53 +0000 (09:24 +0000)]
Use a stack for last panes line windows, from Thomas Bertschinger in
GitHub issue 3588.
djm [Mon, 10 Jul 2023 04:51:26 +0000 (04:51 +0000)]
misplaced debug message
guenther [Mon, 10 Jul 2023 03:32:10 +0000 (03:32 +0000)]
Enable Indirect Branch Tracking for amd64 userland, using XSAVES/XRSTORS
to save/restore the state and enabling it at exec-time (and for
signal handling) if the PS_NOBTCFI flag isn't set.
Note: this changes the format of the sc_fpstate data in the signal
context to possibly be in compressed format: starting now we just
guarantee that that state is in a format understood by the XRSTOR
instruction of the system that is being executed on.
At this time, passing sigreturn a corrupt sc_fpstate now results
in the process exiting with no attempt to fix it up or send a
T_PROTFLT trap. That may change.
prodding by deraadt@
issues with my original signal handling design identified by kettenis@
lots of base and ports preparation for this by deraadt@ and the
libressl and ports teams
ok deraadt@ kettenis@
guenther [Mon, 10 Jul 2023 03:31:57 +0000 (03:31 +0000)]
Add PS_NOBTCFI, a per-process flag indicating that Branch Target
Control Flow Integrity has been disabled for the process. At
exec-time, set that flag iff EXEC_NOBTCFI is passed from the ELF
exec bits (which set it based on presence of a PT_OPENBSD_NOBTCFI
segment). This will be used by the amd64 code.
kern_exec.c part by kettenis@
ok guenther@ deraadt@
tb [Mon, 10 Jul 2023 03:26:30 +0000 (03:26 +0000)]
Pull BIGNUM constants out of get_* function bodies
The get_rfc*_prime_* functions will be removed. The constants will remain
for the BN_get_rfc*_prime_* functions. Make the latter call BN_bin2bn()
directly on these constants rather than going through get_*. This avoids
some overlong lines. Also KNF for some comments.
Reduces the diff I currently carry by quite a bit.
tb [Mon, 10 Jul 2023 02:33:33 +0000 (02:33 +0000)]
BIO_indent: use %*s rather than puts in a loop
ok beck jsing millert
tb [Mon, 10 Jul 2023 02:29:28 +0000 (02:29 +0000)]
bn_print: string.h is no longer needed
deraadt [Mon, 10 Jul 2023 00:31:03 +0000 (00:31 +0000)]
sync
nicm [Sun, 9 Jul 2023 22:54:52 +0000 (22:54 +0000)]
Call closefrom after removing signals because newer libevent doesn't
like its signal fd being closed Azat Khuzhin.
tb [Sun, 9 Jul 2023 19:22:43 +0000 (19:22 +0000)]
Fix ndef_{prefix,suffix}()
These functions inline a poor version of asn1_item_flags_i2d() without
error checks. This can be replaced with a single correct call to
ASN1_item_ndef_i2d(). Mechanically adding malloc checks and checks for
negative did not really improve things all that much in a related project.
ok beck jsing
patrick [Sun, 9 Jul 2023 19:11:30 +0000 (19:11 +0000)]
It turns out that there are seperate pins for the PCIe Gen 2 and 3, which
means that the x4 PCIe controller can get all PCIe Gen 3 lines, while the
others then only get PCIe Gen 2 lines. Therefore the decision on how to
configure the mux needs to be adjusted so that the PCIe Gen 3 lines are
only routed to other PCIe controllers when they are explicitly configured
for them. While there, fix an obvious typo.
ok kettenis@
bluhm [Sun, 9 Jul 2023 19:06:48 +0000 (19:06 +0000)]
Fix route entry leak.
In in6_ifdetach() two struct rtentry were leaked. This was triggered
by regress/sbin/route and detected with btrace(8) refcnt. The
reference returned by rtalloc() must be freed with rtfree() in all
cases.
OK phessler@ mvs@
tb [Sun, 9 Jul 2023 18:37:58 +0000 (18:37 +0000)]
Reimplement BN_print() and BN_print_fp()
These can now use the internal version of BN_bn2hex() and be direct
wrappers of BIO_printf() and fprintf() as they should have been all
along.
ok jsing
tb [Sun, 9 Jul 2023 18:35:52 +0000 (18:35 +0000)]
Simplify bn_print()
We no longer need to do weird things as taking the length of the hex
string and jumping over a sign we didn't need.
ok jsing
tb [Sun, 9 Jul 2023 18:27:22 +0000 (18:27 +0000)]
Refactor BN_bn2hex()
Various outputting functions are variants of BN_bn2hex(). They do not
want a sign or they display the BIGNUM at nibble granularity instead
of byte granularity. So add this functionality to an internal variant
of BN_bn2hex().
with/ok jsing
patrick [Sun, 9 Jul 2023 16:33:49 +0000 (16:33 +0000)]
Add some more RK3588 PCIe clocks and resets.
ok kettenis@
bluhm [Sun, 9 Jul 2023 13:30:03 +0000 (13:30 +0000)]
Some Perl tests set owner, permissions, access time, and modification
time on files in the Perl source distribution. Replace the symlink
in obj directory with a copy, so that they do not modify OpenBSD
src tree.
kettenis [Sun, 9 Jul 2023 12:32:22 +0000 (12:32 +0000)]
Add mute control. This makes the mute button on laptops that use sncodec(4)
work.
ok tobhe@
jsing [Sun, 9 Jul 2023 10:37:32 +0000 (10:37 +0000)]
Provide optimised bn_subw() for riscv64.
jsing [Sun, 9 Jul 2023 10:36:53 +0000 (10:36 +0000)]
Provide optimised bn_addw() for riscv64.
bluhm [Sun, 9 Jul 2023 09:33:30 +0000 (09:33 +0000)]
Allocate enough memory to pervent SIGSEGV or SIGABRT due to write
after free. There was confusion between size of struct and size
of pointer.
bluhm [Sun, 9 Jul 2023 09:02:13 +0000 (09:02 +0000)]
sync perl 5.36.1
tobhe [Sun, 9 Jul 2023 08:04:09 +0000 (08:04 +0000)]
regen
tobhe [Sun, 9 Jul 2023 08:02:13 +0000 (08:02 +0000)]
Add suspend key support in wskbd and make it work on Apple ARM laptops.
feedback and ok miod@
tb [Sun, 9 Jul 2023 06:49:25 +0000 (06:49 +0000)]
Add Xr to EVP_MD_meth_new to top level library
tb [Sun, 9 Jul 2023 06:47:51 +0000 (06:47 +0000)]
Fix OpenBSD release
tb [Sun, 9 Jul 2023 06:45:48 +0000 (06:45 +0000)]
sync
tb [Sun, 9 Jul 2023 06:45:03 +0000 (06:45 +0000)]
ASN1_bn_print() will be removed soon. Remove docs.
jsg [Sun, 9 Jul 2023 01:12:04 +0000 (01:12 +0000)]
correct spelling
confirmed by Vladimir
jmc [Sat, 8 Jul 2023 21:51:45 +0000 (21:51 +0000)]
max_processes -> max_jobs in usage();
beck [Sat, 8 Jul 2023 20:38:23 +0000 (20:38 +0000)]
fix comment to unbreak things that care about warnings
ok tb@ krw@
tb [Sat, 8 Jul 2023 20:14:30 +0000 (20:14 +0000)]
sync
tb [Sat, 8 Jul 2023 20:13:13 +0000 (20:13 +0000)]
link EVP_MD_meth_new.3 to build
tb [Sat, 8 Jul 2023 20:01:26 +0000 (20:01 +0000)]
Import EVP_MD_meth_new.3 from OpenSSL 1.1.1 head
As usual, this has a lot of room for improvement, but it is better than
nothing at all. It leaves a dangling reference to EVP_MD_CTX_md_data(),
which I leave for schwarze to document. This is a terrible API and the
way it is used in the wild is terrifying.
tb [Sat, 8 Jul 2023 19:41:07 +0000 (19:41 +0000)]
Fix whitespace
espie [Sat, 8 Jul 2023 18:42:27 +0000 (18:42 +0000)]
nitpicking: singular of children is child
espie [Sat, 8 Jul 2023 18:33:41 +0000 (18:33 +0000)]
partial fix for make -j8 (bluhm@ is sitting right next to me and agreeing)
there is a subtler issue with make regress/make all that will be way more
of a headache to sort !
bluhm [Sat, 8 Jul 2023 18:10:32 +0000 (18:10 +0000)]
sync perl 5.36.1
espie [Sat, 8 Jul 2023 18:02:00 +0000 (18:02 +0000)]
talk about "jobs" because that's make knows, and mention the heuristics
about the recursive non exploding kitten recursive behavior outside of
BUGS.
okay naddy@, jca@
beck [Sat, 8 Jul 2023 16:40:13 +0000 (16:40 +0000)]
Hide all public symbols in libssl
With the guentherizer 9000
ok tb@
beck [Sat, 8 Jul 2023 15:29:03 +0000 (15:29 +0000)]
Hide symbols in dh
ok tb@
beck [Sat, 8 Jul 2023 15:12:49 +0000 (15:12 +0000)]
Hide symbols in curve22519
ok tb@
kn [Sat, 8 Jul 2023 15:01:09 +0000 (15:01 +0000)]
Floppies don't have bioctl(8)
The installer always checks for softraid using it, skip if unavailable.
Apply the usual idiom in encrypt_root() to silence stderr noise.
Do so in do in get_softraid_chunks() as well which is always called in
get_dkdevs_unitialized() and finish_up(); get_softraid_chunks() discards
stderr and both users still do the right thing on bioctl failure/empty
output from get_dkdevs_unitialized(), but there's no point in trying plus
the idiom clarifies how this code is indeed used on floppies.
Found and tested by krw
OK deraadt krw
beck [Sat, 8 Jul 2023 14:56:54 +0000 (14:56 +0000)]
Hide symbols in modes.h
ok tb@
beck [Sat, 8 Jul 2023 14:55:36 +0000 (14:55 +0000)]
Hit modes with the loving mallet of knfmt
ok tb@
bluhm [Sat, 8 Jul 2023 14:49:55 +0000 (14:49 +0000)]
Fix Perl tests in OpenBSD regress.
Disable Perl test t/porting/exec-bit.t as it only checks permissions.
The x-bit in OpenBSD CVS tree does not match Perl distribution tar.
This is known and accepted.
Set permission of Test-Harness source.sh and source_args.sh to
executable as Perl uses it to test module features. Stay close to
upstream. During regress, set the x-bit of the files in obj
directory. Do not touch src tree, it might be read-only.
discussed with anton@; OK afresh1@
tobhe [Sat, 8 Jul 2023 14:44:43 +0000 (14:44 +0000)]
Adds request_sleep(), a MI way of sending the machine to sleep in
a safe thread. Support is limited to amd64, i386 and arm64 at the
moment, macppc gets only an empty stub.
feedback from kettenis@
tested by bluhm@
ok phessler@
beck [Sat, 8 Jul 2023 14:30:44 +0000 (14:30 +0000)]
Hide symbols in gost.
ok tb@ after some puking in his mouth.
beck [Sat, 8 Jul 2023 14:28:14 +0000 (14:28 +0000)]
hide symbols in dsa
ok tb@
beck [Sat, 8 Jul 2023 14:27:14 +0000 (14:27 +0000)]
Hide symbols in cmac
ok tb@
afresh1 [Sat, 8 Jul 2023 14:18:35 +0000 (14:18 +0000)]
Update to perl 5.36.1
Many small bugfixes
you should commit 5.36.1 bluhm@
jasper [Sat, 8 Jul 2023 14:09:43 +0000 (14:09 +0000)]
turn an ifdef'd _dl_printf call into DL_DEB and various whitespace fixes
sure deraadt@
beck [Sat, 8 Jul 2023 12:27:51 +0000 (12:27 +0000)]
Hide symbols in objects
ok tb@
beck [Sat, 8 Jul 2023 12:26:45 +0000 (12:26 +0000)]
Hide symbols in rsa
ok tb@
beck [Sat, 8 Jul 2023 12:24:10 +0000 (12:24 +0000)]
Hide symbols in sha
ok tb@
beck [Sat, 8 Jul 2023 12:21:58 +0000 (12:21 +0000)]
Hide symbols in bn
ok tb@
beck [Sat, 8 Jul 2023 11:28:03 +0000 (11:28 +0000)]
Hide symbols in txt_db
ok tb@
jasper [Sat, 8 Jul 2023 11:03:45 +0000 (11:03 +0000)]
zap stray backslash
ok deraadt@
beck [Sat, 8 Jul 2023 10:45:57 +0000 (10:45 +0000)]
Hide symbols in md4 and md5
ok tb@
beck [Sat, 8 Jul 2023 10:43:59 +0000 (10:43 +0000)]
Hide symbols in cast, idea, and ocsp
ok tb@
kettenis [Sat, 8 Jul 2023 10:19:19 +0000 (10:19 +0000)]
stfpcie(4) and stfpciephy(4)
kettenis [Sat, 8 Jul 2023 10:18:51 +0000 (10:18 +0000)]
stfpciephy(4)
kettenis [Sat, 8 Jul 2023 10:18:34 +0000 (10:18 +0000)]
stfpcie(4)
kettenis [Sat, 8 Jul 2023 10:17:35 +0000 (10:17 +0000)]
Mention JH7110.
kettenis [Sat, 8 Jul 2023 10:06:13 +0000 (10:06 +0000)]
Add support for the PCIe controller on the JH7110 SoC.
MSIs don't work reliably so these are disabled for now. The stfpcie(4)
driver is based on preliminary device tree bindings that might still
change.
ok patrick@
kettenis [Sat, 8 Jul 2023 09:13:27 +0000 (09:13 +0000)]
regen
patrick [Sat, 8 Jul 2023 09:12:28 +0000 (09:12 +0000)]
Add support for the RK3588 PCIe3 PHY to rkpciephy(4). The PHY controls
4 lanes that can be routed to 4 of the 5 PCIe controllers in the following
configurations.
Either all 4 lanes go to the x4 controller, then the other 3 controllers
stay disabled. If those are split, lane 0 goes to the x4 controller and
lane 2 goes to the x2 controller. Lane 1 now either goes to the x4 one
to build a x2, or it gets routed to a x1 controller. Lane 3 also either
goes to the x2 one to build a x2, or it gets routed to a x1 controller.
If lanes 1 or lane 3 are configured, they are routed towards the PCIe3 PHY
instead of the Combo PHY.
ok kettenis@
kettenis [Sat, 8 Jul 2023 09:11:51 +0000 (09:11 +0000)]
Add PLDA XpressRICH-AXI PCIe controller
jmatthew [Sat, 8 Jul 2023 09:01:30 +0000 (09:01 +0000)]
Check rx dma map was allocated before trying to free it, so we don't crash
if we ran out of memory while bringing the interface up.
tested by hrvoje, ok kevlo@
yasuoka [Sat, 8 Jul 2023 08:53:26 +0000 (08:53 +0000)]
Tidy up #include lines.
espie [Sat, 8 Jul 2023 08:45:54 +0000 (08:45 +0000)]
cosmetic clean-up of UList.pm, no signatures yet
remove prototype that's actually unused, since method call
deraadt [Sat, 8 Jul 2023 08:38:41 +0000 (08:38 +0000)]
sync
patrick [Sat, 8 Jul 2023 08:37:39 +0000 (08:37 +0000)]
Add some resets for the PCIe controllers on the RK3588.
ok kettenis@
beck [Sat, 8 Jul 2023 08:28:23 +0000 (08:28 +0000)]
Hide symbols in crypto.h
ok jsing@
beck [Sat, 8 Jul 2023 08:26:26 +0000 (08:26 +0000)]
Hide symbols in cms, comp, conf, and buffer
ok jsing@
kettenis [Sat, 8 Jul 2023 08:18:30 +0000 (08:18 +0000)]
Add support for the Motorcomm YT8521/YT8531 PHYs. Since these PHYs may
need various board-dependent tweaks, pass the device tree node down
to the PHY driver such that we can look at various properties to make
the necessary tweaks. Enable ytphy(4) on riscv64.
ok jsing@, patrick@
espie [Sat, 8 Jul 2023 08:15:32 +0000 (08:15 +0000)]
move everyone besides UList to use v5.36
kettenis [Sat, 8 Jul 2023 08:13:31 +0000 (08:13 +0000)]
regen
kettenis [Sat, 8 Jul 2023 08:10:27 +0000 (08:10 +0000)]
Add Motorcomm YT8531.
ok jsing@, patrick@
tobhe [Sat, 8 Jul 2023 08:01:10 +0000 (08:01 +0000)]
Move /dev/apm related acpi code to acpi_apm.c which is only built on
amd64 and i386. This is the first step towards a machine independent
safe sleep API.
tested by yasuoka@ bluhm@
ok deraadt@ kettenis@
jsing [Sat, 8 Jul 2023 07:58:25 +0000 (07:58 +0000)]
Remove unused SHA-1 implementation.
jsing [Sat, 8 Jul 2023 07:52:25 +0000 (07:52 +0000)]
Remove now unnecessary "do { } while (0)"
jsing [Sat, 8 Jul 2023 07:49:45 +0000 (07:49 +0000)]
Inline HASH_MAKE_STRING macro.
No change to generated assembly.
jsing [Sat, 8 Jul 2023 07:43:44 +0000 (07:43 +0000)]
Reorder functions.
No functional change.
jsing [Sat, 8 Jul 2023 07:34:34 +0000 (07:34 +0000)]
More style(9).
jsing [Sat, 8 Jul 2023 07:25:43 +0000 (07:25 +0000)]
Hit cast with the style(9) stick.
beck [Sat, 8 Jul 2023 07:22:58 +0000 (07:22 +0000)]
Hide symbols in dso and ct
ok jsing@
kettenis [Sat, 8 Jul 2023 07:18:39 +0000 (07:18 +0000)]
Toggle IBT off during EFI runtime services calls.
While UEFI 2.10 has a way of indicating that runtime services use the
appropriate ENDBR64 instructions, firmware that's out int the wild doesn't
actually use that yet. Once the landscape changes we may want to
reconsider toggling IBT off.
ok guenther@, kn@
beck [Sat, 8 Jul 2023 07:11:07 +0000 (07:11 +0000)]
Hit the des directory with the loving mallet of knfmt
ok tb@
jsing [Sat, 8 Jul 2023 07:08:11 +0000 (07:08 +0000)]
style(9)
jsing [Sat, 8 Jul 2023 06:52:56 +0000 (06:52 +0000)]
Hit ripemd with the style(9) stick.
jsing [Sat, 8 Jul 2023 06:50:38 +0000 (06:50 +0000)]
Hit md5 with the style(9) stick.
jsing [Sat, 8 Jul 2023 06:47:26 +0000 (06:47 +0000)]
Hit md4 with the style(9) stick.
jsing [Sat, 8 Jul 2023 06:43:39 +0000 (06:43 +0000)]
Inline rmd_local.h in rmd_dgst.c.
rmd_local.h is not really a local header, just another layer of indirection
that cannot be included by anything other than rmd_dgst.c. As such, include
it directly instead.
No change in generated assembly.
jsing [Sat, 8 Jul 2023 06:41:45 +0000 (06:41 +0000)]
Inline md5_local.h in md5_dgst.c.
md5_local.h is not really a local header, just another layer of indirection
that cannot be included by anything other than md5_dgst.c. As such, include
it directly instead.
No change in generated assembly.
jsing [Sat, 8 Jul 2023 06:39:19 +0000 (06:39 +0000)]
Inline md4_local.h in md4_dgst.c.
md4_local.h is not really a local header, just another layer of indirection
that cannot be included by anything other than md4_dgst.c. As such, include
it directly instead.
No change in generated assembly.
jsing [Sat, 8 Jul 2023 06:36:55 +0000 (06:36 +0000)]
Inline sm3_local.h in sm3.c.
sm3_local.h is not really a local header, just another layer of indirection
that cannot be included by anything other than sm3.c. As such, include it
directly instead.
No change in generated assembly.