anton [Mon, 14 Aug 2023 09:26:37 +0000 (09:26 +0000)]
Sync expected failures with reality. Recent libm changes caused
nearbyint_test.c to pass on amd64.
ok miod@
kn [Mon, 14 Aug 2023 08:56:20 +0000 (08:56 +0000)]
zap useless MAN bits
distrib/special/Makefile.inc sets MAN= NOMAN=1, thus setting MAN* in
distrib/special/*/Makefile is useless; no manuals in the installer.
disklabel(8) and fdisk(8) remain exceptions with their NOMAN handling
as they embed their manual for use with interactive commands.
OK miod
mpi [Mon, 14 Aug 2023 08:33:24 +0000 (08:33 +0000)]
Extend scheduler tracepoints to follow CPU jumping.
- Add two new tracpoints sched:fork & sched:steal
- Include selected CPU number in sched:wakeup
- Add sched:unsleep corresponding to sched:sleep which matches add/removal
of threads on the sleep queue
ok claudio@
tb [Mon, 14 Aug 2023 08:25:26 +0000 (08:25 +0000)]
Check SignedData and SignerInfo versions to be 3
This adds two missing checks required by RFC 6488, section 3.
ok job
miod [Mon, 14 Aug 2023 08:16:26 +0000 (08:16 +0000)]
More files need to be removed by make clean.
tb [Mon, 14 Aug 2023 08:07:27 +0000 (08:07 +0000)]
netcat: avoid issuing syscalls on fd -1
In case a socket error condition occurs, readwrite() invalidates the
corresponding fd. Later on, readwrite() may still issue a syscall on
it. Avoid that by adding a couple of checks for fd == -1.
Reported and fix suggested by Leah Neukirchen.
Fixes https://github.com/libressl/openbsd/issues/143
"looks right" deraadt
miod [Mon, 14 Aug 2023 07:42:34 +0000 (07:42 +0000)]
Remove non-MULTIPROCESSOR chunk defining copyin32 as copyin now that all
platforms provide it.
miod [Mon, 14 Aug 2023 07:40:08 +0000 (07:40 +0000)]
Add a copyin32() implementation.
djm [Mon, 14 Aug 2023 03:37:00 +0000 (03:37 +0000)]
add message number of SSH2_MSG_NEWCOMPRESS defined in RFC8308
miod [Sun, 13 Aug 2023 21:54:02 +0000 (21:54 +0000)]
The 8042 emulation found on Chromebooks does not support the RESET command,
for no good reason, and causes pckbc not to attach. However, sending a `get
keyboard id' works, so this can be used as a second check to give those
fawlty pieces of hardware a chance to work.
Based on a diff submitted by, and tested by, Vladimir 'phcoder' Serbinenko.
sashan [Sun, 13 Aug 2023 21:21:53 +0000 (21:21 +0000)]
Ignore failure when deleting regress/ttest anchor
in 'stamp-setup' target. Found by anton@.
anton [Sun, 13 Aug 2023 18:36:20 +0000 (18:36 +0000)]
remove by now unused test.sh script
anton [Sun, 13 Aug 2023 18:34:49 +0000 (18:34 +0000)]
Use a dedicated regress target for each test case.
ok gnezdo@
claudio [Sun, 13 Aug 2023 15:53:31 +0000 (15:53 +0000)]
Fix P_WSLEEP handling when continuing SSTOP-ed processes
When continuing a process on the sleep queue just let it switch to
p_stat = SSLEEP even when P_WSLEEP is set. Once a proc is SSTOP-ed
in sleep_finish() a valid sleep point has been reached and there is
no need to make the process runnable again (which results in some
hairy race conditions). Instead simply clear P_WSLEEP since a stopped
proc reached the sleep state and there is no race with wakeup() anymore.
OK mpi@
dv [Sun, 13 Aug 2023 13:19:23 +0000 (13:19 +0000)]
btrace(8): fix yacc reduce conflicts and undefined symbol warnings.
Define the STR symbol, used for the str function.
Tune the grammar, simplifying the 'pat' rule to 'expr'. Resolves
the reduce conflicts related to 'pat' and 'factor' both matching a
lone CSTRING token.
ok mpi@
tb [Sun, 13 Aug 2023 12:25:36 +0000 (12:25 +0000)]
sync with userland
tb [Sun, 13 Aug 2023 12:25:12 +0000 (12:25 +0000)]
Conditionally disable MSAN
from upstream
tb [Sun, 13 Aug 2023 12:09:14 +0000 (12:09 +0000)]
fix whitespace
jsg [Sun, 13 Aug 2023 10:40:45 +0000 (10:40 +0000)]
Revert "drm/i915: Disable DC states for all commits"
From Greg Kroah-Hartman
673cdde74fd13fff0acc4c6c41f5f949434156a5 in linux-6.1.y/6.1.45
jsg [Sun, 13 Aug 2023 10:36:26 +0000 (10:36 +0000)]
drm/amdgpu: Use apt name for FW reserved region
From Lijo Lazar
af7215182417c892e09bcb6829377ce5c69f127f in linux-6.1.y/6.1.45
db3b5cb64a9ca301d14ed027e470834316720e42 in mainline linux
jsg [Sun, 13 Aug 2023 10:33:48 +0000 (10:33 +0000)]
drm/amdgpu: Remove unnecessary domain argument
From Luben Tuikov
3d0a34c42f0d50c06ca21761d625a823e245118e in linux-6.1.y/6.1.45
3273f11675ef11959d25a56df3279f712bcd41b7 in mainline linux
jsg [Sun, 13 Aug 2023 10:30:28 +0000 (10:30 +0000)]
drm/amdgpu: add vram reservation based on vram_usagebyfirmware_v2_2
From Tong Liu01
526defeec474ea8002b8312b9c88f96fa1f85a48 in linux-6.1.y/6.1.45
4864f2ee9ee2acf4a1009b58fbc62f17fa086d4e in mainline linux
jsg [Sun, 13 Aug 2023 10:27:32 +0000 (10:27 +0000)]
drm/amd/display: skip CLEAR_PAYLOAD_ID_TABLE if device mst_en is 0
From Peichen Huang
56562676102e135e7aebada26c2aea146a5b5ad0 in linux-6.1.y/6.1.45
a1c9a1e27022d13c70a14c4faeab6ce293ad043b in mainline linux
jsg [Sun, 13 Aug 2023 10:25:34 +0000 (10:25 +0000)]
drm/amd/display: Ensure that planes are in the same order
From Rodrigo Siqueira
63eeb50fa11009cc4c82919b040c361c4ea0f14e in linux-6.1.y/6.1.45
bb46a6a9bab134b9d15043ea8fa9d6c276e938b8 in mainline linux
jsg [Sun, 13 Aug 2023 10:23:58 +0000 (10:23 +0000)]
drm/i915/gt: Cleanup aux invalidation registers
From Andi Shyti
37f6073f7db329c9db4357f82e565958fb64ea16 in linux-6.1.y/6.1.45
d14560ac1b595aa2e792365e91fea6aeaee66c2b in mainline linux
jmc [Sun, 13 Aug 2023 10:23:26 +0000 (10:23 +0000)]
simplify previous;
jsg [Sun, 13 Aug 2023 10:22:20 +0000 (10:22 +0000)]
drm/i915: Fix premature release of request's reusable memory
From Janusz Krzysztofik
4db8b39418a685179263b7ad895a3182d72be358 in linux-6.1.y/6.1.45
a337b64f0d5717248a0c894e2618e658e6a9de9f in mainline linux
jsg [Sun, 13 Aug 2023 10:20:31 +0000 (10:20 +0000)]
drm/ttm: check null pointer before accessing when swapping
From Guchun Chen
1fdd16d89c01336d9a942b5f03673c17d401da87 in linux-6.1.y/6.1.45
2dedcf414bb01b8d966eb445db1d181d92304fb2 in mainline linux
mpi [Sun, 13 Aug 2023 09:52:47 +0000 (09:52 +0000)]
Add support for storing builtin TID and PID in variables.
mpi [Sun, 13 Aug 2023 09:49:47 +0000 (09:49 +0000)]
Regression test for the use-after-free in map insertion
mpi [Sun, 13 Aug 2023 09:48:27 +0000 (09:48 +0000)]
Prevent user-after/double free in map insertion.
Freeing arguments tied to statements is not an option because rules are
parsed multiple times. Always make a copy of them if they are assigned
to a key in a map.
visa [Sun, 13 Aug 2023 08:29:28 +0000 (08:29 +0000)]
kevent: Add precision and abstimer flags for EVFILT_TIMER
Add timer precision flags NOTE_SECONDS, NOTE_MSECONDS, NOTE_USECONDS
and NOTE_NSECONDS for EVFILT_TIMER. Also, add an initial implementation
of NOTE_ABSTIME timers.
Similar kevent(2) flags exist on FreeBSD, NetBSD and XNU.
Initial diff by and OK aisha@
OK mpi@
miod [Sun, 13 Aug 2023 07:02:36 +0000 (07:02 +0000)]
Add modff()/modfl() inf/nan tests; from Willemijn Coene.
miod [Sun, 13 Aug 2023 06:57:04 +0000 (06:57 +0000)]
Extent the modf() tests; from Willemijn Coene.
miod [Sun, 13 Aug 2023 06:56:10 +0000 (06:56 +0000)]
Make sure modff() returns correct values for infinities.
Reported by Willemijn Coene.
miod [Sun, 13 Aug 2023 06:55:37 +0000 (06:55 +0000)]
Make sure modf() returns correct values for infinities. While there, drop
the few assembler versions as has been done on other *BSD systems; this
function (modf) turns out to be non-trivial enough, having only one
known-to-work version is preferrable.
Reported by Willemijn Coene.
jsg [Sun, 13 Aug 2023 02:20:23 +0000 (02:20 +0000)]
unifdef appeared in 4.1c before 2.9
dates checked in CSRG archives and already changed upstream in unifdef3
miod [Sat, 12 Aug 2023 20:49:29 +0000 (20:49 +0000)]
Mention recent developments.
miod [Sat, 12 Aug 2023 20:47:06 +0000 (20:47 +0000)]
Better uwacom(4) support for Intuos S and One S tablets; most of the work
done by Vladimir Meshcheriakov (first name dot last name at epita somewhere in
frogland), thanks!
Tested by Peter J. Philipp on Intuos Draw and by espie@ on Intuos S.
miod [Sat, 12 Aug 2023 20:44:32 +0000 (20:44 +0000)]
Regen
miod [Sat, 12 Aug 2023 20:43:49 +0000 (20:43 +0000)]
Another Wacom tablet; from Vladimir Meshcheriakov (first name dot last name
at epita somewhere in france)
schwarze [Sat, 12 Aug 2023 16:48:23 +0000 (16:48 +0000)]
document return values of the control function in EVP_MD_meth_set_ctrl(3)
schwarze [Sat, 12 Aug 2023 16:36:41 +0000 (16:36 +0000)]
first batch of intentionally undocumented EVP constants:
some EVP_MD_CTRL_*, some EVP_MD_CTX_FLAG_*, and all of EVP_F_* and EVP_R_*
schwarze [Sat, 12 Aug 2023 16:12:19 +0000 (16:12 +0000)]
1. Tweak the descriptions of EVP_MD_CTX_ctrl(3), EVP_MD_CTX_set_flags(3),
EVP_MD_CTX_clear_flags(3), EVP_MD_CTX_test_flags(3), and the atrocious
EVP_MD_CTX_set_pkey_ctx(3) for precision.
2. Tweak the description of EVP_MD_type(3) and EVP_MD_CTX_type(3)
for conciseness.
3. Add a few missing HISTORY bits.
tb [Sat, 12 Aug 2023 13:49:29 +0000 (13:49 +0000)]
Fix bug when gzungetc() is used immediately after gzopen().
from upstream
tb [Sat, 12 Aug 2023 13:48:37 +0000 (13:48 +0000)]
fix typo
from upstream
gnezdo [Sat, 12 Aug 2023 13:43:22 +0000 (13:43 +0000)]
Check for a full read, avoid warn when errno might be unmodified
Promote size from int to size_t.
From: lucas at sexy dot is
Regress tests by gnezdo@
deraadt: yes
miod [Sat, 12 Aug 2023 13:19:28 +0000 (13:19 +0000)]
Repair compilability for non-MULTIPROCESSOR kernels.
kettenis [Sat, 12 Aug 2023 10:03:05 +0000 (10:03 +0000)]
Don't power down if the device is already opened. This happens when an
ikbd(4) attaches and becomes the console keyboard. We would power down
the device but never power it on again when userland opened ikbd(4) as
an input device since that is only done on the first open. The result
was a non-functioning keyboard if the hardware actually implemented the
power down command. A lot of hardware actually doesn't (which is why
this wasn't noticed for some time) but the ASUS X205T does.
ok miod@
tb [Sat, 12 Aug 2023 08:26:38 +0000 (08:26 +0000)]
Remove a blatant lie about DSA_dup_DH
q is copied across since OpenSSL
31360957 which hit our tree with
OpenSSL 1.0.1c in October 2012.
tb [Sat, 12 Aug 2023 08:07:35 +0000 (08:07 +0000)]
The int_ prefix also leaves the ec_ameth mess
The prefixes in here are all over the place... This removes one variety.
tb [Sat, 12 Aug 2023 08:02:43 +0000 (08:02 +0000)]
RSA's _free and _size also lose their int_ prefix
tb [Sat, 12 Aug 2023 07:59:48 +0000 (07:59 +0000)]
Drop silly int_ prefix from _free() and _size()
tb [Sat, 12 Aug 2023 07:50:47 +0000 (07:50 +0000)]
Free {priv,pub}_key before assigning to it
While it isn't the case for the default implementations, custom DH and DSA
methods could conceivably populate private and public keys, which in turn
would result in leaks in the pub/priv decode methods.
ok jsing
tb [Sat, 12 Aug 2023 07:46:14 +0000 (07:46 +0000)]
Readability tweak for key parameters in DSA
ok jsing
tb [Sat, 12 Aug 2023 07:43:48 +0000 (07:43 +0000)]
Simplify and unify missing_parameters() for DH and DSA
ok jsing
mpi [Sat, 12 Aug 2023 07:22:56 +0000 (07:22 +0000)]
Add sanity checks in uvm_pagelookup().
ok kettenis@
tb [Sat, 12 Aug 2023 06:30:43 +0000 (06:30 +0000)]
Now that the DH is sensibly called dh instead of a, we can also rename
abuf, alen and aout to names that make sense, such as buf, buf_len and
secret_len.
miod [Sat, 12 Aug 2023 06:28:13 +0000 (06:28 +0000)]
Fix comments regarding pcb_onfault maintainence. No code change.
tb [Sat, 12 Aug 2023 06:28:04 +0000 (06:28 +0000)]
a is a silly name for a DH
tb [Sat, 12 Aug 2023 06:25:26 +0000 (06:25 +0000)]
Use printf for consistency
tb [Sat, 12 Aug 2023 06:23:59 +0000 (06:23 +0000)]
Check that {DH,DSA}_get0_engine() returns NULL if OPENSSL_NO_ENGINE is
defined.
tb [Sat, 12 Aug 2023 06:14:36 +0000 (06:14 +0000)]
Convert {DH,DSA}_new_method() to using calloc()
Due to OPENSSL_NO_ENGINE the engine member of dh and dsa is currently
uninitialized. As a consequence, {DH,DSA}_get0_engine() will return a
garbage pointer, which is particularly bad because the only reason we
kept them in the first place is that they are used by some software...
A side effect of freeing with {DH,DSA}_free() instead of a hand-rolled
version is that we may call ->meth->finish() before ->meth->init() was
called. We need a NULL check for ->meth to be on the safe side in case
we should need to bring ENGINE back.
with nits from djm
ok deraadt djm
tb [Fri, 11 Aug 2023 22:50:44 +0000 (22:50 +0000)]
Add regress coverage for DH and for DSA parameters
cheloha [Fri, 11 Aug 2023 22:02:50 +0000 (22:02 +0000)]
hardclock(9), roundrobin: make roundrobin() an independent clock interrupt
- Remove the roundrobin() call from hardclock(9).
- Revise roundrobin() to make it a valid clock interrupt callback.
It is still periodic and it still runs at one tenth of the hardclock
frequency.
- Account for multiple expirations in roundrobin(): if two or more
roundrobin periods have elapsed, set SPCF_SHOULDYIELD on the running
thread immediately to simulate normal behavior.
- Each schedstate_percpu has its own roundrobin() handle, spc_roundrobin.
spc_roundrobin is started/advanced during clockintr_cpu_init().
Intervals elapsed across suspend/resume are discarded.
- rrticks_init and schedstate_percpu.spc_rrticks are now useless:
delete them.
Tweaked by mpi@. With input from mpi@ and claudio@.
Thread: https://marc.info/?l=openbsd-tech&m=
169127381314651&w=2
ok mpi@ claudio@
schwarze [Fri, 11 Aug 2023 18:08:43 +0000 (18:08 +0000)]
Merge various improvements from the OpenSSL 1.1 branch,
which is still under a free license.
* document EVP_MD_CTX_set_flags, EVP_MD_CTX_clear_flags, EVP_MD_CTX_test_flags
* document EVP_MD_flags, EVP_MD_CTX_md_data
* document EVP_MD_CTX_pkey_ctx, EVP_MD_CTX_set_pkey_ctx
* correct arg type of EVP_MD_CTX_size, EVP_MD_CTX_block_size, EVP_MD_CTX_type
* more information about EVP_MD_CTX_ctrl
* add missing <string.h> and correct one variable type below EXAMPLES
* two orthographic improvements
with a few wording tweaks by me
mpi [Fri, 11 Aug 2023 17:53:22 +0000 (17:53 +0000)]
Kill unused variable in uvm_aio_aiodone_pages().
nicm [Fri, 11 Aug 2023 17:09:00 +0000 (17:09 +0000)]
Do not crash if in buffer mode and the last buffer is deleted using the
command.
jsing [Fri, 11 Aug 2023 15:27:28 +0000 (15:27 +0000)]
Stop including md32_common.h.
Now that we're no longer dependent on md32_common.h, stop including it.
Remove various defines that only existed for md32_common.h usage.
jsing [Fri, 11 Aug 2023 15:25:36 +0000 (15:25 +0000)]
Demacro sha256.
Replace macros with static inline functions, as well as writing out the
variable rotations instead of trying to outsmart the compiler. Also pull
the message schedule update up and complete it prior to commencement of
the round. Also use rotate right, rather than transposed rotate left.
Overall this is more readable and more closely follows the specification.
On some platforms (e.g. aarch64) there is no noteable change in
performance, while on others there is a significant improvement (more than
25% on arm).
ok miod@ tb@
tb [Fri, 11 Aug 2023 13:57:24 +0000 (13:57 +0000)]
Improve variable names in {dh,dsa}_{pub,priv}_{de,en}code()
Use aint for the ASN1_INTEGER holding the key and astr for the ASN1_STRING
holding the parameters. This frees up key and params for their DER encoded
versions, matching the naming we use elsewhere much more closely.
ok jsing
tb [Fri, 11 Aug 2023 13:53:45 +0000 (13:53 +0000)]
Use params{,_len} in {dh,dsa}_params_{en,de}code()
tb [Fri, 11 Aug 2023 13:51:33 +0000 (13:51 +0000)]
Use key/key_len in old_dsa_priv_{en,de}code()
ok jsing
tb [Fri, 11 Aug 2023 11:47:21 +0000 (11:47 +0000)]
Add back an empty line that I didn't really want to remove
tb [Fri, 11 Aug 2023 11:32:19 +0000 (11:32 +0000)]
Align dh and dsa decoding functions with encoding
This adds some missing error checks and fixes and unifies error codes
which were (as usual) all over the place or just plain nonsense. Use
an auxiliary variable for d2i invocations even though it is not really
needed here.
ok jsing
tobhe [Fri, 11 Aug 2023 11:24:55 +0000 (11:24 +0000)]
Add iked support for route based sec(4) tunnels.
To use sec(4) instead of policy based tunnels, create a sec(4)
interface and add 'iface secXX' to your policy config.
sec(4) interfaces also support auto configuration for dynamic client
IPs via 'request any' like all other interfaces.
The config won't work without traffic selectors, 'from any to any'
should work for now but I plan to make this optional in the future.
ok dlg@
claudio [Fri, 11 Aug 2023 07:54:18 +0000 (07:54 +0000)]
Move the single_thread_check() to the start of userret().
This way threads stopped by SINGLE_SUSPEND will check for pending
signals right after being released instead of returning to userland
first. The same order of check is already used in sleep_signal_check().
OK mpi@
tb [Fri, 11 Aug 2023 05:10:35 +0000 (05:10 +0000)]
Rename env_md{,_ctx}_st to evp_md{,_ctx}_st
As everyone knows (and who doesn't know will immediately guess), EVP is
short for envelope. Most structs backing the public EVP_* types are called
evp_*. For the EVP_MD and EVP_MD_CTX types, someone used env_md_st and
env_md_ctx_st, which, as jsing pointed out, may or may not be related to
a much less obvious abbreviation of envelope. It could also simply have
been for reasons of inconsistency.
Be all that as it may: rename these structs to use the evp_* namespace
to match all the other EVP types, as well as upstream.
ok jsing
guenther [Fri, 11 Aug 2023 05:07:28 +0000 (05:07 +0000)]
Stop down-converting to a timeval when comparing and setting times.
Replace use of the old BSD st_*timespec members in struct stat with
the POSIX-standard st_*tim members.
ok millert@
guenther [Fri, 11 Aug 2023 05:02:21 +0000 (05:02 +0000)]
Switch rcs_{get,set}_mtime() from returning and taking a time_t to
doing so with a struct timespec and then use tv_nsec = UTIME_OMIT
instead of a (time_t)-1 as a "do nothing" value. They can then
fully preserve the timestamp
ok millert@
tb [Fri, 11 Aug 2023 04:52:08 +0000 (04:52 +0000)]
Use EVP_MD in HKDF() and HKDF_extract() prototypes
Switch these prototypes to be like all other code and use the EVP_MD type
rather than the internal name of the struct. This also makes the function
definitions match the prototypes.
ok jsing
guenther [Fri, 11 Aug 2023 04:51:36 +0000 (04:51 +0000)]
msdosfs_times() doesn't need to copy timespecs onto the stack: just
mark unix2dostime()'s first argument as a pointer to const and skip
the copies.
ok millert@
guenther [Fri, 11 Aug 2023 04:48:14 +0000 (04:48 +0000)]
cvs_file_copy() used futimes(), but only set the tv_sec fields,
which presumably meant passing stack garbage in the tv_usec and
failing with EINVAL, whee. Switch to futimens() and set the full
timespecs from the incoming struct stat
ok millert@
tb [Fri, 11 Aug 2023 04:45:26 +0000 (04:45 +0000)]
Move EC_KEY and EC_KEY_METHOD typedefs to ossl_typ.h
ok jsing
guenther [Fri, 11 Aug 2023 04:45:05 +0000 (04:45 +0000)]
Replace use of the old BSD st_*timespec members in struct stat with
the POSIX-standard st_*tim members.
ok millert@
guenther [Fri, 11 Aug 2023 04:44:28 +0000 (04:44 +0000)]
When used by itself, replace use of the old BSD st_mtimespec.tv_sec
member in struct stat with for-all-time st_mtime member.
ok millert@
dlg [Fri, 11 Aug 2023 02:35:38 +0000 (02:35 +0000)]
enable sec(4) so people can try it out
dlg [Fri, 11 Aug 2023 02:34:56 +0000 (02:34 +0000)]
better support queuing (hfsc) on sec(4)
cheloha [Fri, 11 Aug 2023 01:28:19 +0000 (01:28 +0000)]
agtimer(4/arm64): call CPU_BUSY_CYCLE() during spin-loop
For consistency with other delay(9) implementations, agtimer(4/arm64)
ought to call CPU_BUSY_CYCLE() as it spins.
kettenis@ notes that we could reduce the power consumed in
agtimer_delay() by enabling CNTKCTL_EL1.EVNTEN and configuring
ENTKCTL_EL1.EVNTI.
kettenis@ also notes that Armv8.7 adds FEAT_WFxT, which will, when the
feature appears in real hardware, make it even easier to save power in
agtimer_delay().
With input from drahn@ and kettenis@.
Thread: https://marc.info/?l=openbsd-tech&m=
169146193022516&w=2
ok kettenis@
djm [Thu, 10 Aug 2023 23:05:48 +0000 (23:05 +0000)]
better debug logging of sessions' exit status
cheloha [Thu, 10 Aug 2023 22:58:04 +0000 (22:58 +0000)]
agtimer(4/arm64): agtimer_delay: compute cycle count with 64-bit arithmetic
Converting from microseconds to timer cycles is much simpler with
64-bit arithmetic.
Thread: https://marc.info/?l=openbsd-tech&m=
169146193022516&w=2
ok drahn@ kettenis@
kettenis [Thu, 10 Aug 2023 21:01:50 +0000 (21:01 +0000)]
Take advantage of the fact that the WFI instruction does continue
immediately if there is a pending interrupt to fix a potential race
in the idle loop.
ok guenther@
claudio [Thu, 10 Aug 2023 20:44:52 +0000 (20:44 +0000)]
Add some KASSERT on the proc p_stat in sleep_finish()
OK mpi@
kettenis [Thu, 10 Aug 2023 19:29:32 +0000 (19:29 +0000)]
The Lenovo X13s has broken firmware that makes it impossible to use PAC.
But other machines that use the same SoC work just fine. So instead of
disabling this feature on all CPUs that implement the architectured
algorithm, add an SMBIOS-based check that just disables the feature on
these machines. This means we need to attach smbios0 before cpu0, which
in turn means attaching efi0 earlier.
tested by patrick@
kn [Thu, 10 Aug 2023 17:09:34 +0000 (17:09 +0000)]
Always create new softraid CRYPTO volume, do not reuse existing one
The bioctl(8) command to create new and unlock old volumes is the same.
Use `-C force' to prevent reuse, which happens with, e.g. aborted/restarted
encrypted installations past the question or installations onto an old disk.
OK naddy sthen deraadt
tb [Thu, 10 Aug 2023 16:57:15 +0000 (16:57 +0000)]
Convert {dh,dsa}_{pub,priv}_encode() to single exit
Use the same variable names throughout these functions and unify them
some more.
ok jsing
sashan [Thu, 10 Aug 2023 16:44:04 +0000 (16:44 +0000)]
Table persistent flag (PFR_TFLAG_PERSIST) won't get set
by ioctl(2) operation if table exists already. The issue
has been noticed by Giannis Kapetanakis (_at_) edu.physics.uoc.gr.
Giannis noticed relayd(8) aborts unexpectedly when 'relay host'
gets disabled by 'relayctl host dis ...' command. To understand
what's going on we must look at the way how relayd(8) manages
its firewall configuration. If relay-host 'example' is enabled relayd(8)
inserts rule to anchor relayd/example. The rule looks somewhat
like this:
pass in from ... to ... rdr-to <example>
When the rule gets inserted to pf(4) the table 'example' is
created with flags:
lumpy# pfctl -a relayd/example -vg -sT
----r-- example relayd/example
r-flag indicates table is referred by rule only. In the next
step relayd(8) creates and populates table example. It asks
pf(4) to add a persistent flag (PFR_TFLAG_PERSIST), so table
survives flush operation of relayd/example ruleset on behalf
of 'relayctl host dis ...' command. relayd(8) exits via abort()
when table is gone with disable operation.
Giannis was patient enough so we could debug and fix issue.
The committed change has been tested by Giannis too.
OK kn@, bluhm@
schwarze [Thu, 10 Aug 2023 16:15:42 +0000 (16:15 +0000)]
Add the missing ".Nm X509_STORE_CTX_check_issued_fn" to the NAME section
such that `man X509_STORE_CTX_check_issued_fn` works.
While here, add a Copyright notice for Job Snijders because
he added a significant amount of text to this file in March 2023.
OK job@
sashan [Thu, 10 Aug 2023 15:47:05 +0000 (15:47 +0000)]
Allow libpcap to read files with some additional link-layer type values
patch has been contributed by Guy Harris from libpcap/tcpdump. It
resolves collision between DLT_* values on various OSes. The issue
prevents correct interpretation of link layer information in capture
files which might come from another OS. To resolve this libpcap/tcpdump
community introduced a LINKTYPE_* values. The patch provides translation
between DLT_* and LINKTYPE_* for OpenBSD. More details can be found
here: https://www.tcpdump.org/linktypes.html
No objection from OpenBSD community.
OK sthen@
tb [Thu, 10 Aug 2023 15:11:16 +0000 (15:11 +0000)]
Clean up {dh,dsa}_pub_encode()
This brings these two messy functions into more usual shape. There is a
lot more that can be done in here. It is a step in the right direction.
ok jsing