kettenis [Fri, 2 Jul 2021 19:55:00 +0000 (19:55 +0000)]
Avoid spinning with interrupts disabled in the rpi3.
tested by sthen@ (a while ago)
cheloha [Fri, 2 Jul 2021 17:16:20 +0000 (17:16 +0000)]
usleep(3): always call nanosleep(2)
usleep(3) is a wrapper around nanosleep(2). We should always call
nanosleep(), even if the input is zero. This makes behavior easier
to reason about and ensures we get a nanosleep() ktrace hit if a
program calls usleep().
ok millert@
schwarze [Fri, 2 Jul 2021 16:13:56 +0000 (16:13 +0000)]
Document the read-only (sic!) accessor function X509_NAME_ENTRY_set(3).
While here, stress that X509_NAME objects cannot share X509_NAME_ENTRY
objects, and polish a few misleading wordings.
deraadt [Fri, 2 Jul 2021 15:34:27 +0000 (15:34 +0000)]
Before calling setrlimit(), pull cur up to max.
ok millert
millert [Fri, 2 Jul 2021 15:34:16 +0000 (15:34 +0000)]
Use nanosleep() and setitimer() instead of usleep() and ualarm().
Both usleep() and ualarm() are obsolete and were removed from POSIX.
OK deraadt@
kettenis [Fri, 2 Jul 2021 14:58:33 +0000 (14:58 +0000)]
Remove bogus comments.
kettenis [Fri, 2 Jul 2021 14:50:18 +0000 (14:50 +0000)]
Remove a few pointless comments.
bluhm [Fri, 2 Jul 2021 12:17:41 +0000 (12:17 +0000)]
Writing ktrace files to NFS must no be done while holding the net
lock. accept(2) panics, connect(2) dead locks. Additionally copy
in or out must not hold the net lock as it may be a memory mapped
file on NFS.
Simplify dns_portcheck(), it does not modify namelen anymore.
In doaccept() release the socket lock before calling copyaddrout().
Rearrange the checks in sys_connect() like they are in sys_bind().
OK mpi@
schwarze [Fri, 2 Jul 2021 11:48:01 +0000 (11:48 +0000)]
Add a roff comment saying that X509_certificate_type(3) is intentionally
undocumented. It is archaic and practically unused and unusable.
tb@ and jsing@ agree with marking it as undocumented.
Put the comment here because EVP_PKEY_base_id(3) is a viable alternative.
schwarze [Fri, 2 Jul 2021 11:15:12 +0000 (11:15 +0000)]
call the API function X509_NAME_cmp(3) instead of the obsolete,
undocumented macro alias X509_name_cmp(3);
no binary change;
OK tb@
schwarze [Fri, 2 Jul 2021 11:15:08 +0000 (11:15 +0000)]
call the API function X509_NAME_cmp(3) instead of the obsolete,
undocumented macro alias X509_name_cmp(3);
no change to the assembler code generated by the compiler;
OK tb@
schwarze [Fri, 2 Jul 2021 10:50:39 +0000 (10:50 +0000)]
Add a roff comment saying that X509_name_cmp(3) is intentionally
undocumented because it is almost unused in real-world code.
OK tb@
kettenis [Fri, 2 Jul 2021 10:42:22 +0000 (10:42 +0000)]
Cleanup early bootstrap code. This mostly realigns the code with the
FreeBSD code from which it was derived. In particular, it uses the same
trick to switch page tables as FreeBSD, which is what we use to spin up
the secondary CPUs already. This avoids having to install a temporary
1:1 mapping.
ok mlarkin@
kettenis [Fri, 2 Jul 2021 08:53:28 +0000 (08:53 +0000)]
Only do TLB shootdown on CPUs where a pmap is active. Only make SBI calls
that do a remote SFENCE.VMA or FENCE.I if the set of hart IDs isn't empty.
This significantly speeds things up.
ok jsg@
kettenis [Fri, 2 Jul 2021 08:44:37 +0000 (08:44 +0000)]
Run SBI calls to to get mvendorid/marchid/mimplid on the actual CPU we're
probing and decode mvendorid and marchid.
ok mlarkin@, deraadt@, jsg@
dtucker [Fri, 2 Jul 2021 07:20:44 +0000 (07:20 +0000)]
Remove obsolete comments about SSHv1 auth methods. ok djm@
dtucker [Fri, 2 Jul 2021 05:11:20 +0000 (05:11 +0000)]
Remove references to ChallengeResponseAuthentication in favour of
KbdInteractiveAuthentication. The former is what was in SSHv1, the
latter is what is in SSHv2 (RFC4256) and they were treated as somewhat
but not entirely equivalent. We retain the old name as deprecated alias
so config files continue to work and a reference in the man page for
people looking for it.
Prompted by bz#3303 which pointed out the discrepancy between the two
when used with Match. Man page help & ok jmc@, with & ok djm@
deraadt [Fri, 2 Jul 2021 03:10:19 +0000 (03:10 +0000)]
__remq.S will be needed soon.
deraadt [Thu, 1 Jul 2021 20:34:19 +0000 (20:34 +0000)]
delete sbin/restore
jsing [Thu, 1 Jul 2021 17:53:39 +0000 (17:53 +0000)]
Merge SSL_METHOD_INTERNAL into SSL_METHOD.
Now that SSL_METHOD is opaque and in internal headers, we can remove
SSL_METHOD_INTERNAL by merging it back into SSL_METHOD.
ok tb@
stsp [Thu, 1 Jul 2021 11:51:55 +0000 (11:51 +0000)]
Prevent athn(4) from calling ieee80211_find_rxnode() on bad frames.
This fixes an issue introduced with our workaround for bogus michael
mic failures seen when hardware receives control frames. We do need
to ignore the michael mic failure in this case but we should not call
ieee80211_find_rxnode() on such frames unconditionally. Do this only
if the transmitter's address has already been cached.
When ieee80211_find_rxnode() is called with an unknown source MAC address
it will create a new entry in the node cache. Frames flagged as incorrectly
received by hardware should not be passed to ieee80211_find_rxnode() without
further verification to avoid creating bogus cache entries based on corrupt
frame headers.
Prompted by an issue seen by kettenis@ on arm64 where the node cache
contains bogus entries. This change doesn't fix the issue but it is
a step in the right direction regardless since it fixes one possible
cause for the issue.
ok kettenis@
tested by myself and Mikolaj Kucharski
schwarze [Thu, 1 Jul 2021 10:22:16 +0000 (10:22 +0000)]
Just in case another developer besides anton@ and myself even wants to
look at these tests: add a comment providing a high-level picture of
what is going on here, such that everyday maintenance can be performed
without going down the rabbit hole of subr.sh and edit.c.
schwarze [Thu, 1 Jul 2021 10:00:15 +0000 (10:00 +0000)]
We already tested all corner cases for two-byte and three-byte UTF-8
sequences, but coverage of four-byte sequences was incomplete, which
contributed to the recently fixed ksh(1) emacs.c bug not being found
for some time.
Consequently, add some tests covering
+ valid sequences starting with \0360, \0361, and \0363;
+ incomplete sequences starting with \0360 and \0361;
+ invalid (too low) sequences starting with \0360.
OK anton@
eric [Thu, 1 Jul 2021 07:42:16 +0000 (07:42 +0000)]
remove useless and confusing log message when client has no certificate
ok millert@
deraadt [Thu, 1 Jul 2021 01:16:13 +0000 (01:16 +0000)]
We moved myname parsing from /etc/netstart to /etc/rc nov 2020, but
this manual page wasn't corrected
from James Jerkins
kettenis [Wed, 30 Jun 2021 22:20:56 +0000 (22:20 +0000)]
Simplify the way we track the FPU state, using powerpc64 as a model.
The new code still uses the clean/dirty state that the hardware reports
to optimize saving/restoring the FPU register, but no longer attempts to
keep the FPU registers alive across a context switch. Fixes panics seen
on MP kernels.
ok drahn@
schwarze [Wed, 30 Jun 2021 18:55:52 +0000 (18:55 +0000)]
The byte \0363 is not invalid in UTF-8.
The incorrectness of this test was exposed by the bugfix
in /usr/src/bin/ksh/emacs.c rev. 1.88 and reported to me by bluhm@.
This is a minimal fix replacing the incorrect test line
with two correct tests involving the same byte.
OK anton@
schwarze [Wed, 30 Jun 2021 18:46:49 +0000 (18:46 +0000)]
more trivial .Ar -> .Fa replacements in syscall manuals
schwarze [Wed, 30 Jun 2021 18:17:21 +0000 (18:17 +0000)]
use .Fa rather than .Ar; patch from me at EmilEngler dot com
jsing [Wed, 30 Jun 2021 18:11:47 +0000 (18:11 +0000)]
Disable some code that reaches into libssl internals.
This should be moved to a dedicated regress test.
jsing [Wed, 30 Jun 2021 18:10:42 +0000 (18:10 +0000)]
Disable some tests that probably no longer make sense.
We'll either fix these or remove them in the near future.
jsing [Wed, 30 Jun 2021 18:09:46 +0000 (18:09 +0000)]
Pull in ssl_locl.h to allow for move of struct ssl_session_st.
jsing [Wed, 30 Jun 2021 18:07:50 +0000 (18:07 +0000)]
Prepare to provide SSL_get_signature_nid() and friends.
This adds functionality for SSL_get_signature_nid(),
SSL_get_peer_signature_nid(), SSL_get_signature_type_nid() and
SSL_get_peer_signature_type_nid().
This is not currently publicly visible and will be exposed at a later
date.
ok inoguchi@ tb@
jsing [Wed, 30 Jun 2021 18:04:05 +0000 (18:04 +0000)]
Move some structs from public to private headers.
Move struct ssl_cipher_st, struct ssl_method_st, struct ssl_session_st and
struct ssl3_state_st from public to private headers. These are already
under #ifdef LIBRESSL_INTERNAL and are no longer publicly visible.
ok inoguchi@ tb@
claudio [Wed, 30 Jun 2021 15:24:10 +0000 (15:24 +0000)]
... way too much white space!
bluhm [Wed, 30 Jun 2021 13:23:33 +0000 (13:23 +0000)]
Remove splnet() from ifnewlladdr(), it is not needed anymore.
Add asserts and comments for the locks that are necessary.
discussed with dlg@ mpi@ mvs@; tested by Hrvoje Popovski; OK mpi@
claudio [Wed, 30 Jun 2021 13:16:45 +0000 (13:16 +0000)]
Remove TODO.md, this file is not up-to-date and also not really a good
todo list for rsync.
claudio [Wed, 30 Jun 2021 13:10:04 +0000 (13:10 +0000)]
Replace Id: tags with OpenBSD: tags
OK deraadt@
bluhm [Wed, 30 Jun 2021 12:21:02 +0000 (12:21 +0000)]
Remove unused variable cryptodesc_pool. Document global variables
in crypto.c and annotate locking protection. Assert kernel lock
where needed. Remove dead code from crypto_get_driverid(). Move
crypto_init() prototype into header file.
OK mpi@
deraadt [Wed, 30 Jun 2021 12:19:00 +0000 (12:19 +0000)]
grow ramdisk area due to increased firmware sizes..
ok jsg
deraadt [Wed, 30 Jun 2021 11:50:22 +0000 (11:50 +0000)]
use @ to silently execute "exec make"
bluhm [Wed, 30 Jun 2021 11:26:49 +0000 (11:26 +0000)]
For path MTU discovery tcp_mtudisc() should resend a TCP packet by
calling tcp_output() if the TCP maximum segment size changes. But
that did not work, as the new value was compared before tcp_mss()
had a chance to modify it. Move the comparison and change it from
not equal to greater than. It makes only sense to resend a packet
immediately if it becomes smaller and is more likely to fit.
OK sashan@ tobhe@
bluhm [Wed, 30 Jun 2021 10:11:36 +0000 (10:11 +0000)]
TLS error messages have changed slightly, adapt regex for expected
logs in syslogd regress.
schwarze [Wed, 30 Jun 2021 10:06:43 +0000 (10:06 +0000)]
document and deprecate the macros X509_extract_key(3)
and X509_REQ_extract_key(3), using feedback from tb@ and jsing@
jsing [Wed, 30 Jun 2021 09:59:07 +0000 (09:59 +0000)]
Correct sigalg hash usage when signing content for client verify.
This was inadvertently broken during sigalgs refactoring.
stsp [Wed, 30 Jun 2021 09:47:57 +0000 (09:47 +0000)]
Align HT protection flags we send to iwx(4) firmware with flags used by
Linux iwlwifi.
Setting the FAT protection flag while we're using 20 MHz channels doesn't
really make a lot of sense to me but apparently firmware expects it to be
set regardless. Linux does not use the SELF_CTS_EN flag so it might be better
to avoid using SELF_CTS_EN.
According to zxystd from OpenIntelWireless, the same change fixed fatal
firmware errors seen during HT protection updates for them:
https://github.com/OpenIntelWireless/itlwm/commit/
032a14185a434b7181c0e78a953dc2e1c21a0853
test and ok gnezdo@
stsp [Wed, 30 Jun 2021 09:47:20 +0000 (09:47 +0000)]
Make the iwx(4) mac context task send its command only if we are still in
RUN state when the task gets to run. Fixes fatal firmware errors where
mac context updates were erroneously sent in states other than RUN state.
Additionally, avoid scheduling a mac context task if a pending newstate
task is going to move us out of RUN state anyway.
Issue debugged by zxystd in OpenIntelWireless itlwm; patch by me.
stsp [Wed, 30 Jun 2021 09:46:46 +0000 (09:46 +0000)]
Make Tx-done interrupt processing in iwx(4) more similar to iwlwifi.
When iwx(4) takes a frame off the queue we used the ring index reported
by firmware to figure out which frame can be taken off the ring.
This logic was inherited from iwn(4).
We have sometimes seen an index get skipped and had a workaround in place
where we took all pending frames up to this index off the ring.
Apart from the ring index the firmware reports another value which is its
starting sequence number (SSN). An SSN is usually associated with a Tx
aggregation queue that uses block ack. On non-aggregation queues the SSN
matches the ring index most of the time and hence seems redundant at first
sight. But the values are not always the same.
We now always use the SSN as the upper bound which matches the Linux driver.
This seems to fix fatal firmware errors during Tx commands seen by jcs@
which suggests that we were sometimes taking frames off the ring too early.
stsp [Wed, 30 Jun 2021 09:45:47 +0000 (09:45 +0000)]
Fix Tx queue flushing in iwm(4).
iwm(4) was still using an outdated version of the TX_FLUSH command.
Current firmware expects a different version which has the same size but
different semantics. The iwx(4) driver is already using the new version.
Also do not log errors if flushing Tx queues fails. This can happen if
the AP disappeared. Just cope by resetting the device and clearing rings.
Should fix "flushing Tx queues failed" and related firmware errors.
stsp [Wed, 30 Jun 2021 09:44:56 +0000 (09:44 +0000)]
Align HT protection flags we send to iwm(4) firmware with flags used by
Linux iwlwifi.
Setting the FAT protection flag while we're using 20 MHz channels doesn't
really make a lot of sense to me but apparently firmware expects it to be
set regardless. Linux does not use the SELF_CTS_EN flag so it might be better
to avoid using SELF_CTS_EN.
According to zxystd from OpenIntelWireless, the same change fixed fatal
firmware errors seen during HT protection updates for them:
https://github.com/OpenIntelWireless/itlwm/commit/
032a14185a434b7181c0e78a953dc2e1c21a0853
test and ok gnezdo@
stsp [Wed, 30 Jun 2021 09:43:59 +0000 (09:43 +0000)]
Make the iwm(4) mac context task send its command only if we are still in
RUN state when the task gets to run. Fixes fatal firmware errors where
mac context updates were erroneously sent in states other than RUN state.
Additionally, avoid scheduling a mac context task if a pending newstate
task is going to move us out of RUN state anyway.
Issue debugged by zxystd in OpenIntelWireless itlwm; patch by me.
stsp [Wed, 30 Jun 2021 09:42:22 +0000 (09:42 +0000)]
Make Tx-done interrupt processing in iwm(4) more similar to iwlwifi.
When iwm(4) takes a frame off a non-aggregation queue we used the ring index
reported by firmware to figure out which frame can be taken off the ring.
This logic was inherited from iwn(4).
We have sometimes seen an index get skipped and had a workaround in place
where we took all pending frames up to this index off the ring.
Apart from the ring index the firmware reports another value which is its
starting sequence number (SSN). An SSN is usually associated with a Tx
aggregation queue that uses block ack. On non-aggregation queues the SSN
matches the ring index most of the time and hence seems redundant at first
sight. But the values are not always the same.
We now always use the SSN as the upper bound which matches the Linux driver.
This seems to fix fatal firmware errors during Tx commands seen by jcs@
which suggests that we were sometimes taking frames off the ring too early.
The ring index is still used to feed information about a frame to the Tx
rate control algorithm but no longer determines when frames are taken off
the ring.
test and ok jcs@
jsg [Wed, 30 Jun 2021 07:39:05 +0000 (07:39 +0000)]
add missing call to sbi_remote_fence_i()
ok kettenis@
jsg [Wed, 30 Jun 2021 01:08:10 +0000 (01:08 +0000)]
MULTIPTOCESSOR -> MULTIPROCESSOR
ok deraadt@
deraadt [Tue, 29 Jun 2021 22:41:12 +0000 (22:41 +0000)]
sync
deraadt [Tue, 29 Jun 2021 22:03:50 +0000 (22:03 +0000)]
include bsd.mp (but don't change isntall.md to choose it yet)
deraadt [Tue, 29 Jun 2021 22:03:30 +0000 (22:03 +0000)]
build bsd.mp
kettenis [Tue, 29 Jun 2021 21:31:49 +0000 (21:31 +0000)]
Didn't intend to commit the CPU_IS_RUNNING() changes just yet, so revert
those bits.
kettenis [Tue, 29 Jun 2021 21:27:52 +0000 (21:27 +0000)]
SMP support. Mostly works, but occasionally craps out during boot.
ok drahn@
kettenis [Tue, 29 Jun 2021 19:58:21 +0000 (19:58 +0000)]
whitespace
deraadt [Tue, 29 Jun 2021 19:57:23 +0000 (19:57 +0000)]
sync
jsing [Tue, 29 Jun 2021 19:56:11 +0000 (19:56 +0000)]
Pull sigalg selection up into ssl3_send_client_verify().
This means that we do sigalg selection for all cases, including those
where are are not sending sigalgs. This is needed in order to track our
signature type in legacy cases.
ok tb@
jsing [Tue, 29 Jun 2021 19:43:15 +0000 (19:43 +0000)]
Track sigalg used by ourselves and our peer in the legacy stack.
This is needed for upcoming API additions.
jsing [Tue, 29 Jun 2021 19:36:14 +0000 (19:36 +0000)]
Pull up and dedup the TLS version check in ssl_sigalg_pkey_ok().
Suggested by tb@
jsing [Tue, 29 Jun 2021 19:33:46 +0000 (19:33 +0000)]
Simplify RSA PSS key size comment.
Wording provided by tb@
jsing [Tue, 29 Jun 2021 19:31:16 +0000 (19:31 +0000)]
Use appropriate TLS version when building client sigalg extensions.
Only use the minimum TLS version to when building a signature algorithms
extension for a ClientHello - in all other cases we should be using the
negotiated TLS version.
ok inoguchi@ tb@
jsing [Tue, 29 Jun 2021 19:29:16 +0000 (19:29 +0000)]
Change ssl_sigalg_from_value() to take SSL * instead of a TLS version.
This simplifies callers, as only the negotiated TLS version needs to be
used here.
Requested by tb@
jsing [Tue, 29 Jun 2021 19:25:59 +0000 (19:25 +0000)]
Make various sigalg functions static now that they're only used internally.
jsing [Tue, 29 Jun 2021 19:24:07 +0000 (19:24 +0000)]
Convert legacy stack server to ssl_sigalg_for_peer().
ok inoguchi@ tb@
jsing [Tue, 29 Jun 2021 19:23:36 +0000 (19:23 +0000)]
Convert legacy stack client to ssl_sigalg_for_peer().
ok inoguchi@ tb@
jsing [Tue, 29 Jun 2021 19:20:39 +0000 (19:20 +0000)]
Provide a ssl_sigalg_for_peer() function and use in the TLSv1.3 code.
Provide an ssl_sigalg_for_peer() function that knows how to figure out
which signature algorithm should be used for a peer provided signature,
performing appropriate validation to ensure that the peer provided value
is suitable for the protocol version and key in use.
In the TLSv1.3 code, this replaces the need for separate calls to lookup
the sigalg from the peer provided value, then perform validation.
ok inoguchi@ tb@
jsing [Tue, 29 Jun 2021 19:10:08 +0000 (19:10 +0000)]
Move the RSA-PSS check for TLSv1.3 to ssl_sigalg_pkey_ok().
Also, rather than passing in a check_curve flag, pass in the SSL * and
handle version checks internally to ssl_sigalg_pkey_ok(), simplifying
the callers.
ok inoguchi@ tb@
jsing [Tue, 29 Jun 2021 18:59:25 +0000 (18:59 +0000)]
Factor out handling of legacy default signature algorithms.
In the case of TLSv1.0 and TLSv1.1 there is no signature algorithms
extension and default signature algorithms are used - similar applies to
TLSv1.2 when the signature algorithms extension has been omitted.
ok inoguchi@ tb@
jsing [Tue, 29 Jun 2021 18:55:47 +0000 (18:55 +0000)]
Mop up now unused variables.
jsing [Tue, 29 Jun 2021 18:47:15 +0000 (18:47 +0000)]
Require a ServerHello following a HelloRetryRequest to use the same cipher.
RFC 8446 section 4.1.4 requires that the client ensure the cipher suite
in the TLSv1.3 HelloRetryRequest and subsequent ServerHello is the same.
Reported via GitHub issue #675.
ok inoguchi@ tb@
deraadt [Tue, 29 Jun 2021 18:45:41 +0000 (18:45 +0000)]
delete pre-EFI boot kernel location scripting
ok drahn
jsing [Tue, 29 Jun 2021 18:43:49 +0000 (18:43 +0000)]
Reject zero-length non-application data fragments in the legacy stack.
Per RFC 5246 section 6.2.1, zero-length fragments are only permitted for
application data - reject all others.
Reported via GitHub issue #675.
ok inoguchi@ tb@
matthieu [Tue, 29 Jun 2021 17:49:49 +0000 (17:49 +0000)]
sync maxusers with other 64bits architectures. ok kettenis@, deraadt@.
deraadt [Tue, 29 Jun 2021 17:43:57 +0000 (17:43 +0000)]
Flip the -r RRDP switch, which went through community testing for half a year.
Default is now to attempt RRDP first, then try RSYNC.
If problems show up, return to rsync-only behaviour with -R, and file a report.
ok claudio
schwarze [Tue, 29 Jun 2021 16:34:52 +0000 (16:34 +0000)]
more precision because the argument is signed,
and even char is signed on some platforms;
OK millert@ jmc@
claudio [Tue, 29 Jun 2021 16:15:37 +0000 (16:15 +0000)]
remove unused prototype
OK deraadt@
tobhe [Tue, 29 Jun 2021 15:39:20 +0000 (15:39 +0000)]
Send AUTHENTICATION_FAILED in case of unexpected auth method or auth
data not being accessible.
From Claudia Priesterjahn @ achelos
ok patrick@
schwarze [Tue, 29 Jun 2021 14:47:33 +0000 (14:47 +0000)]
function args must not use .Ar and EDOM and ERANGE require .Er;
mostly mechanical diff similar to what Emil Engler just sent for sqrt(3)
schwarze [Tue, 29 Jun 2021 14:46:44 +0000 (14:46 +0000)]
insert missing .Ns
schwarze [Tue, 29 Jun 2021 14:04:16 +0000 (14:04 +0000)]
basic mdoc(7) macro cleanup; patch from me at EmilEngler dot com
patrick [Tue, 29 Jun 2021 12:51:18 +0000 (12:51 +0000)]
rktcphy(4)
patrick [Tue, 29 Jun 2021 12:46:36 +0000 (12:46 +0000)]
When configuring the USB3 phy, try the OFW PHY API first, and if there's
no matching device, fall back to xhci(4)'s PHY configuration code.
ok kettenis@
patrick [Tue, 29 Jun 2021 12:43:33 +0000 (12:43 +0000)]
Enable rktcphy(4).
ok kettenis@
patrick [Tue, 29 Jun 2021 12:43:09 +0000 (12:43 +0000)]
Add rktcphy(4), a driver for the Type-C PHY controller found on the
Rockchip RK3399. While the PHY allows switching between combinations
of USB3 and DisplayPort, this driver enables only USB3 functionality.
This allows USB3 devices to show up on machines where previously only
USB2 devices showed up. Driver was taken from FreeBSD and adjusted to
fit into our code base.
ok kettenis@
kettenis [Tue, 29 Jun 2021 12:22:39 +0000 (12:22 +0000)]
The way we boot OpenBSD, there is no need to play the hart lottery.
This is essentially a remnant of early RISC-V, which used the Berkely
Boot Loader. Modern RISC-V firmware makes sure only one hart is enabled
and offsers SBI calls to start the other harts.
claudio [Tue, 29 Jun 2021 07:55:29 +0000 (07:55 +0000)]
Adjust unveil_find_cover() to return -1 if the root vnode is passed in.
This helps unveil_add_vnode() to properly re-evaluate unveils when
"/" is added to the list.
Because of this adjust unveil_covered() to check for the root as well
so that in that case the unveil uv is returned instead of NULL. Traversing
up from the root returns the root. This check is not really needed since
namei has its own root check and shortcuts for root vnodes.
OK semarie@
jsg [Tue, 29 Jun 2021 01:46:35 +0000 (01:46 +0000)]
remove arch ifdefs around drm.h include
ok deraadt@ kettenis@
jsg [Tue, 29 Jun 2021 01:42:14 +0000 (01:42 +0000)]
move some config lines to ensure drm.h is always created
ok deraadt@ kettenis@
schwarze [Mon, 28 Jun 2021 19:59:09 +0000 (19:59 +0000)]
delete the two pairs of extra blank lines from expected man(7) terminal
output that are no longer printed since man_term.c rev. 1.189
krw [Mon, 28 Jun 2021 19:50:30 +0000 (19:50 +0000)]
Add another epicycle to -A processing that ensures ONLY the
partition table is changed. Not the GPT header. Not the MBR. And
only write back as much partition table information as the header
claims to have room for.
At a minimum should make -A safer when operating on the Apple M1
GPT.
A major overhaul of this code is urgently needed before someone
sneezes too hard in its vicinity.
Feedback kettenis@ & ok deraadt@
schwarze [Mon, 28 Jun 2021 19:49:57 +0000 (19:49 +0000)]
In terminal output of man(7) documents, stop printing two extra blank
lines before the NAME section and before the page footer. While these
blank lines had a long tradition, they didn't really serve any purpose
and merely wasted screen real estate. Besides, this makes output from
man(7) more similar to output from mdoc(7).
This commit keeps mandoc compatible with groff-current,
where G. Branden Robinson committed the same change
on June 16 (groff commit
2278d6ed).
deraadt [Mon, 28 Jun 2021 18:53:10 +0000 (18:53 +0000)]
do not need .align 2 or 4 after .text, the ABI's .text will decide what
to do
ok kettenis
deraadt [Mon, 28 Jun 2021 18:52:26 +0000 (18:52 +0000)]
whitespace
tb [Mon, 28 Jun 2021 18:48:56 +0000 (18:48 +0000)]
Use the order action->sender == ctx->mode everywhere for consistency.
tb [Mon, 28 Jun 2021 18:42:17 +0000 (18:42 +0000)]
ctx->alert is not a boolean, so compare it explicitly against 0.