patrick [Fri, 5 Jul 2024 22:53:57 +0000 (22:53 +0000)]
When trying to enable multiple MSI vectors, check the flag first whether
or not it's supported. This allows qwx(4) to properly handle missing
support for that and switch back to a single MSI vector.
ok kettenis@
patrick [Fri, 5 Jul 2024 22:52:25 +0000 (22:52 +0000)]
On Qualcomm machines, make use of the in-built MSI functionality in case
we don't have an msi-map pointing us to the GIC-MSI. This enables MSIs
on the Snapdragon X Elite or the Lenovo x13s in case it's running an
unpatched DTB.
ok kettenis@
patrick [Fri, 5 Jul 2024 21:24:13 +0000 (21:24 +0000)]
Only call qwx_dp_service_srng() if ext irq is enabled. It would be nicer
if we could simply call the ext irq handler which already does that, but
that is requiring the irq groups to be set up to point to our softc, so
let's just check it again. This allows single-msi vectors to behave.
ok stsp@
jsg [Fri, 5 Jul 2024 05:42:08 +0000 (05:42 +0000)]
remove unused vn_isdisk(), added for softdep
ok kn@
djm [Thu, 4 Jul 2024 22:53:59 +0000 (22:53 +0000)]
fix grammar: "a pattern lists" -> "one or more pattern lists"
kettenis [Thu, 4 Jul 2024 21:54:38 +0000 (21:54 +0000)]
Implement support for version 7 controllers. These have two separate
SPMI busses but we only support the first one for now. Adding support for
the second bus will need some more surgery.
ok patrick@
kettenis [Thu, 4 Jul 2024 20:11:46 +0000 (20:11 +0000)]
Only override the time offset in rtcinfo[0] when setting the time; don't
touch rtcinfo[1] and rtcinfo[2]. This doesn't actually fix anything
but rtcinfo[1] on a new machine already contains the value we write into
it and we don't really know what the other bits are used for.
ok patrick@
patrick [Thu, 4 Jul 2024 18:35:36 +0000 (18:35 +0000)]
Support the ACPI GPIO pins necessary to support the keyboard, touchpad
and touchscreen on the Qualcomm Snapdragon X Elite (X1E80100) laptops
Asus Vivobook S15 and Lenovo Yoga Slim 7x.
ok kettenis@
sobrado [Thu, 4 Jul 2024 13:14:26 +0000 (13:14 +0000)]
the port to listen on is an optional argument; the default port number
is 1812 for authentication and 1813 for accounting.
ok jmc@, yasuoka@
sobrado [Thu, 4 Jul 2024 13:09:25 +0000 (13:09 +0000)]
only "decorate-by" is currently supported by the grammar specification.
ok jmc@, yasuoka@
bluhm [Thu, 4 Jul 2024 12:50:08 +0000 (12:50 +0000)]
Implement IPv6 forwarding IPsec only.
IPsec gateways set the forwarding sysctl to 2. While this worked
for IPv4 since a long time, adapt this feature for IPv6 now. Set
sysctl net.inet6.ip6.forwarding=2 to forward only packets that have
been processed by IPsec.
Set IPV6_FORWARDING_IPSEC in ip6_input() and pass the flag down to
the call stack. This provides consistent view on global variable
ip6_forwarding. In ip6_output() or ip6_forward() drop packets that
do not match the policy.
OK denis@
jmc [Thu, 4 Jul 2024 05:27:20 +0000 (05:27 +0000)]
make the CONFIGURATIONS list -compact to fox the item spacing;
jmc [Thu, 4 Jul 2024 05:25:14 +0000 (05:25 +0000)]
fix SEE ALSO;
jmc [Thu, 4 Jul 2024 05:23:24 +0000 (05:23 +0000)]
- tidy "authenticate" and "account" commands using Xo/Xc
- decoratd -> decorated (fix proposed by sobrado too)
- fix grammar in "account" description
ok yasuoka
bket [Thu, 4 Jul 2024 05:06:58 +0000 (05:06 +0000)]
Revert "Make daily(8) reporting services that are running"
Stop daily(8) mails with false information on rogue services.
OK florian@, solene@
jsg [Thu, 4 Jul 2024 04:52:10 +0000 (04:52 +0000)]
remove uvm_addr_align() and uvm_addr_align_back()
not to be confused with uvm_addr_align_forward() and
uvm_addr_align_backward() which remain in uvm_addr.c
ok mlarkin@
patrick [Wed, 3 Jul 2024 22:37:00 +0000 (22:37 +0000)]
Right now MSIs don't work on the Qualcomm Snapdragon X Elite (X1E80100).
This is the first and only platform so far where we have seen larger devbits
than we can initially support. For now, stop registering the MSI controller
if we encounter this. With this, PCIe devices use SPIs and work correctly.
At some point we can hopefully rip this thing out again.
ok kettenis@
kettenis [Wed, 3 Jul 2024 22:29:37 +0000 (22:29 +0000)]
Add device tree mapping for Asus Vivobook S15.
ok deraadt@
kettenis [Wed, 3 Jul 2024 21:04:04 +0000 (21:04 +0000)]
Map BUS_SPACE_MAP_PREFETCHABLE to Normal-NC. There are other memory
attributes that could map to what we call write-combining on x86, but
this is what Linux uses. This speeds up framebuffer access significantly.
ok patrick@
kettenis [Wed, 3 Jul 2024 20:12:30 +0000 (20:12 +0000)]
Switch to a table for mapping smbios vendor/product to device tree file
name. Check for a partial match of the vendor like we already do for the
product. This will help adding more machines to the list.
ok patrick@, deraadt@
job [Wed, 3 Jul 2024 08:39:43 +0000 (08:39 +0000)]
Fix typo
Reported by Marco D'Itri
yasuoka [Wed, 3 Jul 2024 06:09:13 +0000 (06:09 +0000)]
Add missing "module standard". It is needed before use it.
jsg [Wed, 3 Jul 2024 01:36:50 +0000 (01:36 +0000)]
remove __mp_release_all_but_one(), unused since sched_bsd.c rev 1.92
ok claudio@
kettenis [Tue, 2 Jul 2024 22:28:29 +0000 (22:28 +0000)]
regen
kettenis [Tue, 2 Jul 2024 22:28:02 +0000 (22:28 +0000)]
Add Qualcomm X1E80100
kettenis [Tue, 2 Jul 2024 19:59:54 +0000 (19:59 +0000)]
Fix unintended comparison between signed and unsigned integer.
C type conversion rules are hard, let's go shopping.
ok patrick@
patrick [Tue, 2 Jul 2024 19:44:37 +0000 (19:44 +0000)]
Support the Qualcomm Snapdragon X Elite (X1E80100) PCIe controller. We do
not do anything fancy for the SC8280XP either, so treat it equally.
ok kettenis@
patrick [Tue, 2 Jul 2024 19:43:52 +0000 (19:43 +0000)]
From what we currently use, the Qualcomm Snapdragon X Elite (X1E80100)
GPIO controller is to be treated equally as the SC8280XP, apart from
the new one having a few more pins.
ok kettenis@
patrick [Tue, 2 Jul 2024 19:41:52 +0000 (19:41 +0000)]
Give the Qualcomm Snapdragon X Elite (X1E80100) the same treatment as its
predecessors and don't touch the SMMUv2.
ok kettenis@
bluhm [Tue, 2 Jul 2024 18:33:47 +0000 (18:33 +0000)]
Read IPsec forwarding information once.
Fix MP race between reading ip_forwarding in ip_input() and checking
ip_forwarding == 2 in ip_output(). In theory ip_forwarding could
be 2 during ip_input() and later 0 in ip_output(). Then a packet
would be forwarded that was never allowed. Currently exclusive
netlock in sysctl(2) prevents all races.
Introduce IP_FORWARDING_IPSEC and pass it with the flags parameter
that was introduced for IP_FORWARDING.
Instead of calling m_tag_find(), traversing the list, and comparing
with NULL, just check the PACKET_TAG_IPSEC_IN_DONE bit. Reading
ipsec_in_use in ip_output() is a performance hack that is not
necessary. New code only checks tree bits.
OK mvs@
florian [Tue, 2 Jul 2024 17:41:27 +0000 (17:41 +0000)]
Use correct idiom to get mac addresses from ethernet-like interfaces.
This unbreaks rad(8) on top of carp(4).
OK deraadt, bluhm
deraadt [Tue, 2 Jul 2024 16:18:45 +0000 (16:18 +0000)]
sync
deraadt [Tue, 2 Jul 2024 16:18:11 +0000 (16:18 +0000)]
minor cleanups, especially DPADD
kettenis [Tue, 2 Jul 2024 10:25:16 +0000 (10:25 +0000)]
The traditional LL/SC atomics perform poorly on modern arm64 systems with
many CPU cores. With the recent conversion of the sched lock to a mutex
some systems appear to hang if the sched lock is contended. ARMv8.1
introduced an LSE feature that provides atomic instructions such as CAS
that perform much better. Unfortunately these can't be used on older
ARMv8.0 systems. Use -moutline-atomics to make the compiler generate
function calls for atomic operations and provide an implementation for
the functions we use in the kernel that use LSE when available and fall
back on LL/SC.
Fixes regressions seen on Ampere Altra and Apple M2 Pro/Max/Ultra since
the conversion of the sched lock to a mutex.
tested by claudio@, phessler@, mpi@
ok patrick@
kettenis [Tue, 2 Jul 2024 08:27:04 +0000 (08:27 +0000)]
Do not attach acpitz(4) if the _STA method indicates that a thermal zone
isn't present. While it isn't clear whether _STA applies to thermal zones
according to the ACPI standard, this prevents issues on the Asus Vivobook S15.
ok miod@, patrick@, deraadt@
jmc [Tue, 2 Jul 2024 06:01:22 +0000 (06:01 +0000)]
spelling, grammar, macro fixes for previous;
gkoehler [Tue, 2 Jul 2024 05:50:02 +0000 (05:50 +0000)]
Support numpad on newer macppc Apple PowerBooks
This is for newer PowerBooks with ukbd(4), and doesn't affect older
models with akbd(4). The Fn key now makes a numpad,
7 8 9 0 - 7 8 9 / =
U I O P => 4 5 6 *
J K L ; 1 2 3 -
M . / 0 . +
Also, Fn+F6 is Num Lock. This acts like Num Lock on other USB
keyboards, and unlike Num Lock on akbd(4).
From jon (at) elytron (dot) openbsd (dot) amsterdam
jsg [Tue, 2 Jul 2024 04:42:43 +0000 (04:42 +0000)]
remove oga's copyright notice, none of those changes remain
jsg [Tue, 2 Jul 2024 04:29:01 +0000 (04:29 +0000)]
remove unused agp_flush_cache_range()
jsg [Tue, 2 Jul 2024 04:10:25 +0000 (04:10 +0000)]
remove unused agp_map functions
last use (in inteldrm) was removed in March
yasuoka [Tue, 2 Jul 2024 00:35:56 +0000 (00:35 +0000)]
Fix previous. The place of "accounting" was wrong.
yasuoka [Tue, 2 Jul 2024 00:33:51 +0000 (00:33 +0000)]
Add support for RADIUS accounting.
yasuoka [Tue, 2 Jul 2024 00:00:12 +0000 (00:00 +0000)]
Change the syntax for "module" and "authenticate". "module" can have
a {} block now. On the other hand, "authentication" can be without a
{} block. The previous syntax is still accepted. Also make
specifying the path of "module" be optional.
yasuoka [Mon, 1 Jul 2024 23:53:30 +0000 (23:53 +0000)]
Stop scheduling an I/O event by the timer when the imsg_buf has the data
larger than the imsg header. It prevented the receiver from receiving the
following parts of the message.
deraadt [Mon, 1 Jul 2024 18:52:22 +0000 (18:52 +0000)]
signal handler must use the save_errno dance, and massage a variable
of type 'volatile sig_atomic_t'
ok tb
deraadt [Mon, 1 Jul 2024 18:43:50 +0000 (18:43 +0000)]
missing save_errno dance inside non-terminal signal handler
jmc [Mon, 1 Jul 2024 14:56:19 +0000 (14:56 +0000)]
tidy up the text in previous; ok yasuoka
yasuoka [Mon, 1 Jul 2024 14:15:15 +0000 (14:15 +0000)]
Enclose IPv6 address in a square bracket if the address is used with
the port number.
ok florian tobhe
kettenis [Mon, 1 Jul 2024 14:13:43 +0000 (14:13 +0000)]
Don't crash if we can't read the temperature for a zone while polling it.
ok dv@
bluhm [Mon, 1 Jul 2024 12:06:45 +0000 (12:06 +0000)]
Explicit TLS handshake with syslog client.
Add a new TLS handshake callback for incoming connections. This
will allow to inspect the client certificate later. For now only
print a debug message and check it in regress.
with and OK henning@
yasuoka [Mon, 1 Jul 2024 07:09:07 +0000 (07:09 +0000)]
Modify IPCP to use {D,NB}NS servers from RADIUS. Also move the
radius related functions from ppp.c to npppd_radius.c.
yasuoka [Mon, 1 Jul 2024 05:20:01 +0000 (05:20 +0000)]
Exit with an error code when error or module die.
CVS ----------------------------------------------------------------------
yasuoka [Mon, 1 Jul 2024 05:18:16 +0000 (05:18 +0000)]
Set SO_REUSEADDR for the listening socket. This makes radiusd(8)
can bind both on an interface address and a wildcard address.
djm [Mon, 1 Jul 2024 04:31:59 +0000 (04:31 +0000)]
openssh-9.8
djm [Mon, 1 Jul 2024 04:31:17 +0000 (04:31 +0000)]
when sending ObscureKeystrokeTiming chaff packets, we can't
rely on channel_did_enqueue to tell that there is data to send.
This flag indicates that the channels code enqueued a packet
on _this_ ppoll() iteration, not that data was enqueued in _any_
ppoll() iteration in the timeslice. ok markus@
yasuoka [Mon, 1 Jul 2024 03:48:57 +0000 (03:48 +0000)]
Call daemon(3) before parse_config() since parse_config() of radiusd(8)
starts some sub processes and parent-child relationship with them must
be kept. But we want to show config error on stderr, so keep stdio
files open and close them after parse_config().
yasuoka [Mon, 1 Jul 2024 03:32:09 +0000 (03:32 +0000)]
Remove unused secret field from struct radiusd_authentication
yasuoka [Mon, 1 Jul 2024 03:31:29 +0000 (03:31 +0000)]
Don't receive decoration when not requested.
yasuoka [Mon, 1 Jul 2024 03:29:21 +0000 (03:29 +0000)]
Show config error when -n
yasuoka [Mon, 1 Jul 2024 03:27:31 +0000 (03:27 +0000)]
Add missing size check.
yasuoka [Mon, 1 Jul 2024 03:22:06 +0000 (03:22 +0000)]
"secret" without quote can be used for key or value since it is treated
specially now.
yasuoka [Mon, 1 Jul 2024 03:17:00 +0000 (03:17 +0000)]
Tweak a white space.
yasuoka [Mon, 1 Jul 2024 03:13:42 +0000 (03:13 +0000)]
Delete a garbage empty definition.
djm [Mon, 1 Jul 2024 03:10:19 +0000 (03:10 +0000)]
use "lcd" to change directory before "lls" rather then "cd", since
the directory we're trying to list is local. Spotted by Corinna
Vinschen
jsg [Mon, 1 Jul 2024 00:05:43 +0000 (00:05 +0000)]
Remove history of the tms struct. It is tied to the function,
and the manual incorrectly claimed it first appeared in 4BSD.
ok deraadt@
jsg [Sun, 30 Jun 2024 23:57:31 +0000 (23:57 +0000)]
correct history; first mention of /etc/rc in init manual pages was v4
ok deraadt@
jsg [Sun, 30 Jun 2024 23:44:49 +0000 (23:44 +0000)]
correct history; dmesg appeared (without a manual page) in v7
ok deraadt@
deraadt [Sun, 30 Jun 2024 18:17:07 +0000 (18:17 +0000)]
we don't need the NOBYFOUR space-savings option anymore, that codepath
was replaced a while ago.
ok tb
deraadt [Sun, 30 Jun 2024 17:30:52 +0000 (17:30 +0000)]
delete dhclient(8). ipv4 dhcp leases have been acquired by the
always-running-in-background dhcpleased(8) for a while, which is
activated per-interface with "ifconfig $if autoconf', or
"ifconfig $if inet autoconf", or with "inet autoconf" in /etc/hostname.$if
dhclient(8) has done execve(3) of ifconfig(8) to handle this for a while,
so everyone has moved to the dhcpleased(8) method
ok florian
florian [Sun, 30 Jun 2024 16:10:26 +0000 (16:10 +0000)]
Clearify "force" and "preference" interaction.
Problem reported by Kirill A. Korinsky
OK kn
jsing [Sun, 30 Jun 2024 14:13:08 +0000 (14:13 +0000)]
Remove lhash statistics.
These are not exactly useful and we previously stopped exposing them.
ok tb@
krw [Sun, 30 Jun 2024 12:03:17 +0000 (12:03 +0000)]
Use howmany() to calculate how many prpl entries are needed to describe a
hibernate i/o.
Use of howmany() suggested by jmatthew@, ok jmatthew@
kevlo [Sun, 30 Jun 2024 08:13:02 +0000 (08:13 +0000)]
Add support for the Realtek RTL8126 chip to the rge(4) driver.
The RTL8126 is a PCIe to 5Gb Ethernet controller.
kevlo [Sun, 30 Jun 2024 08:12:06 +0000 (08:12 +0000)]
regen
kevlo [Sun, 30 Jun 2024 08:11:36 +0000 (08:11 +0000)]
Add Realtek RTL8126.
tb [Sun, 30 Jun 2024 05:18:14 +0000 (05:18 +0000)]
sync with base
tb [Sun, 30 Jun 2024 05:16:17 +0000 (05:16 +0000)]
cast string literals with z_const char *
from upstream
2ba25b2ddab9aa939c321d087fcfca573a9cca55
tb [Sun, 30 Jun 2024 05:13:38 +0000 (05:13 +0000)]
Z_HUFFMAN -> Z_HUFFMAN_ONLY + linewrapping churn in a comment
from upstream
0f3b7b9595cc7d85c3b13282e71fcecef7f18f9c
jsg [Sun, 30 Jun 2024 00:29:36 +0000 (00:29 +0000)]
remove struct acpi_parsestate, unused since dsdt.c rev 1.16
jsg [Sat, 29 Jun 2024 23:56:07 +0000 (23:56 +0000)]
remove defines for acpi ioctls, unused since acpi.c rev 1.59
jsg [Sat, 29 Jun 2024 23:37:50 +0000 (23:37 +0000)]
remove struct acpi_dev_rank, unused since acpi.c rev 1.144
florian [Sat, 29 Jun 2024 17:25:56 +0000 (17:25 +0000)]
Disable the shared cache between resolvers for now.
Since the latest libunbound update the frontend process would segfault
about once a day on one of my MX servers with what looks like a
use-after-free deep inside of libunbound.
Maybe we are poking too much at internals and the shared cache is too
much of a hack. #ifdef for now to ease investigation, but it is
possible that this code just has to go.
tb [Sat, 29 Jun 2024 16:10:08 +0000 (16:10 +0000)]
Z_HUFFMAN -> Z_HUFFMAN_ONLY
from upstream
0f3b7b9595cc7d85c3b13282e71fcecef7f18f9c
jsg [Sat, 29 Jun 2024 12:09:51 +0000 (12:09 +0000)]
remove unused vars
yasuoka [Sat, 29 Jun 2024 11:50:31 +0000 (11:50 +0000)]
Fix typos in previous.
jsg [Sat, 29 Jun 2024 11:32:35 +0000 (11:32 +0000)]
remove unused vars
jsg [Sat, 29 Jun 2024 11:29:55 +0000 (11:29 +0000)]
remove unused var
tb [Sat, 29 Jun 2024 07:34:12 +0000 (07:34 +0000)]
fix typo
yasuoka [Sat, 29 Jun 2024 07:19:18 +0000 (07:19 +0000)]
Add variables for RFC 5176 Error Cause.
yasuoka [Sat, 29 Jun 2024 00:53:56 +0000 (00:53 +0000)]
Add variables for DAE for RADIUS (RFC 5176).
bluhm [Fri, 28 Jun 2024 21:36:05 +0000 (21:36 +0000)]
Link regress unp-write-closed to build.
mvs [Fri, 28 Jun 2024 21:30:24 +0000 (21:30 +0000)]
Restore original EPIPE and ENOTCONN errors priority in the uipc_send()
path changed in rev 1.206. At least acme-client(1) is not happy with
this change.
Reported by claudio. Tests and ok by bluhm.
bluhm [Fri, 28 Jun 2024 21:07:27 +0000 (21:07 +0000)]
Test writing to socket pair closed by the other side. This must
trigger EPIPE error.
with and OK mvs@
tb [Fri, 28 Jun 2024 14:50:37 +0000 (14:50 +0000)]
Add more regress coverage for SSL_select_next_proto()
tb [Fri, 28 Jun 2024 14:48:43 +0000 (14:48 +0000)]
The ALPN callback should really ignore the out parameter if there's
no overlap. Document that explicitly. Also make it more explicit that
that the caller must work with a copy of out.
ok jsing
jan [Fri, 28 Jun 2024 14:46:31 +0000 (14:46 +0000)]
Cleanup control queue checks in vio(4).
Add missing newlines in prints while here.
ok sf@
tb [Fri, 28 Jun 2024 14:46:19 +0000 (14:46 +0000)]
Fix SSL_select_next_proto()
SSL_select_next_proto() is already quite broken by its design: const in,
non-const out, with the intention of pointing somewhere inside of the two
input pointers. A length returned in an unsigned char (because, you know,
the individual protocols are encoded in Pascal strings). Can't signal
uailure either. It also has an unreachable public return code.
Also, due to originally catering to NPN, this function opportunistically
selects a protocol from the second input (client) parameters, which makes
little sense for ALPN since that means the server falls back to a protocol
it doesn't (want to) support. If there's no overlap, it's the callback's
job to signal error to its caller for ALPN.
As if that wasn't enough misdesign and bugs, the one we're concerned with
here wasn't reported to us twice in ten years is that if you pass this API
a zero-length (or a sufficiently malformed client protocol list), it would
return a pointer pointing somewhere into the heap instead into one of the
two input pointers. This pointer could then be interpreted as a Pascal
string, resulting in an information disclosure of up to 255 bytes from the
heap to the peer, or a crash.
This can only happen for NPN (where it does happen in old python and node).
A long time ago jsing removed NPN support from LibreSSL, because it had
an utter garbage implementation and because it was practically unused.
First it was already replaced by the somewhat less bad ALPN, and the only
users were the always same language bindings that tend to use every feature
they shouldn't use. There were a lot of complaints due to failing test
cases in there, but in the end the decision turned out to be the right
one: the consequence is that LibreSSL isn't vulnerable to CVE-2024-5535.
Still, there is a bug here to fix. It is completely straightforward to
do so. Rewrite this mess using CBS, preserving the current behavior.
Also, we do not follow BoringSSL's renaming of the variables. It would
result in confusing code in almost all alpn callbacks I've seen in the
wild. The only exception is the accidental example of Qt.
ok jsing
jsing [Fri, 28 Jun 2024 13:37:49 +0000 (13:37 +0000)]
Remove handling of SSLv2 client hello messages.
This code was only previously enabled if the minimum enabled version was
TLSv1.0 and a non-version locked method is in use. Since TLSv1.0 and
TLSv1.1 were disabled nearly a year ago, this code is no longer ever
being used.
ok tb@
jsg [Fri, 28 Jun 2024 03:37:58 +0000 (03:37 +0000)]
drm/amdgpu: fix UBSAN warning in kv_dpm.c
From Alex Deucher
b065d79ed06a0bb4377bc6dcc2ff0cb1f55a798f in linux-6.6.y/6.6.36
f0d576f840153392d04b2d52cf3adab8f62e8cb6 in mainline linux
jsg [Fri, 28 Jun 2024 03:35:06 +0000 (03:35 +0000)]
drm/radeon: fix UBSAN warning in kv_dpm.c
From Alex Deucher
9e57611182a817824a17b1c3dd300ee74a174b42 in linux-6.6.y/6.6.36
a498df5421fd737d11bfd152428ba6b1c8538321 in mainline linux