mglocker [Mon, 20 May 2024 12:42:45 +0000 (12:42 +0000)]
Add flag to switch between normal interrupts (one interrupt per completed
command) and interrupt aggregation (one interrupt per <count> completed
commands). For now, enable normal interrupts by default, since it has
turned out that this works better for us currently (see comment in the diff
for more details).
Discussed with dlg@
jca [Mon, 20 May 2024 11:12:08 +0000 (11:12 +0000)]
pool_setlowat() may call pool_prime() and thus allocate memory
ok dlg@
claudio [Mon, 20 May 2024 10:32:20 +0000 (10:32 +0000)]
Rework interaction between sleep API and exit1() and start unlocking ps_threads
This diff adjusts how single_thread_set() accounts the threads by using
ps_threadcnt as initial value and counting all threads out that are already
parked. In single_thread_check call exit1() before decreasing ps_singlecount
this is now done in exit1().
exit1() and thread_fork() ensure that ps_threadcnt is updated with the
pr->ps_mtx held and in exit1() also account for exiting threads since
exit1() can sleep.
OK mpi@
claudio [Mon, 20 May 2024 10:01:52 +0000 (10:01 +0000)]
Convert more of the session engine parsers to the new ibuf API
This converts OPEN and it capability parser and RREFRESH and with that
all packet parser are kind of converted. There is still parse_header()
and the general packet handling that needs some work now so that all
the ugly ibuf_from_buffer() can be dropped.
OK tb@
claudio [Mon, 20 May 2024 10:00:00 +0000 (10:00 +0000)]
Tabs on empty line
mvs [Mon, 20 May 2024 09:11:21 +0000 (09:11 +0000)]
Drop MNT_LOCAL flag in corresponding `vfsconflist' fuse(4) entry instead
of cleaning it in fusefs_mount().
ok claudio
jsg [Mon, 20 May 2024 05:26:04 +0000 (05:26 +0000)]
drm/amd/display: Fix incorrect DSC instance for MST
From Hersen Wu
af8af93c6a4f2c4772b353584b36bee88ebcbe81 in linux-6.6.y/6.6.3
892b41b16f6163e6556545835abba668fcab4eea in mainline linux
jsg [Mon, 20 May 2024 05:24:11 +0000 (05:24 +0000)]
drm/amd/display: Handle Y carry-over in VCP X.Y calculation
From George Shen
7be093e45215d4d9dfda515aebb7c31dc9413144 in linux-6.6.y/6.6.3
719564737a9ac3d0b49c314450b56cf6f7d71358 in mainline linux
jsg [Mon, 20 May 2024 05:22:41 +0000 (05:22 +0000)]
drm/i915/bios: Fix parsing backlight BDB data
From Karthikeyan Ramasubramanian
ca82830e453364d192e3c0c92a0f8823f621879c in linux-6.6.y/6.6.3
43b26bdd2ee5cfca80939be910d5b23a50cd7f9d in mainline linux
jsg [Mon, 20 May 2024 05:20:41 +0000 (05:20 +0000)]
drm/i915/gt: Automate CCS Mode setting during engine resets
From Andi Shyti
be59b2d3d9750f784101d62cc0f25fb75e294f7e in linux-6.6.y/6.6.3
51c1b42a232f17743cd825be6790cb64735ff98f in mainline linux
jsg [Mon, 20 May 2024 05:18:51 +0000 (05:18 +0000)]
drm/i915/audio: Fix audio time stamp programming for DP
From Chaitanya Kumar Borah
b0624c032a02a8c2141663e21961ade9d3424e3c in linux-6.6.y/6.6.3
c66b8356273c8d22498f88e4223af47a7bf8a23c in mainline linux
jsg [Mon, 20 May 2024 05:17:01 +0000 (05:17 +0000)]
drm/ttm: Print the memory decryption status just once
From Zack Rusin
306e99777886fd9fe3495a2b889d551dc509a820 in linux-6.6.y/6.6.3
27906e5d78248b19bcdfdae72049338c828897bb in mainline linux
jsg [Mon, 20 May 2024 05:15:34 +0000 (05:15 +0000)]
drm/amdkfd: don't allow mapping the MMIO HDP page with large pages
From Alex Deucher
4b4cff994a27ebf7bd3fb9a798a1cdfa8d01b724 in linux-6.6.y/6.6.3
be4a2a81b6b90d1a47eaeaace4cc8e2cb57b96c7 in mainline linux
jsg [Mon, 20 May 2024 05:14:07 +0000 (05:14 +0000)]
drm/amdgpu: once more fix the call oder in amdgpu_ttm_move() v2
From Christian Koenig
0c7ed3ed35eec9138b88d42217b5a6b9a62bda4d in linux-6.6.y/6.6.3
d3a9331a6591e9df64791e076f6591f440af51c3 in mainline linux
jsg [Mon, 20 May 2024 05:10:45 +0000 (05:10 +0000)]
drm/amdgpu: Fix comparison in amdgpu_res_cpu_visible
From Michel Daenzer
52c1af381cb8bf72f2600ea02ba03d05fee2d733 in linux-6.6.y/6.6.3
8d2c930735f850e5be6860aeb39b27ac73ca192f in mainline linux
jsg [Mon, 20 May 2024 05:08:47 +0000 (05:08 +0000)]
drm/amd/display: Atom Integrated System Info v2_2 for DCN35
From Gabe Teeger
7e3030774431eb093165a31baff040d35446fb8b in linux-6.6.y/6.6.31
9a35d205f466501dcfe5625ca313d944d0ac2d60 in mainline linux
jsg [Mon, 20 May 2024 05:06:41 +0000 (05:06 +0000)]
dm/amd/pm: Fix problems with reboot/shutdown for some SMU 13.0.4/13.0.11 users
From Mario Limonciello
6c83a8f236ece78d5c2e60ae3dcfd1a64509410e in linux-6.6.y/6.6.31
cd94d1b182d2986378550c9087571991bfee01d4 in mainline linux
jsg [Mon, 20 May 2024 05:04:43 +0000 (05:04 +0000)]
drm/connector: Add \n to message about demoting connector force-probes
From Douglas Anderson
1b9e8de483bcc230f6e922bdfa9d1c186c27dd3b in linux-6.6.y/6.6.31
6897204ea3df808d342c8e4613135728bc538bcd in mainline linux
jsg [Mon, 20 May 2024 05:03:00 +0000 (05:03 +0000)]
drm/radeon: silence UBSAN warning (v3)
From Alex Deucher
aff9dba5e8cedddb32759e835304697661ccf3f1 in linux-6.6.y/6.6.31
781d41fed19caf900c8405064676813dc9921d32 in mainline linux
jsg [Mon, 20 May 2024 05:00:46 +0000 (05:00 +0000)]
amd/amdkfd: sync all devices to wait all processes being evicted
From Zhigang Luo
b6f6626528fe724b512c34f3fb5946c36a135f58 in linux-6.6.y/6.6.31
d06af584be5a769d124b7302b32a033e9559761d in mainline linux
jsg [Mon, 20 May 2024 04:58:57 +0000 (04:58 +0000)]
drm/amdgpu: Fix VCN allocation in CPX partition
From Lijo Lazar
a624829bba2752a2b726f227574d6ca1d2e39671 in linux-6.6.y/6.6.31
f7e232de51bb1b45646e5b7dc4ebcf13510f2630 in mainline linux
jsg [Mon, 20 May 2024 04:56:48 +0000 (04:56 +0000)]
drm/amd/display: Skip on writeback when it's not applicable
From Alex Hung
951a498fa993c5501994ec2df97c9297b02488c7 in linux-6.6.y/6.6.31
ecedd99a9369fb5cde601ae9abd58bca2739f1ae in mainline linux
jsg [Mon, 20 May 2024 04:55:16 +0000 (04:55 +0000)]
drm/amdgpu: implement IRQ_STATE_ENABLE for SDMA v4.4.2
From Tao Zhou
c0beff4e35af8ef3f5e30ac3f55a6109f751d9c0 in linux-6.6.y/6.6.31
f886b49feaae30acd599e37d4284836024b0f3ed in mainline linux
jsg [Mon, 20 May 2024 04:53:54 +0000 (04:53 +0000)]
drm/amdgpu: Refine IB schedule error logging
From Lijo Lazar
1e2c28e74a823aa36821c5c68e7834ca7e4fbb9b in linux-6.6.y/6.6.31
4b18a91faf1752f9bd69a4ed3aed2c8f6e5b0528 in mainline linux
jsg [Mon, 20 May 2024 04:52:26 +0000 (04:52 +0000)]
drm/amdkfd: range check cp bad op exception interrupts
From Jonathan Kim
41dc6791596656dd41100b85647ed489e1d5c2f2 in linux-6.6.y/6.6.31
0cac183b98d8a8c692c98e8dba37df15a9e9210d in mainline linux
jsg [Mon, 20 May 2024 04:50:56 +0000 (04:50 +0000)]
drm/amdkfd: Check cgroup when returning DMABuf info
From Mukul Joshi
d644962423704441713be6669b9544beed5d4176 in linux-6.6.y/6.6.31
9d7993a7ab9651afd5fb295a4992e511b2b727aa in mainline linux
jsg [Mon, 20 May 2024 04:49:32 +0000 (04:49 +0000)]
drm/amdgpu: fix doorbell regression
From Shashank Sharma
4fd8cd4154a213e944933622039d83184b31617c in linux-6.6.y/6.6.31
705d0480e6ae5a73ca3a9c04316d0678e19a46ed in mainline linux
jsg [Mon, 20 May 2024 03:21:58 +0000 (03:21 +0000)]
add __counted_by() for 6.6.31 drm
jsg [Mon, 20 May 2024 02:00:25 +0000 (02:00 +0000)]
remove xdr_ypreq_xfr() prototype that matches rpcsvc/yp.h
kevlo [Mon, 20 May 2024 01:51:32 +0000 (01:51 +0000)]
Map MSI-X in addition to MSI and INTx on rge(4).
Brad noticed on Orange Pi 5 Plus apparently the RTL8125 Ethernet controller
doesn't support MSIs, but does support MSI-X. With this diff running on
Orange Pi 5+ we switch over from shared INTx to device-specific MSI-X
interrupts.
Tested by Brad.
ok kettenis@
jsg [Mon, 20 May 2024 01:05:17 +0000 (01:05 +0000)]
remove setproctitle() prototype that matches the one in stdlib.h
mglocker [Sun, 19 May 2024 20:24:02 +0000 (20:24 +0000)]
Use aggregation interrupts like stated in the documentation; Setup values
(counter and timeout) during device init, reset values once commands have
been completed. This also let us get rid of the 'sc_intraggr_enabled'
variable.
anton [Sun, 19 May 2024 19:10:01 +0000 (19:10 +0000)]
Add missing kex-names.c source file required since the ssh split.
jsg [Sun, 19 May 2024 10:39:40 +0000 (10:39 +0000)]
remove prototypes with no matching function
jsg [Sun, 19 May 2024 10:30:43 +0000 (10:30 +0000)]
remove prototypes with no matching function
tb [Sun, 19 May 2024 08:26:03 +0000 (08:26 +0000)]
unwrap a line
tb [Sun, 19 May 2024 08:22:40 +0000 (08:22 +0000)]
Add space after commas
tb [Sun, 19 May 2024 08:21:13 +0000 (08:21 +0000)]
KNF for dh_err and dsa_err
jsg [Sun, 19 May 2024 07:12:50 +0000 (07:12 +0000)]
remove prototypes with no matching function
feedback and ok tb@
jsg [Sun, 19 May 2024 03:31:05 +0000 (03:31 +0000)]
remove prototypes with no matching function
jsg [Sun, 19 May 2024 03:27:58 +0000 (03:27 +0000)]
remove prototype with no matching function
jsg [Sun, 19 May 2024 00:05:43 +0000 (00:05 +0000)]
remove prototypes with no matching function; ok ratchov@
jsg [Sun, 19 May 2024 00:03:10 +0000 (00:03 +0000)]
remove sun3/4 bits missed when sparc was removed
ok miod@
sobrado [Sat, 18 May 2024 13:08:09 +0000 (13:08 +0000)]
prefixing flags to ps(1) by a hyphen is optional; while here, make synopsis
fit in a 80-column display.
ok jmc@
jsg [Sat, 18 May 2024 11:17:30 +0000 (11:17 +0000)]
remove prototypes with no matching function; ok claudio@
tb [Sat, 18 May 2024 09:51:44 +0000 (09:51 +0000)]
sync libc bump
jsg [Sat, 18 May 2024 09:02:34 +0000 (09:02 +0000)]
remove prototypes with no matching function
jsg [Sat, 18 May 2024 08:51:26 +0000 (08:51 +0000)]
remove prototypes with no matching function; ok nicm@
jsg [Sat, 18 May 2024 08:50:11 +0000 (08:50 +0000)]
remove externs with no matching var; ok nicm@
jsg [Sat, 18 May 2024 08:48:31 +0000 (08:48 +0000)]
remove extern with no matching var; ok tb@
jsg [Sat, 18 May 2024 08:47:13 +0000 (08:47 +0000)]
remove prototypes with no matching function; ok tb@
jsg [Sat, 18 May 2024 07:10:16 +0000 (07:10 +0000)]
remove prototypes with no matching function
jsg [Sat, 18 May 2024 06:45:00 +0000 (06:45 +0000)]
remove prototypes with no matching function
jsg [Sat, 18 May 2024 06:34:46 +0000 (06:34 +0000)]
remove prototypes with no matching function
guenther [Sat, 18 May 2024 05:21:38 +0000 (05:21 +0000)]
When comparing mtimes for the -u and -Z options and the target is
'too old', use pathconfat(_PC_TIMESTAMP_RESOLUTION, AT_SYMLINK_NOFOLLOW)
to get the timestamp resolution to which the _source_ timestamp
should be truncated for a stable comparison.
Problem reported by Walter Alejandro Iglesias (wai(at)roquesor.com)
ok millert@
guenther [Sat, 18 May 2024 05:21:02 +0000 (05:21 +0000)]
Regen
guenther [Sat, 18 May 2024 05:20:22 +0000 (05:20 +0000)]
Add pathconfat(2): pathconf(2) but with at-fd and flags arguments,
the latter supporting the ability to get timestamp resolution of
symlinks.
ok deraadt@ millert@
jsg [Sat, 18 May 2024 02:44:22 +0000 (02:44 +0000)]
remove prototype with no matching function
jsg [Sat, 18 May 2024 01:51:44 +0000 (01:51 +0000)]
remove prototypes with no matching function
jsg [Sat, 18 May 2024 00:08:06 +0000 (00:08 +0000)]
remove externs for removed vars
jsg [Fri, 17 May 2024 23:56:19 +0000 (23:56 +0000)]
remove prototypes with no matching function; ok florian@
bluhm [Fri, 17 May 2024 20:44:36 +0000 (20:44 +0000)]
IPv6 has to use ip6_defhlim, not ip_defttl.
OK claudio@
miod [Fri, 17 May 2024 20:11:58 +0000 (20:11 +0000)]
Make sure `row' is not used uninitialized in wsmouse_matching().
miod [Fri, 17 May 2024 20:07:33 +0000 (20:07 +0000)]
Cast alpha_pal_swpipl return value to int in splx, to make sure both sides
of the ternary operator have the same type. NFC
miod [Fri, 17 May 2024 20:05:08 +0000 (20:05 +0000)]
Constify the first argument of getdevunit(). NFCI
miod [Fri, 17 May 2024 20:03:13 +0000 (20:03 +0000)]
Update comments to match reality.
kettenis [Fri, 17 May 2024 19:43:45 +0000 (19:43 +0000)]
The INTSTS register is read-only, so the attempt to clear interrupts
by writing to it doesn't actually work. Therefore we have to keep
processing interrupts until all the bits corresponding to enabled
interrupts are cleared. This makes MSIs actually work, also on the AMD
implementations for which we currently disable MSIs.
Based on some digging by martijn@
ok ratchov@, martijn@, stsp@
mvs [Fri, 17 May 2024 19:11:14 +0000 (19:11 +0000)]
Turn sblock() to `sb_lock' rwlock(9) wrapper for all sockets.
Unify behaviour to all sockets. Now sblock() should be always
taken before solock() in all involved paths as sosend(), soreceive(),
sorflush() and sosplice(). sblock() is fine-grained lock which
serializes socket send and receive routines on `so_rcv' or `so_snd'
buffers. There is no big problem to wait netlock while holding sblock().
This unification removes a lot of temporary "sb_flags & SB_MTXLOCK" code
from sockets layer. This unification makes straight "solock()" and
"sblock()" lock order, no more solock() -> sblock() -> sounlock() ->
solock() -> sbunlock() -> sounlock() chains in sosend() and soreceive()
paths. This unification brings witness(4) support for sblock(), include
NFS involved sockets, which is useful.
Since the witness(4) support was introduced to sblock() with this diff,
some new witness reports appeared.
bulk(1) tests by tb, ok bluhm
mvs [Fri, 17 May 2024 19:02:04 +0000 (19:02 +0000)]
Switch AF_KEY sockets to the new locking scheme.
The simplest case. Nothing to change in sockets layer, only set
SB_MTXLOCK on socket buffers.
ok bluhm
mvs [Fri, 17 May 2024 18:58:26 +0000 (18:58 +0000)]
Fix uninitialized memory access in pfkeyv2_sysctl().
pfkeyv2_sysctl() reads the SA type from uninitialized memory if it is
not provided by the caller of sysctl(2) because of a missing length
check.
From Carsten Beckmann.
ok bluhm
bluhm [Fri, 17 May 2024 18:11:58 +0000 (18:11 +0000)]
Fix possible segmentation fault in Perl 5.38.2.
When calling POSIX::setlocale() with unknown locale category, Perl
could crash due to NULL dereference.
found by sthen@ in smokeping build; OK afresh1@
sf [Fri, 17 May 2024 16:37:10 +0000 (16:37 +0000)]
vio: Fix signal handling and locking in sysctl path
Commits
f0b002d01d5 "Release the netlock when sleeping for control
messages in in vioioctl()" and
126b881f71 "Insert a workaround for
per-ifp ioctl being called w/o NET_LOCK()." in vio(4) fixed a deadlock
but may cause a crash with a protection fault trap if addresses are
added/removed concurrently.
The actual issue is that signals are not handled correctly while
sleeping. After a signal, there is a race condition where sc_ctrl_inuse
is first set to FREE and then the interrupt handler sets it to DONE,
causing a hang in the next vio_wait_ctrl() call.
To fix it:
* Revert the NET_LOCK unlocking work-around.
* Remove PCATCH from the sleep call when we wait for control queue,
avoiding the race with vio_ctrleof(). To ensure that we don't hang
forever, use a 5 second timeout.
* If the timeout is hit, or if the hypervisor has set the
DEVICE_NEEDS_RESET status bit, do not try to use the control queue
until the next ifconfig down/up which resets the device.
* In order to allow reading the device status from device drivers, add a
new interface to the virtio transport drivers.
* Avoid a crash if there is outgoing traffic while doing ifconfig down.
OK bluhm@
naddy [Fri, 17 May 2024 14:42:00 +0000 (14:42 +0000)]
remove duplicate copy of relink kit for sshd-session
tb [Fri, 17 May 2024 09:36:48 +0000 (09:36 +0000)]
dig: make function definitions match their prototypes
ok florian
tb [Fri, 17 May 2024 09:36:15 +0000 (09:36 +0000)]
dig: garbage collect the unused 'added'
ok florian
florian [Fri, 17 May 2024 06:50:14 +0000 (06:50 +0000)]
Send source link-layer address option in router advertisements.
With this, hosts immediately learn the layer 2 (i.e. ethernet mac)
address of their default router and don't need to do another round
trip.
It also turns out that apple devices (macOS & iOS) install the default
route as what they call "interface scoped" if a DNS option is present
and the source link-layer address option is absent. This effectively
makes the default route unusable.
Problem with fruit devices tracked down & diff by Ryan Vogt (rvogt.ca
AT gmail), thanks!
OK sthen, bket
jsg [Fri, 17 May 2024 06:42:04 +0000 (06:42 +0000)]
remove prototypes with no matching function; ok djm@
jsg [Fri, 17 May 2024 06:38:00 +0000 (06:38 +0000)]
remove externs for removed vars; ok djm@
deraadt [Fri, 17 May 2024 06:11:54 +0000 (06:11 +0000)]
use SIGKILL instead of 9; ok guenther
deraadt [Fri, 17 May 2024 06:11:17 +0000 (06:11 +0000)]
-Werror was turned on (probably just for development), and this is a
simple way to satisfy older gcc.
djm [Fri, 17 May 2024 04:42:13 +0000 (04:42 +0000)]
g/c unused variable
tb [Fri, 17 May 2024 02:57:26 +0000 (02:57 +0000)]
asn1_str2tag(): no need for tntmp to be static
tb [Fri, 17 May 2024 02:49:21 +0000 (02:49 +0000)]
The long primitive function table can be const
tb [Fri, 17 May 2024 02:47:21 +0000 (02:47 +0000)]
The bignum primitive function table (bignum_pf) can be const
jsg [Fri, 17 May 2024 02:39:11 +0000 (02:39 +0000)]
spelling; ok djm@
djm [Fri, 17 May 2024 01:45:22 +0000 (01:45 +0000)]
allow overriding the sshd-session binary path
djm [Fri, 17 May 2024 01:17:40 +0000 (01:17 +0000)]
fix incorrect debug option name introduce in previous commit
deraadt [Fri, 17 May 2024 00:33:57 +0000 (00:33 +0000)]
sync
deraadt [Fri, 17 May 2024 00:33:43 +0000 (00:33 +0000)]
run the sshd-session link kit also
deraadt [Fri, 17 May 2024 00:33:25 +0000 (00:33 +0000)]
construct and install a relink-kit for sshd-session
ok djm
djm [Fri, 17 May 2024 00:32:32 +0000 (00:32 +0000)]
missing files from previous
djm [Fri, 17 May 2024 00:30:23 +0000 (00:30 +0000)]
Start the process of splitting sshd into separate binaries. This step
splits sshd into a listener and a session binary. More splits are
planned.
After this changes, the listener binary will validate the configuration,
load the hostkeys, listen on port 22 and manage MaxStartups only. All
session handling will be performed by a new sshd-session binary that the
listener fork+execs.
This reduces the listener process to the minimum necessary and sets us
up for future work on the sshd-session binary.
feedback/ok markus@ deraadt@
NB. if you're updating via source, please restart sshd after installing,
otherwise you run the risk of locking yourself out.
schwarze [Thu, 16 May 2024 21:27:38 +0000 (21:27 +0000)]
Check that lower-case variants of UTF-16 surrogate escape sequences
are rejected with the correct error message.
schwarze [Thu, 16 May 2024 21:21:08 +0000 (21:21 +0000)]
Fix UTF-16 surrogate detection:
lower case variants have to be rejected, too.
schwarze [Thu, 16 May 2024 20:32:24 +0000 (20:32 +0000)]
Improve coverage of edge cases for 3-byte UTF-8 sequences.
Coverage for 2-byte and 4-byte sequences was already reasonable.
schwarze [Thu, 16 May 2024 18:49:00 +0000 (18:49 +0000)]
Add a complete suite of tests covering ASCII characters in UTF-8 spelling.
Most of this goes to nogroff.in rather than ascii.in for now
because groff-1.23.0 is buggy as hell in this respect
and i'm too lazy to debug the horrific function make_glyph_node()
in the file groff/src/roff/troff/node.cpp right now.
tb [Thu, 16 May 2024 13:19:09 +0000 (13:19 +0000)]
x509_v3.c: remove superfluous parentheses
No change in the generated assembly
bluhm [Thu, 16 May 2024 13:01:04 +0000 (13:01 +0000)]
Fix IPsec in use with IP forwarding 2 logic.
If sysctl net.inet.ip.forwarding is 2, only packets processed by
IPsec are forwarded. Variable ipsec_in_use is a shortcut to avoid
IPsec processing if no policy has been configured. With ipsec_in_use
unset and ipforwarding set to IPsec only, the packet must be dropped.
OK claudio@
solene [Thu, 16 May 2024 11:33:59 +0000 (11:33 +0000)]
Make daily(8) reporting services that are running
but not enabled in rc.conf.local(8)
wording by jmc@
ok schwarze@ florian@
mglocker [Thu, 16 May 2024 10:52:11 +0000 (10:52 +0000)]
As of the documentation, the value of the Command UPIU expected_xfer_len
field shall be the product of the Logical Block Size and the transfer
length field of the CDB.