openbsd
22 months agoPF_ANCHOR_STACK_MAX is insufficient protection against stack overflow.
sashan [Fri, 6 Jan 2023 17:44:33 +0000 (17:44 +0000)]
PF_ANCHOR_STACK_MAX is insufficient protection against stack overflow.
On amd64 stack overflows for anchor rule with depth ~30. The tricky
thing is the 'safe' depth varies depending on kind of packet processed
by pf_match_rule(). For example for local outbound TCP packet stack
overflows when recursion if pf_match_rule() reaches depth 24.

Instead of lowering PF_ANCHOR_STACK_MAX to 20 and hoping it will
be enough on all platforms and for all packets I'd like to stop
calling pf_match_rule() recursively. This commit brings back
pf_anchor_stackframe array we used to have back in 2017. It also
revives patrick@'s idea to pre-allocate stack frame arrays
from per-cpu.

OK kn@

22 months agoRework the main <-> parser/filemode communication protocol a bit.
claudio [Fri, 6 Jan 2023 16:06:43 +0000 (16:06 +0000)]
Rework the main <-> parser/filemode communication protocol a bit.

Swap repo_id and filename to simplify the code in parser.c. In filemode
both repo_id and filename are ignored.
Additionally do not errx() in case of unknown file types. Instead send back
enough info that the code can move on.

OK tb@

22 months agoClean up struct nd_opts, use nd6_options() function local variables
kn [Fri, 6 Jan 2023 14:35:34 +0000 (14:35 +0000)]
Clean up struct nd_opts, use nd6_options() function local variables

nd_opts_search is really the next option, so call it next_opt.

nd_opts_done == 1 means next_opt == NULL, i.e. no more option to handle,
so zap the former and use the latter to stop.

Finally drop the useless struct members, all under _KERNEL.

OK claudio

22 months agoInline nd6_option() helper, remove indirections
kn [Fri, 6 Jan 2023 14:32:55 +0000 (14:32 +0000)]
Inline nd6_option() helper, remove indirections

Move the function body into the while loop, merge identical variables,
pull the `invalid' label out of the loop and straighten `skip' into the
`skip1' label.

Merging nd6_option() into nd6_options() is now much clearer after the
previous clean up.

nd_opts_{search,last,done} are now clearly "private" to n6_options() and
can be cleaned up from struct nd_opts next.

OK claudio

22 months agoClarify nd6_option() return semantics
kn [Fri, 6 Jan 2023 14:29:47 +0000 (14:29 +0000)]
Clarify nd6_option() return semantics

nd_opts_last is set only once in nd6_options() during struct init and
guaranteed non-NULL as it is set to the function's argument *opt which
is passed in as (struct_ptr + 1) in both callers.

nd6_option(), the internal helper, returns a pointer to the next option
or NULL, which means either "no option, ok" or "invalid option, fail".

Failure is signaled through nd_opts_last being NULL after nd6_option()
returned, which only happens if nd6_option() zeroed the whole *ndopts.

Move the two cases under mnemonic labels and zap the now obviously
redundant bzero() call in nd6_options().

OK claudio

22 months agoSimplify nd6_options() initialise logic
kn [Fri, 6 Jan 2023 14:24:36 +0000 (14:24 +0000)]
Simplify nd6_options() initialise logic

nd_opts_{search,last,done} are exlusively used in the internal option
handling machinery;  the only two nd6_options() callers only use
nd_opts_{src,tgt}_lladdr.

nd6_options() always zeroes and initialises the caller's struct nd_opts.
If icmp6len is zero, i.e. if there are no ICMP6 header options left,
everything inside *ndopts is zero, except nd_opts_done=1 which is not
used by the callers.

Set the internal nd_opts_{search,last,done} members only when needed.

OK claudio

22 months agoMerge common code into new nd6_dad_destroy()
kn [Fri, 6 Jan 2023 14:17:15 +0000 (14:17 +0000)]
Merge common code into new nd6_dad_destroy()

The current code wrt. stopping DAD for and removing a particular IP from
the list is flawed.

Introduce a single nd6_dad_destroy() to the cleanup, so that there's
only one place to fix.

This is just a mechanical deduplication without significant behaviour
change;  in case a duplicated address was found, RTM_CHGADDRATTR now goes
out before cleanup, which should be no problem.

The nd6_dad_create() pendant could be done as well, but the end of
nd6_dad_start() is currently the only place where a new IP/DAD entry is
set up, so little gain besides function name symmetry.

OK claudio

22 months agosync with rpki-client 'more dastardly white spaces' commit
tb [Fri, 6 Jan 2023 13:26:57 +0000 (13:26 +0000)]
sync with rpki-client 'more dastardly white spaces' commit

22 months agomore dastardly white spaces
deraadt [Fri, 6 Jan 2023 13:22:00 +0000 (13:22 +0000)]
more dastardly white spaces

22 months agoZap trailing tabs
tb [Fri, 6 Jan 2023 13:19:43 +0000 (13:19 +0000)]
Zap trailing tabs

22 months agoWhen OpenSSL is not available, skip parts of percent test that require it.
dtucker [Fri, 6 Jan 2023 12:33:33 +0000 (12:33 +0000)]
When OpenSSL is not available, skip parts of percent test that require it.
Based on github pr#368 from ren mingshuai.

22 months agoSave debug logs from ssh for debugging purposes.
dtucker [Fri, 6 Jan 2023 08:50:33 +0000 (08:50 +0000)]
Save debug logs from ssh for debugging purposes.

22 months agotweak previous; ok djm
jmc [Fri, 6 Jan 2023 08:44:11 +0000 (08:44 +0000)]
tweak previous; ok djm

22 months agoregression test for ChannelTimeout
djm [Fri, 6 Jan 2023 08:07:39 +0000 (08:07 +0000)]
regression test for ChannelTimeout

22 months agofix typo in verbose logging
djm [Fri, 6 Jan 2023 07:18:18 +0000 (07:18 +0000)]
fix typo in verbose logging

22 months agoIf a pane is killed, cancel reading from the file. GitHub issue 3422.
nicm [Fri, 6 Jan 2023 07:09:27 +0000 (07:09 +0000)]
If a pane is killed, cancel reading from the file. GitHub issue 3422.

22 months agounit tests for misc.c:ptimeout_* API
djm [Fri, 6 Jan 2023 02:59:50 +0000 (02:59 +0000)]
unit tests for misc.c:ptimeout_* API

22 months agoImplement channel inactivity timeouts
djm [Fri, 6 Jan 2023 02:47:18 +0000 (02:47 +0000)]
Implement channel inactivity timeouts

This adds a sshd_config ChannelTimeouts directive that allows channels that
have not seen traffic in a configurable interval to be automatically closed.
Different timeouts may be applied to session, X11, agent and TCP forwarding
channels.

Note: this only affects channels over an opened SSH connection and not
the connection itself. Most clients close the connection when their channels
go away, with a notable exception being ssh(1) in multiplexing mode.

ok markus dtucker

22 months agoAdd channel_set_xtype()
djm [Fri, 6 Jan 2023 02:42:34 +0000 (02:42 +0000)]
Add channel_set_xtype()

This sets an "extended" channel type after channel creation (e.g.
"session:subsystem:sftp") that will be used for setting channel inactivity
timeouts.

ok markus dtucker

22 months agotweak channel ctype names
djm [Fri, 6 Jan 2023 02:41:49 +0000 (02:41 +0000)]
tweak channel ctype names

These are now used by sshd_config:ChannelTimeouts to specify timeouts by
channel type, so force them all to use a similar format without whitespace.

ok dtucker markus

22 months agoAdd channel_force_close()
djm [Fri, 6 Jan 2023 02:39:59 +0000 (02:39 +0000)]
Add channel_force_close()

This will forcibly close an open channel by simulating read/write errors,
draining the IO buffers and calling the detach function.

Previously the detach function was only ever called during channel garbage
collection, but there was no way to signal the user of a channel (e.g.
session.c) that its channel was being closed deliberately (vs. by the
usual state-machine logic). So this adds an extra "force" argument to the
channel cleanup callback to indicate this condition.

ok markus dtucker

22 months agoreplace manual poll/ppoll timeout math with ptimeout API
djm [Fri, 6 Jan 2023 02:38:23 +0000 (02:38 +0000)]
replace manual poll/ppoll timeout math with ptimeout API

feedback markus / ok markus dtucker

22 months agoadd ptimeout API for keeping track of poll/ppoll timeouts;
djm [Fri, 6 Jan 2023 02:37:04 +0000 (02:37 +0000)]
add ptimeout API for keeping track of poll/ppoll timeouts;
ok dtucker markus

22 months agomore consistently name pf_state * variables "st".
dlg [Thu, 5 Jan 2023 23:44:35 +0000 (23:44 +0000)]
more consistently name pf_state * variables "st".

pf_state ** are generally called "stp" now too.

discussed with and ok sashan@

22 months agodo not blow up if NOMAN is set
deraadt [Thu, 5 Jan 2023 22:17:43 +0000 (22:17 +0000)]
do not blow up if NOMAN is set

22 months agoafter a few trap.c were fixed to fault with the right access, the
deraadt [Thu, 5 Jan 2023 21:39:57 +0000 (21:39 +0000)]
after a few trap.c were fixed to fault with the right access, the
signal trampoline can now be PROT_EXEC (without PROT_READ) everywhere
ok kettenis

22 months agoThe access type for a prefetch abort should not include PROT_READ,
kettenis [Thu, 5 Jan 2023 20:35:44 +0000 (20:35 +0000)]
The access type for a prefetch abort should not include PROT_READ,
otherwise faults on executable pages mapped only as PROT_EXEC will
not work.

ok deraadt@

22 months agoAdd a dummy --no-execute-only option for compatibility with ld.lld.
kettenis [Thu, 5 Jan 2023 18:55:04 +0000 (18:55 +0000)]
Add a dummy --no-execute-only option for compatibility with ld.lld.
This will allow ports people to sprinkle -Wl,--no-execute-only across the
ports tree when necessary without having to distinguish between ld.bfd and
ld.lld arcitectures.

ok deraadt@, sthen@

22 months agopfctl fails to add addresses to undefined/inactive table
sashan [Thu, 5 Jan 2023 10:06:58 +0000 (10:06 +0000)]
pfctl fails to add addresses to undefined/inactive table

pfr_add_tables() function must set PFR_TFLAG_ACTIVE flag
to table which is attached to rule. This will then allow
pfr_add_addrs() to populate the table with addresses.

without this pair of pfctl(8) commands fails as follows:
    # echo 'pass from <foo> to any' |pfctl -f -
    # pfctl -t foo -T add 192.168.1.0/24
    pfctl: Table does not exist

OK mbuhl@

22 months agosuppress "Connection closed" message when in quiet mode
djm [Thu, 5 Jan 2023 05:49:13 +0000 (05:49 +0000)]
suppress "Connection closed" message when in quiet mode

22 months agoRewrite BN_rshift()
jsing [Thu, 5 Jan 2023 04:51:13 +0000 (04:51 +0000)]
Rewrite BN_rshift()

This improves readability and eliminates special handling for various
cases, making the code cleaner and closer to constant time.

Basic benchmarking shows a performance gain on modern 64 bit architectures,
while there is a decrease on legacy 32 bit architectures (i386),
particularly for the zero bit shift case (which is now handled in the
same code path).

ok tb@

22 months agoAdd additional shift benchmarks that are useful on BN_BITS2 == 32 platforms
jsing [Thu, 5 Jan 2023 04:44:20 +0000 (04:44 +0000)]
Add additional shift benchmarks that are useful on BN_BITS2 == 32 platforms

22 months agoMake free_chunks() return 'const struct chunk *' since we don't
krw [Thu, 5 Jan 2023 00:19:53 +0000 (00:19 +0000)]
Make free_chunks() return 'const struct chunk *' since we don't
modify chunks outside of free_chunks(). Adjust local variables taking
the return value as needed.

No intentional functional change.

22 months agoDelete remnants of removed "diff -l" option.
millert [Thu, 5 Jan 2023 00:00:44 +0000 (00:00 +0000)]
Delete remnants of removed "diff -l" option.
From Nathan Houghton

22 months agoCopy bytes from the_banana[] rather than banana()
tb [Wed, 4 Jan 2023 22:48:57 +0000 (22:48 +0000)]
Copy bytes from the_banana[] rather than banana()

Fixes test failure due to segfault seen on arm64 with xonly snap.

ok djm

22 months agoThe access type for an instruction storage interrupt should not
kettenis [Wed, 4 Jan 2023 22:13:43 +0000 (22:13 +0000)]
The access type for an instruction storage interrupt should not
include PROT_READ, otherwise faults on executable pages mapped only as
PORT_EXEC will not work.

ok deraadt@

22 months agoUse 'const struct disklabel *' parameters where the disklabel is
krw [Wed, 4 Jan 2023 21:08:08 +0000 (21:08 +0000)]
Use 'const struct disklabel *' parameters where the disklabel is
not altered. And 'const struct partition *' for pointers into
newly const disklabels.

No intentional functional change.

22 months agominor text shuffle, for clarity; ok millert
jmc [Wed, 4 Jan 2023 19:12:34 +0000 (19:12 +0000)]
minor text shuffle, for clarity; ok millert

22 months agoEliminate two unnecessary 'i' loop variables by incrementing
krw [Wed, 4 Jan 2023 18:41:25 +0000 (18:41 +0000)]
Eliminate two unnecessary 'i' loop variables by incrementing
the pointer instead.

No intentional functional change.

22 months agoPrint RRDP serial + ID if nothing changed
job [Wed, 4 Jan 2023 16:51:34 +0000 (16:51 +0000)]
Print RRDP serial + ID if nothing changed

OK tb@

22 months agoImplement strscpy() and implement strscpy_pad() on top of that. Fixes the
kettenis [Wed, 4 Jan 2023 15:48:00 +0000 (15:48 +0000)]
Implement strscpy() and implement strscpy_pad() on top of that.  Fixes the
return value in case of truncation.

ok jsg@

22 months agoReplace p_fstype to/from FS_UNUSED dances around invocations of
krw [Wed, 4 Jan 2023 15:18:46 +0000 (15:18 +0000)]
Replace p_fstype to/from FS_UNUSED dances around invocations of
free_chunks() with a parameter that names the partition to treat
as FS_UNUSED when building the list of free space chunks. With -1
indicating that no partition should be ignored.

Simplifies code and enables further simplifications and a raft
of const'ifications.

No intentional functional change. Regress still happy.
SUN_CYLCHECK, SUN_AAT0 and D_VENDOR still happy.

22 months agoEduardo Horvath agreed to rescind clause 3 and 4 in
jsg [Wed, 4 Jan 2023 14:58:04 +0000 (14:58 +0000)]
Eduardo Horvath agreed to rescind clause 3 and 4 in
NetBSD fgen.1 rev 1.9 cpu_in_cksum.S rev 1.2

https://mail-index.netbsd.org/source-changes/2009/10/19/msg002130.html

22 months agoChristos Zoulas removed his name from advertising clauses and copyrights
jsg [Wed, 4 Jan 2023 14:42:46 +0000 (14:42 +0000)]
Christos Zoulas removed his name from advertising clauses and copyrights
of some files in NetBSD.  Make the same changes here.

https://mail-index.netbsd.org/source-changes/2017/06/03/msg084953.html
https://mail-index.netbsd.org/source-changes/2017/06/03/msg084955.html
https://mail-index.netbsd.org/source-changes/2019/12/02/msg111431.html
https://mail-index.netbsd.org/source-changes/2019/12/02/msg111432.html

22 months agoAdjust open policy integration test to the change of config in bgpd.
claudio [Wed, 4 Jan 2023 14:34:50 +0000 (14:34 +0000)]
Adjust open policy integration test to the change of config in bgpd.

22 months agoAdd a per eBGP session role to the config.
claudio [Wed, 4 Jan 2023 14:33:30 +0000 (14:33 +0000)]
Add a per eBGP session role to the config.

This somewhat replaces the RFC 9234 open policy role. This is done because
ASPA requires the same role to be present to properly validate paths.
For iBGP sessions the role is forced to ROLE_NONE. If no role is set on
an ebgp session then 'announce policy' is forced to 'no'.
Also make sure the the role capability is only added if the role is set.
OK tb@

22 months agoThe redirectchain test actually works again. The test servr fixed the
claudio [Wed, 4 Jan 2023 14:27:00 +0000 (14:27 +0000)]
The redirectchain test actually works again. The test servr fixed the
redirect location to be https.

22 months agoWhen building this regress test I copied a bad UUID from some other
claudio [Wed, 4 Jan 2023 14:26:08 +0000 (14:26 +0000)]
When building this regress test I copied a bad UUID from some other
RRDP file and so a few files have bad unique ids, fix them up to be valid.

22 months agoValidate the session_id to be a real UUID.
claudio [Wed, 4 Jan 2023 14:22:43 +0000 (14:22 +0000)]
Validate the session_id to be a real UUID.

RFC 8182 requires the session_id to be a version 4 random UUID (using
variant 1). Now checking the version and variant is currently disabled
because there is at least one CA with a session_id that is all random
and therefor the version check triggers there.
Joint work with job@. OK job@, tb@

22 months agoremove unused version of ncr53cxxx.c
jsg [Wed, 4 Jan 2023 13:08:23 +0000 (13:08 +0000)]
remove unused version of ncr53cxxx.c
ok deraadt@ miod@

22 months agoexperiments for --execute-only on arm64 and riscv64 are going well,
deraadt [Wed, 4 Jan 2023 13:01:46 +0000 (13:01 +0000)]
experiments for --execute-only on arm64 and riscv64 are going well,
which will prompt making that the default.  That means efiboot, which
build in a different way, must disable the link option.
ok kettenis

22 months agoChristos Zoulas agreed to rescind clause 3 and 4 in
jsg [Wed, 4 Jan 2023 13:00:11 +0000 (13:00 +0000)]
Christos Zoulas agreed to rescind clause 3 and 4 in
NetBSD fsck.8 rev 1.35 fsutil.h rev 1.14 pathnames.h rev 1.2
netgroup_mkdb.8 rev 1.9 netgroup_mkdb.c rev 1.18 str.c rev 1.7
str.h rev 1.4 rdate.8 rev 1.11 rdate.c rev 1.19 extern.h rev 1.14
getnetgrent.c rev 1.41 netgroup.h rev 1.10
fparseln.3 rev 1.4 fparseln.c rev 1.10

our stringlist.c/stringlist.h are derived from getnetgrent.c
rfc868time.c from rdate.c
newfs/pathnames.h from fsck/pathnames.h

https://mail-index.netbsd.org/source-changes/2009/10/21/msg002182.html
Not all files are covered as some had copyright assigned to TNF in 1998.

22 months agougly white space
deraadt [Wed, 4 Jan 2023 12:53:38 +0000 (12:53 +0000)]
ugly white space

22 months agoLeo Weppelman agreed to rescind clause 3 and 4 in
jsg [Wed, 4 Jan 2023 10:59:34 +0000 (10:59 +0000)]
Leo Weppelman agreed to rescind clause 3 and 4 in
NetBSD kvm_dump.3 rev 1.15 kcore.h rev 1.3

https://mail-index.netbsd.org/source-changes/2009/10/20/msg002169.html

22 months agomove the pf_state_tree_id type from pfvar.h to pfvar_priv.h.
dlg [Wed, 4 Jan 2023 10:31:55 +0000 (10:31 +0000)]
move the pf_state_tree_id type from pfvar.h to pfvar_priv.h.

the pf_state_tree_id type is private to the kernel.

while here, move it from being an RB tree to an RBT tree. this saves
about 12k in pf.o on amd64.

ok sashan@

22 months agoMichael L. Hitch agreed to rescind clause 3 and 4 in
jsg [Wed, 4 Jan 2023 10:05:44 +0000 (10:05 +0000)]
Michael L. Hitch agreed to rescind clause 3 and 4 in
NetBSD ncr53cxxx.c rev 1.16 osiop.ss rev 1.2

https://mail-index.netbsd.org/source-changes/2009/10/21/msg002215.html

22 months agoGordon W. Ross and Bill Studenmund agreed to rescind clause 3 and 4 in
jsg [Wed, 4 Jan 2023 09:34:26 +0000 (09:34 +0000)]
Gordon W. Ross and Bill Studenmund agreed to rescind clause 3 and 4 in
NetBSD zs.c rev 1.49

https://mail-index.netbsd.org/source-changes/2009/10/27/msg002419.html

22 months agoGordon W. Ross agreed to rescind clause 3 and 4 in
jsg [Wed, 4 Jan 2023 09:24:14 +0000 (09:24 +0000)]
Gordon W. Ross agreed to rescind clause 3 and 4 in
NetBSD dev_net.c rev 1.15 bootparam.c rev 1.19

https://mail-index.netbsd.org/source-changes/2009/10/21/msg002212.html

22 months ago- use Fl instead of Ar for print0; from josiah frentsos
jmc [Wed, 4 Jan 2023 07:33:00 +0000 (07:33 +0000)]
- use Fl instead of Ar for print0; from josiah frentsos
- while here, describe it as a primary rather than an option

22 months agoIchiro FUKUHARA agreed to rescind clause 3 and 4 in
jsg [Wed, 4 Jan 2023 07:06:08 +0000 (07:06 +0000)]
Ichiro FUKUHARA agreed to rescind clause 3 and 4 in
NetBSD if_ath_cardbus.c rev 1.36

https://mail-index.netbsd.org/source-changes/2009/10/21/msg002189.html

22 months agoChuck Cranor rescinded the advertising clause of uvm_mmap.c in
jsg [Wed, 4 Jan 2023 06:33:33 +0000 (06:33 +0000)]
Chuck Cranor rescinded the advertising clause of uvm_mmap.c in
NetBSD rev 1.134 and confirmed with Mike Hibler that the University of
Utah would do the same.

https://mail-index.netbsd.org/source-changes/2011/02/02/msg018021.html

ok deraadt@

22 months agofix a comment, no functional change.
dlg [Wed, 4 Jan 2023 03:47:10 +0000 (03:47 +0000)]
fix a comment, no functional change.

22 months agoTypos in vmd error message. No functional change.
dv [Wed, 4 Jan 2023 02:19:19 +0000 (02:19 +0000)]
Typos in vmd error message. No functional change.

22 months agomove the pf_state_tree rb tree type from pfvar.h to pfvar_priv.h
dlg [Wed, 4 Jan 2023 02:00:49 +0000 (02:00 +0000)]
move the pf_state_tree rb tree type from pfvar.h to pfvar_priv.h

the pf_state_tree types are kernel private, and are not used by
userland. make build agrees with me.

while here, move the pf_state_tree from the RB macros to the RBT
functions. this shaves about 13k off pf.o on amd64.

ok sashan@

22 months agoShuffle code a bit to eliminate need for inner loop
krw [Wed, 4 Jan 2023 01:22:48 +0000 (01:22 +0000)]
Shuffle code a bit to eliminate need for inner loop
variable 'j' in editor_allocspace().

No intentional functional change. Regress still happy.

22 months agoon sh/landisk, ELF binaries are currently unpadded between text and rodata.
deraadt [Wed, 4 Jan 2023 00:18:50 +0000 (00:18 +0000)]
on sh/landisk, ELF binaries are currently unpadded between text and rodata.
Comment says because no nx support.  Well, we'll soon be able to something
like nx, and need the rodata to not be mingled into the same pages as
executable, so enforce padding.
with kettenis, ok miod

22 months agoNo need to call editor_countfree() when displaying all the free
krw [Tue, 3 Jan 2023 23:27:03 +0000 (23:27 +0000)]
No need to call editor_countfree() when displaying all the free
chunks in the 'r' editor command. Just add up chunks as they are
displayed. Eliminates pointless second invocation of
free_chunks().

Increment the chunk pointer rather than using iteration
variable + indexing.

No intentional functional change.

22 months agodo not mention dhclient as a dhcp route message sender
deraadt [Tue, 3 Jan 2023 20:58:05 +0000 (20:58 +0000)]
do not mention dhclient as a dhcp route message sender

22 months agoPrint the RRDP Session ID and Serial in verbose mode
job [Tue, 3 Jan 2023 18:19:12 +0000 (18:19 +0000)]
Print the RRDP Session ID and Serial in verbose mode

OK tb@ claudio@

22 months agoPoll battery sensors less frequently.
anton [Tue, 3 Jan 2023 15:52:02 +0000 (15:52 +0000)]
Poll battery sensors less frequently.

22 months agoThe software id in the request must be copied as is to the response by the
anton [Tue, 3 Jan 2023 15:51:40 +0000 (15:51 +0000)]
The software id in the request must be copied as is to the response by the
hardware. Leverage the fact that the same id can be anything within [1, 15] by
using a different id per request in a round robin fashion. Makes it easier to
correlate requests and responses while making sense of the debug output.

22 months agoGroup more request and response constants.
anton [Tue, 3 Jan 2023 15:50:52 +0000 (15:50 +0000)]
Group more request and response constants.

22 months agoQuery the client terminal for foreground and background colours and if
nicm [Tue, 3 Jan 2023 11:43:24 +0000 (11:43 +0000)]
Query the client terminal for foreground and background colours and if
OSC 10 or 11 is received but no colour has been set inside tmux, return
the colour from the first attached client (probably most people will
have all light or or all dark terminals).

22 months agoDisable display backlight on Apple Silicon laptops when suspending.
tobhe [Tue, 3 Jan 2023 10:59:00 +0000 (10:59 +0000)]
Disable display backlight on Apple Silicon laptops when suspending.

ok kettenis@ patrick@

22 months agoAdd tfind_user(), for getting a proc* given a user-space TID and
guenther [Mon, 2 Jan 2023 23:09:48 +0000 (23:09 +0000)]
Add tfind_user(), for getting a proc* given a user-space TID and
the process* that it should be part of.  Use that in clock_get{time,res}(),
thrkill(), and ptrace().

ok jca@ miod@ mpi@ mvs@

22 months agoThe access type for an instruction storage/segment interrupt should not
kettenis [Mon, 2 Jan 2023 23:03:18 +0000 (23:03 +0000)]
The access type for an instruction storage/segment interrupt should not
include PROT_READ, otherwise faults on executable pages mapped only as
PORT_EXEC will not work.

"obviously correct" deraadt@

22 months agoLet the EFI bootloader make a copy of the EFI System Resource Table (ESRT)
kettenis [Mon, 2 Jan 2023 22:41:17 +0000 (22:41 +0000)]
Let the EFI bootloader make a copy of the EFI System Resource Table (ESRT)
and pass it to the kernel.

ok jca@, patrick@

22 months agoFix the check for the BWX extension introduced in 1.92.
miod [Mon, 2 Jan 2023 19:09:17 +0000 (19:09 +0000)]
Fix the check for the BWX extension introduced in 1.92.
This repairs operation on 21164 processors (not 21164A!) which lack BWX.

Reported by Mark Butt on alpha@

22 months agoregression test for PermitRemoteOpen
djm [Mon, 2 Jan 2023 07:03:57 +0000 (07:03 +0000)]
regression test for PermitRemoteOpen

22 months agofix bug in PermitRemoteOpen which caused it to ignore its first
djm [Mon, 2 Jan 2023 07:03:30 +0000 (07:03 +0000)]
fix bug in PermitRemoteOpen which caused it to ignore its first
argument unless it was one of the special keywords "any" or "none".

Reported by Georges Chaudy in bz3515; ok dtucker@

22 months agouse the pf generated toeplitz hash when setting the mbuf flow id.
dlg [Mon, 2 Jan 2023 05:32:40 +0000 (05:32 +0000)]
use the pf generated toeplitz hash when setting the mbuf flow id.

before this it would use the pf state id, which is just an increasing
number. the toeplitz hash is generated/used by the rest of the
stack, so this encourages consistent flow of traffic through the
system.

22 months agoClear status bits when we receive a host system error. Otherwise the
kettenis [Sun, 1 Jan 2023 21:45:40 +0000 (21:45 +0000)]
Clear status bits when we receive a host system error.  Otherwise the
interrupt keeps firing even if the hos controller has been declared dead.

ok mpi@

22 months agoWith the introduction of the PMAP_PREFER_{ALIGN,OFFSET} macros a long time ago,
miod [Sun, 1 Jan 2023 19:49:17 +0000 (19:49 +0000)]
With the introduction of the PMAP_PREFER_{ALIGN,OFFSET} macros a long time ago,
there are actually no more uses of the PMAP_PREFER() macro left in the kernel.
Remove that macro but keep PMAP_PREFER as a simple #define for it to let uvm
knows the PMAP_PREFER_{ALIGN,OFFSET} macros are available.

ok mpi@

22 months agoAdd explicit LL suffixes to large constants to appease some compilers on
miod [Sun, 1 Jan 2023 17:43:04 +0000 (17:43 +0000)]
Add explicit LL suffixes to large constants to appease some compilers on
32-bit systems.

22 months agoAdd explicit LL suffixes to large constants to appease some compilers on
miod [Sun, 1 Jan 2023 17:00:08 +0000 (17:00 +0000)]
Add explicit LL suffixes to large constants to appease some compilers on
32-bit systems.

22 months agoAdd explicit LL suffixes to large constants to appease some compilers on
miod [Sun, 1 Jan 2023 16:58:23 +0000 (16:58 +0000)]
Add explicit LL suffixes to large constants to appease some compilers on
32-bit platforms; NFCI

ok tb@

22 months agoRound up fractional percentages, as per POSIX.
millert [Sun, 1 Jan 2023 16:31:20 +0000 (16:31 +0000)]
Round up fractional percentages, as per POSIX.
From nabijaczleweli, OK deraadt@

22 months agoEnable power management for PCI devices.
kettenis [Sun, 1 Jan 2023 11:29:09 +0000 (11:29 +0000)]
Enable power management for PCI devices.

ok mlarkin@, deraadt@

22 months agocopyright++;
jsg [Sun, 1 Jan 2023 07:00:51 +0000 (07:00 +0000)]
copyright++;

22 months agoupdate drm to linux 6.1.2
jsg [Sun, 1 Jan 2023 01:34:33 +0000 (01:34 +0000)]
update drm to linux 6.1.2

new hardware support includes

AMD
Raphael, Ryzen 7000 desktop, gfx1036/GC 10.3.6
Mendocino, Ryzen & Athlon 7020 Series mobile APU, gfx1037/GC 10.3.7
Navi 31, gfx1100 dGPU, GC 11.0.0, Radeon RX 7900 XT/XTX
gfx1101 dGPU
gfx1102 dGPU
gfx1103 APU

Thanks to the OpenBSD Foundation for sponsoring this work.

22 months agotimeout.9: document new interfaces, miscellaneous rewrites and cleanup
cheloha [Sun, 1 Jan 2023 01:19:18 +0000 (01:19 +0000)]
timeout.9: document new interfaces, miscellaneous rewrites and cleanup

- Document timeout_abs_ts(9).
- Add the kclock arguments to timeout_set_flags(9) and
  TIMEOUT_INITIALIZER_FLAGS(9).
- Document KCLOCK_NONE and KCLOCK_UPTIME.
- Mention the static initialization macros alongside timeout_set(9) etc.;
  keep relevant information adjacent.
- Mention timeout_add_sec(9) etc. alongside timeout_add(9); keep
  relevant information adjacent.

... plus many other cleanups, rewrites, and rearrangements.

Prompted by mvs@ and many others.  With input from jmc@, mvs@, kn@,
schwarze@, and probably a few others I have forgotten.

v1: https://marc.info/?l=openbsd-tech&m=162449274513068&w=2
v2: https://marc.info/?l=openbsd-tech&m=165851505627764&w=2
v3: https://marc.info/?l=openbsd-tech&m=167250339811308&w=2

ok jmc@ mvs@ schwarze@

22 months agoDocument that -P disables BLOCKSIZE support.
millert [Sat, 31 Dec 2022 21:47:53 +0000 (21:47 +0000)]
Document that -P disables BLOCKSIZE support.
With input from and OK jmc@

22 months agotimeout: rename "timeout_at_ts" to "timeout_abs_ts"
cheloha [Sat, 31 Dec 2022 16:06:24 +0000 (16:06 +0000)]
timeout: rename "timeout_at_ts" to "timeout_abs_ts"

I think "abs" ("absolute timeout") is a better mnemonic than
"at" ("at the given time").

The interface is undocumented and there are only two callers, so
renaming it is not a big deal.

probably ok kn@

22 months agosync
jsg [Sat, 31 Dec 2022 09:31:39 +0000 (09:31 +0000)]
sync

22 months agoLook for the first 2 mem regions, ignore the rest
gkoehler [Sat, 31 Dec 2022 05:06:18 +0000 (05:06 +0000)]
Look for the first 2 mem regions, ignore the rest

Some macppc nvidia graphics cards have a 3rd mem region, but nv(4)
wants to mmap the 1st and 2nd regions.

ok miod@

22 months agocrank libfido2 major version, it depends on libcbor and it just
djm [Sat, 31 Dec 2022 03:36:12 +0000 (03:36 +0000)]
crank libfido2 major version, it depends on libcbor and it just
cranked. ok tb@

22 months agoupdate to upstream libcbor v.0.10.0 and crank major. Also includes
djm [Sat, 31 Dec 2022 03:35:21 +0000 (03:35 +0000)]
update to upstream libcbor v.0.10.0 and crank major. Also includes
e308674c5d to fix PR259. This release includes a number of memory
leak fixes.

Disable the upsteam custom allocators feature.

Feedback/ok tb@

Thanks also to Pedro Martelletto for pointing out the new release as
well as PR259.

22 months agoLet luna88k's bootloader pass RB_GOODRANDOM to the kernel.
aoyama [Sat, 31 Dec 2022 02:42:01 +0000 (02:42 +0000)]
Let luna88k's bootloader pass RB_GOODRANDOM to the kernel.

Current bootloader can pass boothowto information to the kernel.  It
also has the capability to load random seed data from /etc/random.seed
already.  So set RB_GOODRANDOM at the bootloader when loadrandom() has
been finished successfully.

Now the kernel says "random: good seed from bootblocks".

Tested by LUNA-88K2 and nono emulator, "Absolutely!" ok miod@

22 months agosysctl_clockintr: clear "sum" with memset before copyout(9)
cheloha [Sat, 31 Dec 2022 00:48:53 +0000 (00:48 +0000)]
sysctl_clockintr: clear "sum" with memset before copyout(9)

22 months agoAdd machdep.lidaction to machdep names list.
patrick [Sat, 31 Dec 2022 00:30:21 +0000 (00:30 +0000)]
Add machdep.lidaction to machdep names list.

ok mpi@