openbsd
2 years agodrm/amdgpu: do not enable asic reset for raven2
jsg [Wed, 2 Mar 2022 12:58:57 +0000 (12:58 +0000)]
drm/amdgpu: do not enable asic reset for raven2

From Chen Gong
8840d963e56685f8750c710b1d567a283712c554 in linux 5.15.y/5.15.26
1e2be869c8a7247a7253ef4f461f85e2f5931b95 in mainline linux

2 years agodrm/amdgpu: disable MMHUB PG for Picasso
jsg [Wed, 2 Mar 2022 12:57:11 +0000 (12:57 +0000)]
drm/amdgpu: disable MMHUB PG for Picasso

From Evan Quan
70b2413ac30c88a049f179d674d29d1f6af1d29a in linux 5.15.y/5.15.26
f626dd0ff05043e5a7154770cc7cda66acee33a3 in mainline linux

2 years agodrm/amd: Check if ASPM is enabled from PCIe subsystem
jsg [Wed, 2 Mar 2022 12:53:45 +0000 (12:53 +0000)]
drm/amd: Check if ASPM is enabled from PCIe subsystem

From Mario Limonciello
ea44fcee7e3d87725423c904306a99cd42bd24b7 in linux 5.15.y/5.15.26
7294863a6f01248d72b61d38478978d638641bee in mainline linux

2 years agoThe return value of in6_pcbnotify() is never used. Make it a void
bluhm [Wed, 2 Mar 2022 12:53:15 +0000 (12:53 +0000)]
The return value of in6_pcbnotify() is never used.  Make it a void
function.
OK gnezdo@ mvs@ florian@ sashan@

2 years agodrm/amd/pm: fix some OEM SKU specific stability issues
jsg [Wed, 2 Mar 2022 12:50:08 +0000 (12:50 +0000)]
drm/amd/pm: fix some OEM SKU specific stability issues

From Evan Quan
c00e4c01f470f0446556bd99af899bfa26dd9fae in linux 5.15.y/5.15.26
e3f3824874da78db5775a5cb9c0970cd1c6978bc in mainline linux

2 years agodrm/amd/display: Protect update_bw_bounding_box FPU code.
jsg [Wed, 2 Mar 2022 12:48:18 +0000 (12:48 +0000)]
drm/amd/display: Protect update_bw_bounding_box FPU code.

From Bas Nieuwenhuizen
211b67fb5a49c9f6e6a63d9b94ea96bf2e39341a in linux 5.15.y/5.15.26
1432108d00e42ffa383240bcac8d58f89ae19104 in mainline linux

2 years agorevert rev 1.6, local change to use DC_FP_START()/DC_FP_END() in
jsg [Wed, 2 Mar 2022 12:45:40 +0000 (12:45 +0000)]
revert rev 1.6, local change to use DC_FP_START()/DC_FP_END() in
update_bw_bounding_box()

a linux 5.15.26 patch adds this to the callers

2 years agoRecognize the cores on Apple's M1 Pro/Max SoCs.
kettenis [Wed, 2 Mar 2022 12:45:35 +0000 (12:45 +0000)]
Recognize the cores on Apple's M1 Pro/Max SoCs.

ok jsg@

2 years agoAdd RTC support to aplsmc(4). The SMC firmware distributed with macOS 12.x
kettenis [Wed, 2 Mar 2022 12:44:48 +0000 (12:44 +0000)]
Add RTC support to aplsmc(4).  The SMC firmware distributed with macOS 12.x
has a method to read the counter that forms the base of the RTC.  This seems
to be the preferred way to access the RTC going forward.  The RTC offset is
still stored in the SPMI PMU, but we can use the nvmem interface to read
and write that.  This makes the RTC work on systems with the M1 Pro/Max SoC.

Sprinkle some #ifdef SMALL_KERNEL around and enable the driver on RAMDISK
kernels.

ok patrick@

2 years agoAdd nvmem support and make this available on all Apple SPMI PMUs. Restrict
kettenis [Wed, 2 Mar 2022 12:35:14 +0000 (12:35 +0000)]
Add nvmem support and make this available on all Apple SPMI PMUs.  Restrict
the RTC interface to the "sera" PMU found on Apple M1 systems.

ok patrick@

2 years agoAdd an interface to write to an nvmem cell.
kettenis [Wed, 2 Mar 2022 12:00:46 +0000 (12:00 +0000)]
Add an interface to write to an nvmem cell.

ok patrick@

2 years agoAdd openvpn ports (udp/1194 & tcp/1194) to /etc/services
landry [Wed, 2 Mar 2022 11:43:52 +0000 (11:43 +0000)]
Add openvpn ports (udp/1194 & tcp/1194) to /etc/services

Registered at IANA since 2004, also present on Linux & FreeBSD

ok sthen@ stsp@ jca@

2 years agoRewrite ASN1_OBJECT content to ascii/text conversion.
jsing [Wed, 2 Mar 2022 11:28:00 +0000 (11:28 +0000)]
Rewrite ASN1_OBJECT content to ascii/text conversion.

Rewrite the ASN1_OBJECT content to ascii/text conversion code using CBB and
CBS. Currently there is a strange split with i2t_ASN1_OBJECT() calling
OBJ_obj2txt() which implements the conversion, while OBJ_txt2obj() calls
back into the misnamed a2d_ASN1_OBJECT() function. Move the conversion
code into asn1/a_object.c and have OBJ_txt2obj() call that instead.

ok inoguchi@ tb@

2 years agoNothing uses kv_flags.
florian [Wed, 2 Mar 2022 11:10:43 +0000 (11:10 +0000)]
Nothing uses kv_flags.

John (j AT bitminer.ca) pointed out that we didn't correctly
initialize struct kv and might use slower KV_FLAG_GLOBBING path in
kv_find depending on stack garbage. Instead of fixing the
initialization just delete kv_flags from struct kv.

OK claudio, tb

2 years agomake searches for makefile before Makefile;
jmc [Wed, 2 Mar 2022 09:39:41 +0000 (09:39 +0000)]
make searches for makefile before Makefile;
from raf czlonka

2 years agoDocument u-boot workaround required for unattended boot of edgerouter 6p.
stsp [Wed, 2 Mar 2022 09:35:24 +0000 (09:35 +0000)]
Document u-boot workaround required for unattended boot of edgerouter 6p.

ok afresh1@ kevlo@, who both ran into the same issue

2 years agoConvert a few last struct members from u_intXY_t to uintXY_t. Now all
claudio [Wed, 2 Mar 2022 09:27:34 +0000 (09:27 +0000)]
Convert a few last struct members from u_intXY_t to uintXY_t. Now all
structs use consistent integer types.
OK jsg@ mvs@

2 years agoRemove outdated comment about v4-mapped v6 addresses. They are not
bluhm [Tue, 1 Mar 2022 23:53:03 +0000 (23:53 +0000)]
Remove outdated comment about v4-mapped v6 addresses.  They are not
supported anymore.

2 years agovmd(8): gracefully handle hitting data limits when starting a vm
dv [Tue, 1 Mar 2022 21:46:19 +0000 (21:46 +0000)]
vmd(8): gracefully handle hitting data limits when starting a vm

With recent changes to login.conf(5) to restrict daemon datasize
to a finite value, users can now hit resource limits when attempting
to start a vm.

This change fixes the error path when hitting the limit. vmd(8)
will no longer abort and memory error messages are relayed to the
user.

While here, address potential under-reads/writes using atomicio
when relaying data between the child vm process and vmd's vmm
process.

Original diff from tedu@. OK mlarkin@.

2 years agoApple M1 Pro/Max SoCs come with a new version of the interrupt controller.
kettenis [Tue, 1 Mar 2022 21:29:10 +0000 (21:29 +0000)]
Apple M1 Pro/Max SoCs come with a new version of the interrupt controller.
This version appears to be more scalable (supports more cores, more
interrupts) but is still fairly similar to the previous generation so
it makes sense for them to share a driver.  One major difference is that
it seems that the new interrupt controller no longer has the ability to
have external interrupts target specific CPU cores.  Instead it delivers
them to whichever core is willing to handle the interrupt.  Since this
currently isn't compatible with what OpenBSD wants we disable the
delivery of external interrupts to the secondary cores by setting some
bits in an implementation-defined system register.

This makes OpenBSD run on M1 Pro/Max machines.

ok jsg@

2 years agoSupport mtime/atime/ctime extended headers in !SMALL builds.
sthen [Tue, 1 Mar 2022 21:19:11 +0000 (21:19 +0000)]
Support mtime/atime/ctime extended headers in !SMALL builds.
These are becoming quite common in distributed software (including
tars produced by Python and Go) and often standard timestamps are
not set, resulting in extracted files dated as the epoch.

Lots of help from tb@, ok tb@ millert@

2 years agoThe display controller sits behind a DART. We must make sure we keep
kettenis [Tue, 1 Mar 2022 20:45:27 +0000 (20:45 +0000)]
The display controller sits behind a DART.  We must make sure we keep
that DART enabled with the mappings provided by the firmware.  Otherwise
the display controller can no longer access the framebuffer and the
display goes black.

ok jsg@

2 years agoUpdate to libunbound 1.15.0; heavy lifting by sthen in unbound(8).
florian [Tue, 1 Mar 2022 18:34:21 +0000 (18:34 +0000)]
Update to libunbound 1.15.0; heavy lifting by sthen in unbound(8).

Upstream renamed parse_edns_from_pkt to parse_edns_from_query_pkt and
added two arguments (config_file and comm_point) that we don't use,
adjust callers in frontend accordingly.

2 years agoUpstream renamed parse_extract_edns to
florian [Tue, 1 Mar 2022 18:30:23 +0000 (18:30 +0000)]
Upstream renamed parse_extract_edns to
parse_extract_edns_from_response_msg and parse_edns_from_pkt to
parse_edns_from_query_pkt in libunbound 1.14.0.
Both funktions work equally well for us but it would look weird to use
the "from_response_msg" function on the query so switch to
parse_edns_from_pkt in preparation for the libunbound update.

testing & OK sthen

2 years agoDon't convert codes for special keys (Tab, Enter, Escape).
nicm [Tue, 1 Mar 2022 15:20:22 +0000 (15:20 +0000)]
Don't convert codes for special keys (Tab, Enter, Escape).

2 years agoTweak SCSI section to clarify that SCSIDEBUG enables probing/attachment
krw [Tue, 1 Mar 2022 14:39:30 +0000 (14:39 +0000)]
Tweak SCSI section to clarify that SCSIDEBUG enables probing/attachment
debug info, with any additional debug info being requested via SCSIDEBUG_*
options.

Pointed out by Scott Nicholas.

2 years ago__i2c_transfer() should not lock the bus
jsg [Tue, 1 Mar 2022 11:50:37 +0000 (11:50 +0000)]
__i2c_transfer() should not lock the bus
i2c_transfer() locks the bus

2 years agoup_dump_prefix() should not clear the p->flags before possibly calling
claudio [Tue, 1 Mar 2022 09:53:42 +0000 (09:53 +0000)]
up_dump_prefix() should not clear the p->flags before possibly calling
prefix_adjout_destroy(). Doing so will restult in a double pt_unref()
call because prefix_adjout_destroy() no longer notices that the prefix
was an actuall withdraw and wrongly calls prefix_unlink().
For updates the PREFIX_FLAG_UPDATE flag needs to be cleared after
removing the prefix from the update RB tree.
Adjust the EoR codepath in a similar way. EoR have a NULL pt_entry and
so prefix_adjout_destroy() is unable to do the RB_REMOVE.
This fixes the regress errors reported by anton@
OK tb@

2 years agoRewrite some comments to hopefully be easier to understand.
claudio [Tue, 1 Mar 2022 09:46:22 +0000 (09:46 +0000)]
Rewrite some comments to hopefully be easier to understand.
No code change.

2 years agoRemove another empty line
claudio [Tue, 1 Mar 2022 09:39:36 +0000 (09:39 +0000)]
Remove another empty line

2 years agoReshuffle functions for better order and remove an excessive empty line.
claudio [Tue, 1 Mar 2022 09:38:06 +0000 (09:38 +0000)]
Reshuffle functions for better order and remove an excessive empty line.

2 years agochange some defines to static inline functions
jsg [Tue, 1 Mar 2022 08:07:38 +0000 (08:07 +0000)]
change some defines to static inline functions

2 years agoci(1) populates the author keyword using getlogin(2), therefore favor
anton [Tue, 1 Mar 2022 06:13:17 +0000 (06:13 +0000)]
ci(1) populates the author keyword using getlogin(2), therefore favor
logname(1) when normalizing the output.

2 years agochange some defines to static inline functions
jsg [Tue, 1 Mar 2022 04:08:03 +0000 (04:08 +0000)]
change some defines to static inline functions

2 years agopack pollfd array before server_accept_loop() ppoll() call,
djm [Tue, 1 Mar 2022 01:59:19 +0000 (01:59 +0000)]
pack pollfd array before server_accept_loop() ppoll() call,
and terminate sshd if ppoll() returns errno==EINVAL

avoids spin in ppoll when MaxStartups > RLIMIT_NOFILE, reported by
Daniel Micay

feedback/ok deraadt

2 years agoadd rtable capability to login.conf.
tedu [Tue, 1 Mar 2022 01:22:11 +0000 (01:22 +0000)]
add rtable capability to login.conf.
from Matthew Martin

2 years agoRemove unused ivbits argument from chacha_keysetup to match other
dtucker [Mon, 28 Feb 2022 21:56:29 +0000 (21:56 +0000)]
Remove unused ivbits argument from chacha_keysetup to match other
instances in the tree.  ok deraadt@

2 years agoprovide a login class for vmd, the "daemon" class now has a datasize
sthen [Mon, 28 Feb 2022 21:23:38 +0000 (21:23 +0000)]
provide a login class for vmd, the "daemon" class now has a datasize
limit which is a bit low for VMs. only done on amd64 as vmd is only
provided there.  ok deraadt@

2 years ago#include <disktab.h> not needed for successful compile.
krw [Mon, 28 Feb 2022 16:17:37 +0000 (16:17 +0000)]
#include <disktab.h> not needed for successful compile.

Last #include of disktab.h in the tree.

2 years agoThe IOMMUs integrated on Apple's M1 Pro/MaxJ SoC use a different page table
kettenis [Mon, 28 Feb 2022 15:51:02 +0000 (15:51 +0000)]
The IOMMUs integrated on Apple's M1 Pro/MaxJ SoC use a different page table
layout where the physical (CPU) address needs to be shifted to allow for the
larger physical address space implemented in these SoCs.  Make apldart(4)
handle this new page table layout based on the compatible property.

ok jsg@

2 years agoRemove unneeded symbol name lookup.
visa [Mon, 28 Feb 2022 15:49:57 +0000 (15:49 +0000)]
Remove unneeded symbol name lookup.

2 years agoShuffle some SCSIDEBUG code to simplify code, tersify the
krw [Mon, 28 Feb 2022 14:48:11 +0000 (14:48 +0000)]
Shuffle some SCSIDEBUG code to simplify code, tersify the
emitted verbiage, and show INQUIRY header & vendor info early so
humans can more easily determine what scsi_probe_link() will
do.

No functional change outside SCSIDEBUG.

2 years agoInstead of handrolling what is mostly prefix_link/prefix_unlink in
claudio [Mon, 28 Feb 2022 14:32:01 +0000 (14:32 +0000)]
Instead of handrolling what is mostly prefix_link/prefix_unlink in
prefix_move() and prefix_adjout_update() use the functions by
refactoring them a bit so they work in these cases.
Move the pftable update and prefix evaluate call to prefix_add
make nexthop_link() a noop for prefixes of the Adj-RIB-Out and
in prefix_unlink() don't clear p->pt after the pt_unref() call.
In prefix_adjout_* functions make sure to call prefix_unlink() when
a prefix is linked and gets removed or replaced.
OK tb@

2 years agoIn the Adj-RIB-Out specific dump functions assert that PREFIX_FLAG_ADJOUT
claudio [Mon, 28 Feb 2022 12:52:38 +0000 (12:52 +0000)]
In the Adj-RIB-Out specific dump functions assert that PREFIX_FLAG_ADJOUT
is set. Similar checks are done for updates and withdraws.
OK tb@

2 years agoExit on SIGHUP before attach also, GitHub issue 3084.
nicm [Mon, 28 Feb 2022 09:34:57 +0000 (09:34 +0000)]
Exit on SIGHUP before attach also, GitHub issue 3084.

2 years agoMap control keys back to an ASCII uppercase letter when passing them on
nicm [Mon, 28 Feb 2022 09:24:22 +0000 (09:24 +0000)]
Map control keys back to an ASCII uppercase letter when passing them on
as extended keys.

2 years agoremove some unused defines
jsg [Mon, 28 Feb 2022 09:01:29 +0000 (09:01 +0000)]
remove some unused defines

2 years agoadd pcie_aspm_enabled() for the next linux 5.15.y release
jsg [Mon, 28 Feb 2022 02:40:16 +0000 (02:40 +0000)]
add pcie_aspm_enabled() for the next linux 5.15.y release

2 years agoadd the mbuf tags that prevent output loops.
dlg [Mon, 28 Feb 2022 00:12:11 +0000 (00:12 +0000)]
add the mbuf tags that prevent output loops.

mostly copied from vxlan where the tag is checked in output and
set in encap. etherip appears to be one of the first drivers i
reworked, so it's a bit crufty. the ipv4 vs ipv6 handling could
be done better.

2 years agoEnable unwind tables on all clang architectures.
mortimer [Sun, 27 Feb 2022 23:45:55 +0000 (23:45 +0000)]
Enable unwind tables on all clang architectures.

Fixes backtraces on i386 (tested by bluhm) and armv7.

OK bluhm@

2 years agoThe At macro doesn't accept v8, v9 or v10. Noticed by jmc@
millert [Sun, 27 Feb 2022 22:14:56 +0000 (22:14 +0000)]
The At macro doesn't accept v8, v9 or v10.  Noticed by jmc@

2 years agoAdd gzip-static option to httpd. This allows to deliver precompressed
bluhm [Sun, 27 Feb 2022 20:30:30 +0000 (20:30 +0000)]
Add gzip-static option to httpd.  This allows to deliver precompressed
files with content-encoding gzip.
from prx at si3t dot ch; OK tracey@

2 years agoAdjust definition of DART_L1_TABLE to what Linux uses.
kettenis [Sun, 27 Feb 2022 17:36:52 +0000 (17:36 +0000)]
Adjust definition of DART_L1_TABLE to what Linux uses.

ok jsg@

2 years agoUse ',' in custom separator example and change shell prompt to non-root.
millert [Sun, 27 Feb 2022 15:02:08 +0000 (15:02 +0000)]
Use ',' in custom separator example and change shell prompt to non-root.

2 years agoEnable libedit line editing
jca [Sun, 27 Feb 2022 13:22:32 +0000 (13:22 +0000)]
Enable libedit line editing

Sync our hardcoded config with what cmake detects in ports/devel/llvm.
Brought up privately by cheloha@, then by Andrei on tech@, input and ok
gnezdo@

2 years agoFix whitespace and uninitialized variable in dt(4).
bluhm [Sun, 27 Feb 2022 10:14:01 +0000 (10:14 +0000)]
Fix whitespace and uninitialized variable in dt(4).
OK mpi@

2 years agotweak the opening paragraph for readability, and tidy up one of the examples;
jmc [Sun, 27 Feb 2022 07:13:31 +0000 (07:13 +0000)]
tweak the opening paragraph for readability, and tidy up one of the examples;
ok millert

2 years agoSC_DEBUG() requires an initialized scsi_link. Shuffle
krw [Sun, 27 Feb 2022 02:27:55 +0000 (02:27 +0000)]
SC_DEBUG() requires an initialized scsi_link. Shuffle
code to make it so.

Pointed out by clang when prodded with SCSIDEBUG.

2 years agoinclude rejected signature algorithm in error message and not the
naddy [Sun, 27 Feb 2022 01:33:59 +0000 (01:33 +0000)]
include rejected signature algorithm in error message and not the
(useless) key type; ok djm@

2 years agoAllow pledged pf ioctl test to pass also when pf is disabled.
bluhm [Sat, 26 Feb 2022 20:14:06 +0000 (20:14 +0000)]
Allow pledged pf ioctl test to pass also when pf is disabled.

2 years agosetuserenv: a missing /etc/login.conf file is not an error.
millert [Sat, 26 Feb 2022 17:42:12 +0000 (17:42 +0000)]
setuserenv: a missing /etc/login.conf file is not an error.
The code to handle LOGIN_SETENV (and thus LOGIN_SETALL) returned
an error if /etc/login.conf could not be opened.  We should simply
return success from setuserenv() in this case like we do for the
other flags.  From Matthew Martin, OK deraadt@

2 years agoAdd regress coverage for ASN1_OBJECT public interfaces.
jsing [Sat, 26 Feb 2022 16:45:31 +0000 (16:45 +0000)]
Add regress coverage for ASN1_OBJECT public interfaces.

2 years agoCurrently malloc caches a number of free'ed regions up to 128k
otto [Sat, 26 Feb 2022 16:14:42 +0000 (16:14 +0000)]
Currently malloc caches a number of free'ed regions up to 128k
in size. This cache is indexed by size (in # of pages), so it is
very quick to check.  Some programs allocate and deallocate larger
allocations in a frantic way.  Accomodate those programs by also
keeping a cache of regions between 128k and 2M, in a cache of variable
sized regions.

Tested by many in snaps; ok deraadt@

2 years agoregen
kettenis [Sat, 26 Feb 2022 13:38:46 +0000 (13:38 +0000)]
regen

2 years agoAdd Broadcom BCM4387.
kettenis [Sat, 26 Feb 2022 13:38:11 +0000 (13:38 +0000)]
Add Broadcom BCM4387.

2 years agoRemove excessive ;
claudio [Sat, 26 Feb 2022 11:48:50 +0000 (11:48 +0000)]
Remove excessive ;

2 years agoadd the mbuf tag that prevents loops in vxlan_encap, not vxlan_output.
dlg [Sat, 26 Feb 2022 04:46:34 +0000 (04:46 +0000)]
add the mbuf tag that prevents loops in vxlan_encap, not vxlan_output.

vxlan_output calls ether_output, which will do arp for ipv4 packets.
if arp hasn't resolved an address for a peer yet, it will queue the
packet and transmit it again after resolution completes. the way
it outputs is to call the interface output routine again, which is
vxlan_output.

if we tag the packet in vxlan_output before arp, and then arp calls
vxlan_output again, it looks like a loop and drops it. moving the
tagging to when we add all the encap headers in vxlan_encap avoids
this issue.

2 years agohave another go at fixing assert "sc->sc_dev == NUM" failed.
dlg [Sat, 26 Feb 2022 02:15:45 +0000 (02:15 +0000)]
have another go at fixing assert "sc->sc_dev == NUM" failed.

claudio figured it out. his clue was that multiple concurrent calls
to tunopen (or tapopen) will share a vnode. because tunopen can sleep,
multiple programs can be inside tunopen for the same tun interface at
the same time, all with references against the same vnode.

at the same time as this another thread/program can call VOP_REVOKE
via tun_clone_destroy (eg, ifconfig tun1 destroy does this).
VOP_REVOKE marks a vnode as bad, which in turn means that subsequent
open()s of a tun interface will get a brand new vnode.

so multiple threads holding references to a vnode can be sleeping in
tun_dev_open on the interface cloner lock. one thread wins and takes
ownership of the tun interface, then another thread can destroy that tun
interface, calls VOP_REVOKE which calls tun_dev_close to tear down the
vnodes association with the tun interface and mark the vnode as bad.
the thread that called tun_clone_destroy then creates another instance
of the interface by calling tun_clone_create immediately.

one of the original threads with the old vnode reference wakes up and
takes ownership of the new tun_softc. however, because the vnode is bad,
all the vnode ops have been replaced with the deadfs ops. the close() op
on the old vnode is now a nop from the point of view of tun interfaces.
the old vnode is no longer associated with tun and tap and will now
never call tun_dev_close (via tunclose or tapclose), which in turn means
sc_dev won't get cleared.

another thread can now call tun_clone_destroy against the new instance
of tun_softc. this instance has sc_dev set, so it tries to revoke it,
but there's no vnode associated with it because the old vnode reference
is dead.

because this second call to VOP_REVOKE couldnt find a vnode, it
can't call tunclose against it, so sc_dev is still set and this
KASSERT fires.

claudio and i came up with the following, which is to have tun_dev_open
check the state of the vnode associated with the current open call
after all the sleeping and potential tun_clone_destroy and
tun_clone_create calls. if the vnode has been made bad/dead after
all the sleeping, it returns with ENXIO.

Reported-by: syzbot+5e13201866c43afbfbf6@syzkaller.appspotmail.com
ok claudio@ visa@

2 years agoReported-by: syzbot+1b5b209ce506db4d411d@syzkaller.appspotmail.com
guenther [Fri, 25 Feb 2022 23:51:03 +0000 (23:51 +0000)]
Reported-by: syzbot+1b5b209ce506db4d411d@syzkaller.appspotmail.com
Revert the pr_usrreqs move: syzkaller found a NULL pointer deref
and I won't be available to monitor for followup issues for a bit

2 years agoTo fix crashes seen by Hrvoje with pfsync, IPsec and parallel
bluhm [Fri, 25 Feb 2022 22:18:44 +0000 (22:18 +0000)]
To fix crashes seen by Hrvoje with pfsync, IPsec and parallel
forwarding, protect tdb flags and lists in pfsync with a mutex.
help and OK sashan@

2 years agouse setall for setusercontext, to make it simpler to inherit new changes.
tedu [Fri, 25 Feb 2022 18:29:32 +0000 (18:29 +0000)]
use setall for setusercontext, to make it simpler to inherit new changes.
note that the addition of setenv doesn't do much, since doas will rewrite
the environment anyway (but added variables are accessible in keepenv,
should anybody be using that feature).

2 years agoadd setrtable to pledge("id"). from Matthew Martin
tedu [Fri, 25 Feb 2022 18:24:01 +0000 (18:24 +0000)]
add setrtable to pledge("id"). from Matthew Martin
ok deraadt

2 years agoA few additional changes related to the now 32 bit accounting flag.
rob [Fri, 25 Feb 2022 18:05:49 +0000 (18:05 +0000)]
A few additional changes related to the now 32 bit accounting flag.
Pointers from and discussions with millert and deraadt.
Ok millert@, deraadt@, bluhm@

2 years agoWhitespace.
rob [Fri, 25 Feb 2022 17:31:40 +0000 (17:31 +0000)]
Whitespace.

2 years agofix indent and other minor KNF nits
tb [Fri, 25 Feb 2022 16:00:39 +0000 (16:00 +0000)]
fix indent and other minor KNF nits

2 years agoEnable cduart(4) on arm64.
visa [Fri, 25 Feb 2022 13:51:02 +0000 (13:51 +0000)]
Enable cduart(4) on arm64.

OK kettenis@

2 years agoThe pointer returned by pt_fill() can be directly used in most cases.
claudio [Fri, 25 Feb 2022 12:56:12 +0000 (12:56 +0000)]
The pointer returned by pt_fill() can be directly used in most cases.
There is no need for an extra local variable.
Noticed by and OK tb@

2 years agoFor add-path send the Adj-RIB-Out needs to handle multiple paths per
claudio [Fri, 25 Feb 2022 11:36:54 +0000 (11:36 +0000)]
For add-path send the Adj-RIB-Out needs to handle multiple paths per
prefix. For this extend the RB trees of the Adj-RIB-Out to also consider
the path_id. Add functions to lookup a prefix without path_id so that
bgpctl works. Rename functions so that all Adj-RIB-Out specific functions
start with prefix_adjout_

For now the path_id_tx in the Adj-RIB-Out is forced to 0 since
up_generate_updates() is not ready to handle more than one path per prefix.

OK tb@

2 years agoRemove the char * casts from arguments to do_lstat, do_readdir and
dtucker [Fri, 25 Feb 2022 09:46:24 +0000 (09:46 +0000)]
Remove the char * casts from arguments to do_lstat, do_readdir and
do_stat paths since the underlying functions now take a const char *.
Patch from vapier at gentoo.org.

2 years agoMove pr_attach and pr_detach to a new structure pr_usrreqs that can
guenther [Fri, 25 Feb 2022 08:36:01 +0000 (08:36 +0000)]
Move pr_attach and pr_detach to a new structure pr_usrreqs that can
then be shared among protosw structures, following the same basic
direction as NetBSD and FreeBSD for this.

Split PRU_CONTROL out of pr_usrreq into pru_control, giving it the
proper prototype to eliminate the previously necessary casts.

ok mvs@ bluhm@

2 years agoin6_ioctl() is declared in in6_var.h as it's used in if_umb.c, so
guenther [Fri, 25 Feb 2022 08:33:26 +0000 (08:33 +0000)]
in6_ioctl() is declared in in6_var.h as it's used in if_umb.c, so
don't declare it again in the .c file

ok dlg@ mvs@ bluhm@

2 years agosave an unneccessary alloc/free, based on patch from
djm [Fri, 25 Feb 2022 02:09:27 +0000 (02:09 +0000)]
save an unneccessary alloc/free, based on patch from
Martin Vahlensieck; ok dtucker@

2 years agoGet rid of SHA1 for comparing CRL's - use SHA512 just like we do for certs.
beck [Thu, 24 Feb 2022 22:05:06 +0000 (22:05 +0000)]
Get rid of SHA1 for comparing CRL's - use SHA512 just like we do for certs.
ok tb@

2 years agoRemove accidentally committed debug code.
tb [Thu, 24 Feb 2022 21:07:03 +0000 (21:07 +0000)]
Remove accidentally committed debug code.

2 years agostruct prefix holds path_id_tx for the path id sent to peers when
claudio [Thu, 24 Feb 2022 14:54:03 +0000 (14:54 +0000)]
struct prefix holds path_id_tx for the path id sent to peers when
add-path send is enabled. Start using this instead of 0. Currently
nothing sets path_id_tx to any value != 0 so this is the same but
a bit more correct.
OK tb@

2 years agoRename parselabel() to parsefstab() and makelabel() to
krw [Thu, 24 Feb 2022 14:44:14 +0000 (14:44 +0000)]
Rename parselabel() to parsefstab() and makelabel() to
parsedisktab().

Move non-fstab and non-disktab bits to the single points of
invocation for both.

No intentional functional change.

2 years agoFix kernel stack alignment on riscv64
visa [Thu, 24 Feb 2022 14:19:10 +0000 (14:19 +0000)]
Fix kernel stack alignment on riscv64

Pad trapframe and switchframe structs so that their size is a multiple
of 16 bytes. This makes context switching and exception handlers keep
kernel stack properly aligned.

OK kettenis@

2 years agoReserve room for holding curcpu pointer in u-area
visa [Thu, 24 Feb 2022 14:16:53 +0000 (14:16 +0000)]
Reserve room for holding curcpu pointer in u-area

The tp register contains the curcpu pointer in kernel mode. The pointer
has to be saved and replaced with the TCB pointer in the register when
entering user mode. These steps are reversed when returning to kernel.
The curcpu pointer is saved in the u-area. Explicitly reserve room for
the pointer to make the saving more visible.

OK kettenis@

2 years agodrm/amd/display: fix yellow carp wm clamping
jsg [Thu, 24 Feb 2022 13:14:18 +0000 (13:14 +0000)]
drm/amd/display: fix yellow carp wm clamping

From Dmytro Laktyushkin
1ddab2ee882900df817dd89882618356b7ecbab3 in linux 5.15.y/5.15.25
60fdf98a774eee244a4e00c34a9e7729b61d0f44 in mainline linux

2 years agodrm/amd/display: Cap pflip irqs per max otg number
jsg [Thu, 24 Feb 2022 13:11:45 +0000 (13:11 +0000)]
drm/amd/display: Cap pflip irqs per max otg number

From Roman Li
929b2eddebc2cb5ecf220337658f8d8538d4ab9d in linux 5.15.y/5.15.25
328e34a5ad227399391891d454043e5d73e598d2 in mainline linux

2 years agodisplay/amd: decrease message verbosity about watermarks table failure
jsg [Thu, 24 Feb 2022 13:09:00 +0000 (13:09 +0000)]
display/amd: decrease message verbosity about watermarks table failure

From Mario Limonciello
3fd92f5be6c48cce92c90ecf71719582645da888 in linux 5.15.y/5.15.25
03ad3093c7c069d6ab4403730009ebafeea9ee37 in mainline linux

2 years agodrm/i915/ttm: tweak priority hint selection
jsg [Thu, 24 Feb 2022 13:06:39 +0000 (13:06 +0000)]
drm/i915/ttm: tweak priority hint selection

From Matthew Auld
79bdf56cc55d103f2a276318fd973a296a110b95 in linux 5.15.y/5.15.25
0bdc0a0699929c814a8aecd55d2accb8c11beae2 in mainline linux

2 years agodrm/i915: Fix mbus join config lookup
jsg [Thu, 24 Feb 2022 13:04:07 +0000 (13:04 +0000)]
drm/i915: Fix mbus join config lookup

From Ville Syrjala
fe802b3fe7631c35abbf280702c5d29b867a1150 in linux 5.15.y/5.15.25
8d9d2a723d64b650f2e6423024ccb4a33f0cdc40 in mainline linux

2 years agodrm/i915: Fix dbuf slice config lookup
jsg [Thu, 24 Feb 2022 13:02:08 +0000 (13:02 +0000)]
drm/i915: Fix dbuf slice config lookup

From Ville Syrjala
34f5556ddf2b5fc25696832fa4a1a7013fc80a05 in linux 5.15.y/5.15.25
698bef8ff5d2edea5d1c9d6e5adf1bfed1e8a106 in mainline linux

2 years agodrm/i915/opregion: check port number bounds for SWSCI display power state
jsg [Thu, 24 Feb 2022 12:59:55 +0000 (12:59 +0000)]
drm/i915/opregion: check port number bounds for SWSCI display power state

From Jani Nikula
d006f2fe7d627b3ff3f637cf2fa90d30e05887c9 in linux 5.15.y/5.15.25
ea958422291de248b9e2eaaeea36004e84b64043 in mainline linux

2 years agodrm/amdgpu: skipping SDMA hw_init and hw_fini for S0ix.
jsg [Thu, 24 Feb 2022 12:57:15 +0000 (12:57 +0000)]
drm/amdgpu: skipping SDMA hw_init and hw_fini for S0ix.

From Rajib Mahapatra
960c8a55016bece26140eef7a8077e9dc3709098 in linux 5.15.y/5.15.25
f8f4e2a518347063179def4e64580b2d28233d03 in mainline linux

2 years agodrm/amd/pm: correct the sequence of sending gpu reset msg
jsg [Thu, 24 Feb 2022 12:54:50 +0000 (12:54 +0000)]
drm/amd/pm: correct the sequence of sending gpu reset msg

From Yifan Zhang
3851046599c1907c956b126bac18c4b84bf6a16b in linux 5.15.y/5.15.25
9c4f59ea3f865693150edf0c91d1cc6b451360dd in mainline linux

2 years agodrm/atomic: Don't pollute crtc_state->mode_blob with error pointers
jsg [Thu, 24 Feb 2022 12:52:42 +0000 (12:52 +0000)]
drm/atomic: Don't pollute crtc_state->mode_blob with error pointers

From Ville Syrjala
a1596e0277ed430dc2f44b61ebc2c1ecdab718e4 in linux 5.15.y/5.15.25
439cf34c8e0a8a33d8c15a31be1b7423426bc765 in mainline linux

2 years agodrm/radeon: Fix backlight control on iMac 12,1
jsg [Thu, 24 Feb 2022 12:49:47 +0000 (12:49 +0000)]
drm/radeon: Fix backlight control on iMac 12,1

From Nicholas Bishop
68f3a4252e9718843bd172f9761267aa288647d0 in linux 5.15.y/5.15.25
364438fd629f7611a84c8e6d7de91659300f1502 in mainline linux

2 years agodrm/amdgpu: fix logic inversion in check
jsg [Thu, 24 Feb 2022 12:47:29 +0000 (12:47 +0000)]
drm/amdgpu: fix logic inversion in check

From Christian Koenig
0fec53c5dca8a218e20b1d3964db23391a689dff in linux 5.15.y/5.15.25
e8ae38720e1a685fd98cfa5ae118c9d07b45ca79 in mainline linux