openbsd
14 months agorevert disabling warnings for zlib on clang >= 15
jsg [Wed, 6 Sep 2023 01:47:36 +0000 (01:47 +0000)]
revert disabling warnings for zlib on clang >= 15
no longer needed with zlib 1.3
ok tb@

14 months agoDISNAME -> DISTNAME
jsg [Tue, 5 Sep 2023 23:45:53 +0000 (23:45 +0000)]
DISNAME -> DISTNAME

14 months agoAccording to the C11 standard, char32_t and char16_t are not part
schwarze [Tue, 5 Sep 2023 23:16:01 +0000 (23:16 +0000)]
According to the C11 standard, char32_t and char16_t are not part
of the C language but are part of the C library and have to be
declared in <uchar.h> - see paragraph 7.28.2.

In stark contrast, according to the C++11 standard, char32_t and char16_t
are part of the C++ language, namely, keywords - see paragraph 2.12.1.
Consequently, they must not be declared in a header file.

To resolve this vile contradiction, use the predefined macro __cplusplus
to find out which language is in use for the current compilation unit -
see C11 paragraph 6.10.8.3 and C++11 paragraph 16.8.1.

Reminded of the problem by naddy@.
OK naddy@ who tested in make build / make release.
Looks reasonable to millert@.

14 months agoclockintr: remove clockintr_expiration()
cheloha [Tue, 5 Sep 2023 22:41:14 +0000 (22:41 +0000)]
clockintr: remove clockintr_expiration()

With the introduction of clockintr_advance_random(), this interface is
now unused.  Remove it.

Suggested by mpi@.

Thread: https://marc.info/?l=openbsd-tech&m=169392340028978&w=2

ok mpi@ mlarkin@

14 months agoclockintr: remove clockintr_nsecuptime()
cheloha [Tue, 5 Sep 2023 22:29:28 +0000 (22:29 +0000)]
clockintr: remove clockintr_nsecuptime()

With the introduction of clockintr_advance_random(), this interface is
now unused.  Remove it.

Suggested by mpi@.

Thread: https://marc.info/?l=openbsd-tech&m=169392340028978&w=2

ok mpi@ mlarkin@

14 months agoclockintr: add clockintr_advance_random()
cheloha [Tue, 5 Sep 2023 22:25:41 +0000 (22:25 +0000)]
clockintr: add clockintr_advance_random()

Add clockintr_advance_random().  Its sole purpose is to simplify the
implementation of statclock's pseudorandom period.

Ideally, nothing else will use it and we will get rid of it and the
pseudorandom statclock period at some point in the near future.

Suggested by mpi@.

Thread: https://marc.info/?l=openbsd-tech&m=169392340028978&w=2

ok mpi@ mlarkin@

14 months agogithub.io is https
espie [Tue, 5 Sep 2023 16:20:30 +0000 (16:20 +0000)]
github.io is https
zap the dot so that dumb cut&paste works

14 months agoLog a dummy "<unknown>" IP address in the unlikely event that genameinfo(3) fails
jca [Tue, 5 Sep 2023 16:01:58 +0000 (16:01 +0000)]
Log a dummy "<unknown>" IP address in the unlikely event that genameinfo(3) fails

clang-16 warning reported by robert@, ok tb@ millert@

14 months agoFix indentation, found with -Wmisleading-indentation.
florian [Tue, 5 Sep 2023 15:46:22 +0000 (15:46 +0000)]
Fix indentation, found with -Wmisleading-indentation.

Already commited upstream.

14 months agoPrevent warnings from -Wmissing-prototypes
florian [Tue, 5 Sep 2023 15:45:51 +0000 (15:45 +0000)]
Prevent warnings from -Wmissing-prototypes

https://github.com/NLnetLabs/unbound/pull/931

14 months agoFix built.
florian [Tue, 5 Sep 2023 15:44:39 +0000 (15:44 +0000)]
Fix built.

The api changed to handle cookies and extended error codes.

Passing in NULL for config_file disables cookie handling so we do not
need to pass a valid comm_reply, NULL will do.

14 months agosync to unbound 1.18.0; heavy lifting by sthen
florian [Tue, 5 Sep 2023 15:44:01 +0000 (15:44 +0000)]
sync to unbound 1.18.0; heavy lifting by sthen

14 months agofix mismatching declaration of argument with mismatched bounds
robert [Tue, 5 Sep 2023 15:37:07 +0000 (15:37 +0000)]
fix mismatching declaration of argument with mismatched bounds

ok tb@

14 months agofunction definitions without prototypes are deprecated, so shut clang16 up
robert [Tue, 5 Sep 2023 15:33:40 +0000 (15:33 +0000)]
function definitions without prototypes are deprecated, so shut clang16 up

ok kettenis@

14 months agoadd a BUGS section warning about the creation of incomplete objects
schwarze [Tue, 5 Sep 2023 15:01:39 +0000 (15:01 +0000)]
add a BUGS section warning about the creation of incomplete objects

14 months agoImprove error handling in OBJ_add_object()
tb [Tue, 5 Sep 2023 14:59:00 +0000 (14:59 +0000)]
Improve error handling in OBJ_add_object()

There is no need for a helper function to obfuscate lh_ADDED_OBJ_new().
Just call the real thing directly.

Adding an object with a NID of NID_undef basically amounts to disabling
a built-in OID. It does so in an incoherent fashion and the caller can't
easily tell success from failure of the operation. Arguably the result is
a corrupted objects table.

Let's not allow adding such an object in an attempt at keeping things
slightly more coherent.

Issue noted and initial diff by schwarze while writing documentation

ok schwarze

14 months agodocument EVP_CIPHER_name(3)
schwarze [Tue, 5 Sep 2023 14:54:21 +0000 (14:54 +0000)]
document EVP_CIPHER_name(3)

14 months agoadd the missing .Dv macros to the list of flags
schwarze [Tue, 5 Sep 2023 14:37:00 +0000 (14:37 +0000)]
add the missing .Dv macros to the list of flags

14 months agoimprove the descriptions of almost all flags,
schwarze [Tue, 5 Sep 2023 14:19:02 +0000 (14:19 +0000)]
improve the descriptions of almost all flags,
in particular saying which API functions each flag affects

14 months agounifdef HAS_INLINES
jsg [Tue, 5 Sep 2023 14:05:41 +0000 (14:05 +0000)]
unifdef HAS_INLINES
inline is part of gnu89 and c99
ok kn@ espie@

14 months agovmm(4): switch the APMI CPUID mask to an include mask
mlarkin [Tue, 5 Sep 2023 14:00:40 +0000 (14:00 +0000)]
vmm(4): switch the APMI CPUID mask to an include mask

dv points out that there are other bits there that imply the existence
of other MSRs, so switching this to an include list is a better idea.

14 months agoreorder
espie [Tue, 5 Sep 2023 13:58:49 +0000 (13:58 +0000)]
reorder

14 months agoautomated MASTER_SITE* -> SITE* renaming
espie [Tue, 5 Sep 2023 13:55:57 +0000 (13:55 +0000)]
automated MASTER_SITE* -> SITE* renaming
(need some alphabetical reordering)

14 months agoPartial rewrite:
schwarze [Tue, 5 Sep 2023 13:50:22 +0000 (13:50 +0000)]
Partial rewrite:
* Integrate the leftovers of the former NOTES section into the main text,
resulting in a more logical order of information.
* Make many descriptions more precise and tweak many wordings.
For example, the description of OBJ_cmp(3) was totally misleading.

Add a CAVEATS section explaining the scary ownership contracts
of the functions returning ASN1_OBJECT pointers.

Move the discussion of NID_undef to the BUGS section because the
statement "objects which are not in the table have the NID value
NID_undef" was misleading in more than one way.

Considering that an API as fundamental as this one contains such a
gigantic amount of quirks and traps and gaps makes me shudder.

14 months agoavoid fatal errors at all costs
espie [Tue, 5 Sep 2023 13:47:25 +0000 (13:47 +0000)]
avoid fatal errors at all costs

14 months agoDIST_TUPLE's handling of HOMEPAGE is optional, of course
espie [Tue, 5 Sep 2023 13:15:31 +0000 (13:15 +0000)]
DIST_TUPLE's handling of HOMEPAGE is optional, of course

14 months agoupdate informal toc
espie [Tue, 5 Sep 2023 13:13:50 +0000 (13:13 +0000)]
update informal toc

14 months agostop putting multicast addresses into the Receive Address Registers
naddy [Tue, 5 Sep 2023 13:06:42 +0000 (13:06 +0000)]
stop putting multicast addresses into the Receive Address Registers

Hash them all into the Multicast Table Array.  This matches what
FreeBSD does.

This fixes a problem where the I217-LM would fail to receive packets
for some of the programmed addresses.

Approach agreed by jmatthew@ dlg@
OK claudio@

14 months agoMake ksmn(4) attach to 19h/4x devices
stsp [Tue, 5 Sep 2023 13:06:01 +0000 (13:06 +0000)]
Make ksmn(4) attach to 19h/4x devices

Tested on:
cpu0: AMD Ryzen 5 PRO 6650U with Radeon Graphics, 2900.00 MHz, 19-44-01, patch 0a404102

ok mlarkin

14 months agopof for check-lib-depends
espie [Tue, 5 Sep 2023 13:04:58 +0000 (13:04 +0000)]
pof for check-lib-depends

14 months agobe blunter about IS_INTERACTIVE
espie [Tue, 5 Sep 2023 13:02:11 +0000 (13:02 +0000)]
be blunter about IS_INTERACTIVE

14 months agodrop very old history
espie [Tue, 5 Sep 2023 12:58:01 +0000 (12:58 +0000)]
drop very old history

14 months agostrongly hint that people take advantage of sqlports
espie [Tue, 5 Sep 2023 12:53:43 +0000 (12:53 +0000)]
strongly hint that people take advantage of sqlports

14 months agodocument moving mechanisms
espie [Tue, 5 Sep 2023 12:47:54 +0000 (12:47 +0000)]
document moving mechanisms

14 months agouse terminology for other projects: it's still "fake" to us, but
espie [Tue, 5 Sep 2023 12:10:34 +0000 (12:10 +0000)]
use terminology for other projects: it's still "fake" to us, but
acknowledge the more common name "staging area"

14 months agoThere's no index in bsd.port.mk these days.
espie [Tue, 5 Sep 2023 11:51:44 +0000 (11:51 +0000)]
There's no index in bsd.port.mk these days.

14 months agoBe more specific in some places.
espie [Tue, 5 Sep 2023 11:25:12 +0000 (11:25 +0000)]
Be more specific in some places.
In  particular, telling people not to use pre-fake unless
they know what they're doing is idiotic.

14 months agooops, forgot to rm these before cvs import
sthen [Tue, 5 Sep 2023 11:18:03 +0000 (11:18 +0000)]
oops, forgot to rm these before cvs import

14 months agomerge unbound-1.18.0
sthen [Tue, 5 Sep 2023 11:12:09 +0000 (11:12 +0000)]
merge unbound-1.18.0

14 months agoimport unbound 1.18.0, ok florian
sthen [Tue, 5 Sep 2023 11:07:45 +0000 (11:07 +0000)]
import unbound 1.18.0, ok florian

14 months agoFix touchpad on newer device trees. The *gpio fields moved up one layer.
tobhe [Tue, 5 Sep 2023 11:04:06 +0000 (11:04 +0000)]
Fix touchpad on newer device trees. The *gpio fields moved up one layer.
The driver will work with both formats for now but we plan to remove
the old one in the future.

ok kettenis@

14 months agoreadmes hasn't existed for a long time, say goodbye to TEMPLATES
espie [Tue, 5 Sep 2023 10:31:48 +0000 (10:31 +0000)]
readmes hasn't existed for a long time, say goodbye to TEMPLATES

14 months agonits, explain when DISTFILES is automatically set
espie [Tue, 5 Sep 2023 10:29:16 +0000 (10:29 +0000)]
nits, explain when DISTFILES is automatically set

14 months agoAddress the case 2b version of inconsistent view across threads of
guenther [Tue, 5 Sep 2023 05:08:26 +0000 (05:08 +0000)]
Address the case 2b version of inconsistent view across threads of
a page undergoing copy-on-write faulting.  We fixed the case 1b
version in rev 1.125 (2022-02-01), but missed this other path.

jsg@ noted that in NetBSD Chuck Silvers had a relevant commit, their
rev 1.234 (2023-08-13), which looks like it fixed both cases due
to their refactoring of common code into a uvmfault_promote()
function.

ok mpi@ jca@

14 months agoRefuse an incomplete config, an authentication block which doesn't
yasuoka [Tue, 5 Sep 2023 00:32:01 +0000 (00:32 +0000)]
Refuse an incomplete config, an authentication block which doesn't
have authentication module.  The code doesn't expect this.

14 months agoRevert previous. It caused the stdio of the modules be NONBLOCK.
yasuoka [Mon, 4 Sep 2023 23:55:23 +0000 (23:55 +0000)]
Revert previous.  It caused the stdio of the modules be NONBLOCK.
Generally programs don't expect that.

14 months agoFix netstat output of uses of current SYN cache left.
bluhm [Mon, 4 Sep 2023 23:00:36 +0000 (23:00 +0000)]
Fix netstat output of uses of current SYN cache left.

TCP syn cache variable scs_use is basically counting packet insertions
into syn cache.  Prefer type long to exclude overflow on fast
machines.  Due to counting downwards from a limit, it can become
negative.  Copy it out as tcps_sc_uses_left via sysctl, and print
it as signed long long integer.

OK mvs@

14 months agodocument DIST_TUPLE and related variables: EXTRACT_SUFX.<name>,
thfr [Mon, 4 Sep 2023 22:36:55 +0000 (22:36 +0000)]
document DIST_TUPLE and related variables: EXTRACT_SUFX.<name>,
TEMPLATE_DISTFILES.<name>, and TEMPLATE_HOMEPAGE.<name>.
ok espie@

14 months agoSave some space on the ramdisks, actually use -DSMALL
jca [Mon, 4 Sep 2023 17:08:03 +0000 (17:08 +0000)]
Save some space on the ramdisks, actually use -DSMALL

This disables the helpers that recognize compressed archives when the
user failed to use the proper flag/command.  Those are not terribly
useful on the ramdisks and the fallback behavior is sane.

Went through a make release Just In Case(tm).

Spotted by caspar@, ok millert@ sthen@ caspar@

14 months agoZap #ifndef SMALL around pax format read support
jca [Mon, 4 Sep 2023 17:05:34 +0000 (17:05 +0000)]
Zap #ifndef SMALL around pax format read support

-DSMALL has never been used to build the ramdisks, thus the support for
reading pax format archives has always been there.  This is misleading,
so just zap the ifdef since we want to keep read support.

Went through a make release Just In Case(tm).

Spotted by caspar@, ok millert@ sthen@ caspar@

14 months agorework DESCRIPTION for readability. put the BOOTP stuff in its own
jmc [Mon, 4 Sep 2023 16:11:00 +0000 (16:11 +0000)]
rework DESCRIPTION for readability. put the BOOTP stuff in its own
section, to avoid cluttering things up. remove the useless COMMAND LINE
section header, and shuffle text accordingly.

ok stsp claudio krw

14 months agoProtect ps_single, ps_singlecnt and ps_threadcnt by the process mutex.
claudio [Mon, 4 Sep 2023 13:18:41 +0000 (13:18 +0000)]
Protect ps_single, ps_singlecnt and ps_threadcnt by the process mutex.

The single thread API needs to lock the process to enter single thread
mode and does not need to stop the scheduler.

This code changes ps_singlecount from a count down to zero to ps_singlecnt
which counts up until equal to ps_threadcnt (in which case all threads
are properly asleep).

Tested by phessler@, OK mpi@ cheloha@

14 months agoFix a bug where the wrong digit was used for prioritizing filenames
schwarze [Mon, 4 Sep 2023 13:08:11 +0000 (13:08 +0000)]
Fix a bug where the wrong digit was used for prioritizing filenames
in the standard man(1) mode that formats a single resulting page
if the respective manpath contained digits, like X11R6 does.
Fortunately, this bug did not trigger for any Xenocara manual page.

14 months agocomplete documentation for ALL_DISTFILES/ALL_PATCHFILES and the
espie [Mon, 4 Sep 2023 12:40:44 +0000 (12:40 +0000)]
complete documentation for ALL_DISTFILES/ALL_PATCHFILES and the
new warning message

14 months agoDon't surround by "" at much as possible.
yasuoka [Mon, 4 Sep 2023 12:28:18 +0000 (12:28 +0000)]
Don't surround by "" at much as possible.

14 months agoGC old code that was originally implemented to facilitate adoption by
espie [Mon, 4 Sep 2023 11:35:11 +0000 (11:35 +0000)]
GC old code that was originally implemented to facilitate adoption by
other BSDs, which never happened, so make things simpler for further
development.

Ditches config.h entirely since it gets reduced to 2 defines.

okay tb@

14 months agoSpecify SOCK_NONBLOCK for socketpair(2) instead of fcntl(2).
yasuoka [Mon, 4 Sep 2023 10:50:52 +0000 (10:50 +0000)]
Specify SOCK_NONBLOCK for socketpair(2) instead of fcntl(2).

14 months agoDon't return an extra OK message. Also call module_destroy() when
yasuoka [Mon, 4 Sep 2023 10:49:20 +0000 (10:49 +0000)]
Don't return an extra OK message.  Also call module_destroy() when
exit(3).

14 months agoGenerate Ed25519 keys when invoked without arguments
job [Mon, 4 Sep 2023 10:29:58 +0000 (10:29 +0000)]
Generate Ed25519 keys when invoked without arguments

Ed25519 public keys are very convenient due to their small size.
OpenSSH has supported Ed25519 since version 6.5 (January 2014).

OK djm@ markus@ sthen@ deraadt@

14 months agoMake wp_local.h and cmll_local.h self-standing
tb [Mon, 4 Sep 2023 08:43:41 +0000 (08:43 +0000)]
Make wp_local.h and cmll_local.h self-standing

14 months agounbreak build with llvm-16 by including sys/types.h for __BEGIN_HIDDEN_DECLS
robert [Mon, 4 Sep 2023 08:36:48 +0000 (08:36 +0000)]
unbreak build with llvm-16 by including sys/types.h for __BEGIN_HIDDEN_DECLS

/usr/src/lib/libcrypto/whrlpool/wp_local.h:5:1: error: unknown type name '__BEGIN_HIDDEN_DECLS'

ok tb@

14 months agoSkip wrapped lines in top level search loop because they will be
nicm [Mon, 4 Sep 2023 08:01:43 +0000 (08:01 +0000)]
Skip wrapped lines in top level search loop because they will be
combined in the inner loop (in window_copy_search_rl_regex and the
others), avoids searching the same text multiple times. Also add a line
length limit for regex searches. GitHub issue 3675.

14 months agotrigger keystroke timing obfucation only if the channels layer enqueud
djm [Mon, 4 Sep 2023 00:08:14 +0000 (00:08 +0000)]
trigger keystroke timing obfucation only if the channels layer enqueud
some data in the last poll() cycle; this avoids triggering the
obfuscatior for non-channels data like ClientAlive probes and also
fixes a related problem were the obfucations would be triggered on
fully quiescent connections.

Based on / tested by naddy@

14 months agoavoid bogus "obfuscate_keystroke_timing: stopping ..." debug
djm [Mon, 4 Sep 2023 00:04:02 +0000 (00:04 +0000)]
avoid bogus "obfuscate_keystroke_timing: stopping ..." debug
messages when keystroke timing obfuscation was never started;
spotted by naddy@

14 months agomake channel_output_poll() return a flag indicating whether channel
djm [Mon, 4 Sep 2023 00:01:46 +0000 (00:01 +0000)]
make channel_output_poll() return a flag indicating whether channel
data was enqueued. Will be used to improve keystroke timing
obfuscation. Problem spotted by / tested by naddy@

14 months agoset interactive mode for ControlPersist sessions if they originally
djm [Sun, 3 Sep 2023 23:59:32 +0000 (23:59 +0000)]
set interactive mode for ControlPersist sessions if they originally
requested a tty; enables keystroke timing obfuscation for most
ControlPersist sessions. Spotted by naddy@

14 months agoAllow UDP for built-in inetd(8) services on 127.0.0.1.
bluhm [Sun, 3 Sep 2023 22:01:00 +0000 (22:01 +0000)]
Allow UDP for built-in inetd(8) services on 127.0.0.1.

This restriction was added in year 2000 due to IPv6 compatible and
mapped addresses.  Nowadays our kernel does not support these IPv6
features and blocks localhost addresses on non-loopback interfaces.
Make IPv4 127.0.0.1/8 and IPv6 ::1 behave identically and provide
local services if configured.

OK mvs@ deraadt@

14 months agosync perl syscall emulator header
bluhm [Sun, 3 Sep 2023 21:46:52 +0000 (21:46 +0000)]
sync perl syscall emulator header

14 months agoAvoid a useless increment and decrement of the tcp syn cache refcount
bluhm [Sun, 3 Sep 2023 21:37:17 +0000 (21:37 +0000)]
Avoid a useless increment and decrement of the tcp syn cache refcount
by unexpanding the SYN_CACHE_TIMER_ARM() macro in the timer callback.
OK mvs@

14 months agoDocument rdomain-related behaviour of dhcpd(8).
stsp [Sun, 3 Sep 2023 20:19:13 +0000 (20:19 +0000)]
Document rdomain-related behaviour of dhcpd(8).

ok jmc

14 months agoif UNLOCK_CMD is a user settings, so is LOCK_CMD !
espie [Sun, 3 Sep 2023 12:24:16 +0000 (12:24 +0000)]
if UNLOCK_CMD is a user settings, so is LOCK_CMD !

14 months agogc ancient stuff
espie [Sun, 3 Sep 2023 12:22:21 +0000 (12:22 +0000)]
gc ancient stuff
point people to pkg_create wrt FULLPKGNAME

14 months agoShuffle the order in which Manifest entries are processed
job [Sun, 3 Sep 2023 10:48:50 +0000 (10:48 +0000)]
Shuffle the order in which Manifest entries are processed

Previously work items were enqueued in the order the CA intended them
to appear on a Manifest. However, there is no obvious benefit to letting
third parties decide the order in which things are processed.

Instead, randomize: ordering has no meaning anyway, and the number of
concurrent repository synchronization operations is limited & timeboxed.
As they say, a fox is not taken twice in the same snare

OK tb@

14 months agoLet builtin process names be stored in maps as string.
mpi [Sun, 3 Sep 2023 10:26:35 +0000 (10:26 +0000)]
Let builtin process names be stored in maps as string.

ok dv@

14 months agoUse EVBUFFER_DATA instead of reaching into struct evbuffer. ok tb
nicm [Sun, 3 Sep 2023 10:22:03 +0000 (10:22 +0000)]
Use EVBUFFER_DATA instead of reaching into struct evbuffer. ok tb

14 months agoUse EVBUFFER_DATA instead of reaching into struct evbuffer. ok tb
nicm [Sun, 3 Sep 2023 10:18:18 +0000 (10:18 +0000)]
Use EVBUFFER_DATA instead of reaching into struct evbuffer. ok tb

14 months agovmm(4): Suppress AMD HwPstate visibility to guests
mlarkin [Sun, 3 Sep 2023 09:30:43 +0000 (09:30 +0000)]
vmm(4): Suppress AMD HwPstate visibility to guests

On newer Ryzen/EPYC, we need to hide the HwPstate CPUID 80000007:EDX
field for HwPstate, or guests will try to access the MSRs associated
with those, and that will fail with #GP.

ok deraadt

14 months agoReplace perl's use of syscall(2) with a dispatcher to libc
afresh1 [Sun, 3 Sep 2023 01:43:09 +0000 (01:43 +0000)]
Replace perl's use of syscall(2) with a dispatcher to libc

This removes the ability to do direct syscalls from perl, instead calling
the appropriate libc functions.

Currently we generate the dispatcher via a perl script duing build.

requested by deraadt@

nits from espie@
education from miod@
infrastructure fixes from sthen@
many improvements and ok gkoehler@
Please commit soon.  OK bluhm@

14 months agoZero initialize Perl AV elements after unshift and resize.
bluhm [Sun, 3 Sep 2023 00:48:54 +0000 (00:48 +0000)]
Zero initialize Perl AV elements after unshift and resize.

https://github.com/Perl/perl5/issues/21235
https://github.com/Perl/perl5/pull/21265
https://github.com/Perl/perl5/commit/9e298ab597b2c6fc0741749d7e29119e2d6cd628

Bug reported by Anton Borowka.  Fix from upstream Perl.  OK afresh1@

14 months agoAdapt tlb flush calls following arm64/pmap.c
jca [Sun, 3 Sep 2023 00:23:25 +0000 (00:23 +0000)]
Adapt tlb flush calls following arm64/pmap.c

1. in pmap_enter() no need to call tlb_flush_page() if we don't actually
insert a pted
2. all callers of pmap_pte_remove() already call tlb_flush_page()

This seems to result in some performance improvement (18mn -> 17mn15)
while building libc on a Hifive Unmatched).  Also zap whitespace and
useless comments to further reduce the diff with arm64/pmap.c

ok kettenis@

14 months agoInline PTED_* functions and actually use PTED_WIRED()
jca [Sun, 3 Sep 2023 00:15:46 +0000 (00:15 +0000)]
Inline PTED_* functions and actually use PTED_WIRED()

As noted by drahn@ the compiler did inline said functions, but it also
provided them as unused symbols.

ok miod@ mlarkin@ kettenis@

14 months agopmap_page_protect() should not unmap pages after making them readonly.
jca [Sun, 3 Sep 2023 00:03:30 +0000 (00:03 +0000)]
pmap_page_protect() should not unmap pages after making them readonly.

This brings riscv64/pmap.c in line with arm64/pmap.c, original fix by
drahn@

ok miod@ kettenis@ mlarkin@

14 months agoRequest terminal colours again on SIGWINCH but at most once every 30
nicm [Sat, 2 Sep 2023 20:03:10 +0000 (20:03 +0000)]
Request terminal colours again on SIGWINCH but at most once every 30
seconds, GitHub issue 3582.

14 months agobtrace(8): allow empty statements in probes.
dv [Sat, 2 Sep 2023 19:28:46 +0000 (19:28 +0000)]
btrace(8): allow empty statements in probes.

Allows for probes like `BEGIN {}`, in parity with bpftrace.

Also fixes an incorrect syntax error parsing argN builtins in
subsequent probes after an empty BEGIN block.

ok mpi@

14 months agoMake sure cert_type is not 0 to prevent leak of certid->id_buf.
tobhe [Sat, 2 Sep 2023 18:36:30 +0000 (18:36 +0000)]
Make sure cert_type is not 0 to prevent leak of certid->id_buf.

Found by David Linder
ok patrick@

14 months agoRemove unneccessary id == NULL check after dereferencing it. id can never
tobhe [Sat, 2 Sep 2023 18:16:02 +0000 (18:16 +0000)]
Remove unneccessary id == NULL check after dereferencing it. id can never
be NULL here.

Found by tb@

14 months agodocument ALL_DISTFILES and ALL_PATCHFILES
espie [Sat, 2 Sep 2023 17:19:57 +0000 (17:19 +0000)]
document ALL_DISTFILES and ALL_PATCHFILES

14 months agobtrace(8): fix probe builtin in BEGIN/END.
dv [Sat, 2 Sep 2023 15:16:12 +0000 (15:16 +0000)]
btrace(8): fix probe builtin in BEGIN/END.

Resolves segfaults when using probe within BEGIN or END.

ok mpi@

14 months agoFix comment about skipped interfaces
kn [Sat, 2 Sep 2023 10:18:45 +0000 (10:18 +0000)]
Fix comment about skipped interfaces

After r1.44 "Start on DOWN interfaces" this sentence makes no sense
and just repeats the obvious conditions, so zap it.

With/OK stsp

14 months agoSetulc only does RGB colour so add Setulc1 to do non-RGB colours, GitHub
nicm [Sat, 2 Sep 2023 09:17:23 +0000 (09:17 +0000)]
Setulc only does RGB colour so add Setulc1 to do non-RGB colours, GitHub
issue 3627.

14 months agoUse a hardware based number of KDF rounds by default for passphrases
kn [Sat, 2 Sep 2023 09:14:47 +0000 (09:14 +0000)]
Use a hardware based number of KDF rounds by default for passphrases

When creating new crypto volumes with a passphrase or updating one, pick a
number of rounds that aims to take around 1s instead of just 16 (on X230 and
T14 machines, 16 rounds unlock pretty much instantly).

New default [-r auto] never decreases rounds, only explicit '-r N' can.
16 is the absolute minimum.

Motivation is to provide a saner and more modern default, especially for
fresh installations utilizing new disk encryption question.

Prodding for new default from and OK jsing on early "-r auto" installer diff
idea to to pick MAX(auto, old-rounds) from Lucas[AT sexy DOT is]
"seems acceptable to me" deraadt
Feedback kettenis sthen
OK op

14 months agoAvoid trying to remove keys if the station is not active in iwm firmware.
stsp [Sat, 2 Sep 2023 09:02:18 +0000 (09:02 +0000)]
Avoid trying to remove keys if the station is not active in iwm firmware.

Same fix as applied to iwx(4) in March. Since iwm(4) does not use a task
for key installation and removal the same race might not manifest here.
However, trying to delete a key while the station is not in firmware
is wrong in any case. And this code might get moved into a task later.

14 months agoMake iwm(4) not crash when aircrack-ng attempts to inject frames via
stsp [Sat, 2 Sep 2023 08:57:46 +0000 (08:57 +0000)]
Make iwm(4) not crash when aircrack-ng attempts to inject frames via
bpf in monitor mode.

Crash reported by brad and sthen.
I reproduced the issue to verify my fix but I did not check whether
aircrack-ng actually works with this.

14 months agoSet visited flag on last windows when linking session.
nicm [Sat, 2 Sep 2023 08:38:37 +0000 (08:38 +0000)]
Set visited flag on last windows when linking session.

14 months agoZap anon pages mappings in uvm_anon_release() instead of in the fault handler.
mpi [Sat, 2 Sep 2023 08:24:40 +0000 (08:24 +0000)]
Zap anon pages mappings in uvm_anon_release() instead of in the fault handler.

This makes all code paths deactivating or freeing anons consistent.

No objection from the usual suspects.

14 months agowhitespace
tb [Sat, 2 Sep 2023 04:55:18 +0000 (04:55 +0000)]
whitespace

14 months agoAlign EVP_PKEY_get1_RSA() with EVP_PKEY_get0_RSA()
tb [Sat, 2 Sep 2023 04:15:39 +0000 (04:15 +0000)]
Align EVP_PKEY_get1_RSA() with EVP_PKEY_get0_RSA()

14 months agoImplement drive strength tweaking for the YT8531. Needed on the v1.3b
kettenis [Fri, 1 Sep 2023 20:35:31 +0000 (20:35 +0000)]
Implement drive strength tweaking for the YT8531.  Needed on the v1.3b
variant of the visionfive2 board.

ok jsing@

14 months agoCall rtm_send() with netlock held to protect dereference of sockaddr
mvs [Fri, 1 Sep 2023 20:24:29 +0000 (20:24 +0000)]
Call rtm_send() with netlock held to protect dereference of sockaddr
structure data returned by rtable_getsource(). Netlock can't be pushed
within rtm_send() because we have paths where caller already holds it.

tested by jca

ok bluhm jca

14 months agovmd(8): ignore masks on asserts, use synchronous deasserts.
dv [Fri, 1 Sep 2023 19:42:26 +0000 (19:42 +0000)]
vmd(8): ignore masks on asserts, use synchronous deasserts.

The i8259 was considering the state of the mask register when a
device requested raising the bit in the interrupt request register.
This caused a race condition where if the virtio device asserted
the irq while it was masked in the i8259 by the vm, we'd miss the
interrupt request. The device and the pic would become out of sync
and users reported virtio block device stalls as the vioblk(4)
driver would starve, waiting for an interrupt that will never arrive.

The mask is now considered only at ack time, when finding possible
interrupts to inject. This bug was never a problem previously as
virtio devices were emulated synchronously.

Deasserts related to the vcpu reading the virtio isr register are
also made now in response to the read request instead of issued
asynchronously. This removes a subsequent race condition.

Testing from mbuhl@, stsp@, and Florian Riehm.

ok mlarkin@