openbsd
10 months agoadd dma_fence_is_later_or_same() for 6.1.66 drm
jsg [Mon, 11 Dec 2023 04:56:54 +0000 (04:56 +0000)]
add dma_fence_is_later_or_same() for 6.1.66 drm

10 months agoarm just had to be different and change the syntax for .pushsection
deraadt [Mon, 11 Dec 2023 03:05:15 +0000 (03:05 +0000)]
arm just had to be different and change the syntax for .pushsection
arguments, so we have to cope.

10 months agoOops, wrong argument to macro
deraadt [Mon, 11 Dec 2023 02:30:36 +0000 (02:30 +0000)]
Oops, wrong argument to macro

10 months agoReport system call pinning violations.
deraadt [Mon, 11 Dec 2023 00:40:31 +0000 (00:40 +0000)]
Report system call pinning violations.

10 months agoAdd an accounting flag for syscall pinning violations.
deraadt [Mon, 11 Dec 2023 00:39:43 +0000 (00:39 +0000)]
Add an accounting flag for syscall pinning violations.

10 months agosync
deraadt [Mon, 11 Dec 2023 00:35:06 +0000 (00:35 +0000)]
sync

10 months agodocument upcoming pinsyscalls(2) system call
deraadt [Mon, 11 Dec 2023 00:34:24 +0000 (00:34 +0000)]
document upcoming pinsyscalls(2) system call
ok kettenis, some tweaks from jmc

10 months agovmm(4): flush EPTs after enabling VMX mode.
dv [Sun, 10 Dec 2023 21:25:14 +0000 (21:25 +0000)]
vmm(4): flush EPTs after enabling VMX mode.

The Intel SDM states the vmxon/vmxoff instructions don't invalidate
any EPT states on the cpu and recommend invalidating the global
context. vmm(4) opportunistically disables and enables VMX mode as
vms are created or terminated, so this adds a recommended
housekeeping step per the SDM.

While here, tidy up the CR4 toggling by moving it to after the MSR
feature check.

ok mlarkin@

10 months agoevp_test: zap extra empty line
tb [Sun, 10 Dec 2023 19:20:06 +0000 (19:20 +0000)]
evp_test: zap extra empty line

10 months agoThe new cinematic to get sensor information as soon as possible sometimes
miod [Sun, 10 Dec 2023 19:03:37 +0000 (19:03 +0000)]
The new cinematic to get sensor information as soon as possible sometimes
runs too fast for the device and causes it to stutter its identification
string. Check if the second string chunk matches the first one, and ignore
it in this case, the correct data will come later.

10 months agosync
deraadt [Sun, 10 Dec 2023 16:59:51 +0000 (16:59 +0000)]
sync

10 months agopinsyscalls(2) 2nd argument can be "uint *" instead of "void *
deraadt [Sun, 10 Dec 2023 16:59:09 +0000 (16:59 +0000)]
pinsyscalls(2) 2nd argument can be "uint *" instead of "void *
ok kettenis

10 months agoAdd a new label "sigcodecall" inside every sigtramp definition, directly
deraadt [Sun, 10 Dec 2023 16:56:01 +0000 (16:56 +0000)]
Add a new label "sigcodecall" inside every sigtramp definition, directly
in front of the syscall instruction.  This is used to calculate the start
of the syscall for SYS_sigreturn and pinned system calls.
ok kettenis

10 months agoPopulate the non-LOAD openbsd.syscalls section (and PT_OPENBSD_SYSCALL)
deraadt [Sun, 10 Dec 2023 16:45:50 +0000 (16:45 +0000)]
Populate the non-LOAD openbsd.syscalls section (and PT_OPENBSD_SYSCALL)
with {uint offset, uint syscall#} entries in libc & ld.so.
In libc a few syscall# entries (break, sigprocmask, _tfork, _threxit)
are duplicated because additional or inline uses occur (that situation
is handled elsewhere)
ok kettenis

10 months agoSince errno isn't used here, use warnx() instead of warn()
job [Sun, 10 Dec 2023 14:18:23 +0000 (14:18 +0000)]
Since errno isn't used here, use warnx() instead of warn()

OK tb@

10 months agoSkip interfaces already claimed by other uaudio(4) instances.
ratchov [Sun, 10 Dec 2023 06:32:14 +0000 (06:32 +0000)]
Skip interfaces already claimed by other uaudio(4) instances.

Fixes support of devices that attach multiple uaudio(4) drivers.

Every uaudio(4) instance parses the full set of device descriptors
because there are multiple interfaces per driver instance. If there is
a second uaudio(4) instance (i.e. a second control & stream interfaces
combo), the latter must skip the interfaces already used by the first
one (if it didn't, multiple uaudio(4) would try to use the same
interface and neither would work).

Help from and ok armani@.

10 months agoAdd basic write support for 'pax' format archives
jca [Sat, 9 Dec 2023 23:00:11 +0000 (23:00 +0000)]
Add basic write support for 'pax' format archives

Keep writing archives in ustar format by default.  People can test the
posix 'pax' format using pax(1) -w -x pax ... or cpio -o -H pax ...;
tar(1) can't exercise this code yet.  Only long names file and link
names are supported for now.

With input and tests from caspar@, ok millert@

10 months agoFix wrong call to slot->ops->exit() causing server to abort.
ratchov [Sat, 9 Dec 2023 22:12:03 +0000 (22:12 +0000)]
Fix wrong call to slot->ops->exit() causing server to abort.

ok kn@

10 months agovio(4) add recv TCP/UDP checksum offloading
jan [Sat, 9 Dec 2023 10:36:05 +0000 (10:36 +0000)]
vio(4) add recv TCP/UDP checksum offloading

tested on Linux/KVM
tested on proxmox and vultr by florian

ok florian

10 months agoFollowing a failed fetch, use a previously cached and valid Manifest
job [Sat, 9 Dec 2023 00:44:18 +0000 (00:44 +0000)]
Following a failed fetch, use a previously cached and valid Manifest

RPKI Manifests enable Relying Parties (RPs) to detect replay attacks,
unauthorized in-flight modification, or deletion of signed objects. RPs
can accomplish these security functions by comparing (what is expected
to be) a monotonically increasing counter (the 'manifestNumber') - to
determine what the latest Manifest is; a list of filenames - in order to
establish whether the complete set of files was fetched; and a list of
SHA256 message digests to ascertain whether the content's of said files
are exactly the same as the CA intended them to be.

Over time, two schools of thought arose. One philosophy is that the
highest numbered cryptographically valid Manifest represents the express
intent of the CA, so if manifest-listed files are missing, someone
upstream messed up and gets to enjoy the broken pieces. After all, RFC
9286 section 5.2 puts the onus firmly on the repository operator to
publish in a consistent manner. Here, "consistent" means that newly
issued manifests - in the same RRDP delta - are bundled together with
all new or changed ROAs, and that remote RSYNC repositories are
atomically updated (for example, using symlink pivots).

To overcome various types of inconsistent, transient, or intermediate
states of the remote publication point - previous versions of rpki-client
did construct the full CARepository state using a mix of objects from both
its local validated cache and the RRDP/RSYNC staging directories
(which contain purported new versions of the objects).

However, another take on RFC 9286 section 6.6's "use cached versions of
the objects" is that 'the objects' not only refers to the listed
subordinate products (such as ROAs/Certificates/ASPAs), but also to
Manifests themselves. The philosophy being that lower numbered
cryptographically valid Manifests with a complete & untampered set of
files are to be preferred over a higher numbered cryptographically valid
Manifests accompanied by incomplete sets of files. Consequently -
potentially - producing more stable VRP outputs, at the expense of being
magnanimous towards sloppy CAs and repository operators.

Going forward, rpki-client logs errors when inconsistent publications
are encountered, but also proceeds to use older cryptographically valid
Manifests (from previous successful fetches) in order to construct
the tree.

With and OK tb@, and also thanks to Ties de Kock from RIPE NCC.

10 months agoAdd spaces around '='. style(9) fix, no functional changes.
mvs [Fri, 8 Dec 2023 23:15:44 +0000 (23:15 +0000)]
Add spaces around '='. style(9) fix, no functional changes.

10 months agoIntroduce `sc_mtx' mutex(9) to protect the most of pflow_softc
mvs [Fri, 8 Dec 2023 23:13:40 +0000 (23:13 +0000)]
Introduce `sc_mtx' mutex(9) to protect the most of pflow_softc
structure. Protect the `send_nam', `sc_flowsrc' and `sc_flowdst'
pflow_softc members by existing `sc_lock' rwlock(9).

This partially fixes locking inconsistency of pflow_softc. The following
work will be done with separate diffs.

Also, pass `sc' instead of NULL to pflow_get_mbuf() while calling from
pflow_sendout_ipfix_tmpl(). This fixes the NULL dereference.

ok bluhm@

10 months agoMake sure TIB_INIT correctly initializes tib_thread_flags; regression
miod [Fri, 8 Dec 2023 19:14:36 +0000 (19:14 +0000)]
Make sure TIB_INIT correctly initializes tib_thread_flags; regression
introduced in 1.3, causing sporadic pthread_main_np() erroneous results
(and possibly more subtle problems).

With and ok kurt@

10 months agoPT_OPENBSD_SYSCALLS is an extension that points to non-LOAD section
deraadt [Fri, 8 Dec 2023 13:58:41 +0000 (13:58 +0000)]
PT_OPENBSD_SYSCALLS is an extension that points to non-LOAD section
which contains {offset,syscall#} structures.
ok kettenis

10 months agolocally us MAXIMUM() rather than MAX()
deraadt [Fri, 8 Dec 2023 12:58:27 +0000 (12:58 +0000)]
locally us MAXIMUM() rather than MAX()
ok tb gnezdo

10 months agoprevent leak in sshsig_match_principals; ok djm@
markus [Fri, 8 Dec 2023 09:18:39 +0000 (09:18 +0000)]
prevent leak in sshsig_match_principals; ok djm@

10 months agoAdd regress coverage for OBJ_NAME_do_all*()
tb [Fri, 8 Dec 2023 08:30:04 +0000 (08:30 +0000)]
Add regress coverage for OBJ_NAME_do_all*()

While this may seem a bit out of place since is an objects API by name,
it really is about EVP. Plus, we want to leverage some things we already
needed for the EVP_*do_all() API (which currently wraps OBJ_NAME_do_all*
but that will change soon).

10 months agoNew TEMPerHUM sensor; reported by Mikolaj Kucharski on bugs@
miod [Fri, 8 Dec 2023 06:33:48 +0000 (06:33 +0000)]
New TEMPerHUM sensor; reported by Mikolaj Kucharski on bugs@

10 months agoRun bind(2) and connect(2) stress test also with IPv6.
bluhm [Thu, 7 Dec 2023 23:47:48 +0000 (23:47 +0000)]
Run bind(2) and connect(2) stress test also with IPv6.

10 months agoCollect .openbsd.syscalls sections into a new PT_OPENBSD_SYSCALLS segment.
kettenis [Thu, 7 Dec 2023 21:57:34 +0000 (21:57 +0000)]
Collect .openbsd.syscalls sections into a new PT_OPENBSD_SYSCALLS segment.
This will be used soon to pin system calls to designated call sites.

ok deraadt@

10 months agoInpcb table mutex protects addr and port during bind(2) and connect(2).
bluhm [Thu, 7 Dec 2023 16:08:30 +0000 (16:08 +0000)]
Inpcb table mutex protects addr and port during bind(2) and connect(2).

in_pcbbind(), in_pcbconnect(), and in6_pcbconnect() have to set
addresses and ports within the same critical section as the inpcb
hash table calculation.  Also lookup and address selection have to
be protected to avoid bindings and connections that are not unique.

For that in_pcbpickport() and in_pcbbind_locked() expect that the
table mutex is already taken.  The functions in_pcblookup_lock(),
in_pcblookup_local_lock(), and in_pcbaddrisavail_lock() grab the
mutex iff the lock parameter is IN_PCBLOCK_GRAB.  Otherwise the
parameter is IN_PCBLOCK_HOLD has the lock has to be taken already.
Note that in_pcblookup_lock() and in_pcblookup_local() return an
inp with increased reference iff they take and release the lock.
Otherwise the caller protects the life time of the inp.

This gives enough flexibility that in_pcbbind() and in_pcbconnect()
can hold the table mutex when they need it.  The public inpcb API
does not change.

OK sashan@ mvs@

10 months agoadd services entries for Matter, a protocol for discovery and comms
sthen [Thu, 7 Dec 2023 14:53:31 +0000 (14:53 +0000)]
add services entries for Matter, a protocol for discovery and comms
with "smart home"/IoT devices, which runs over TCP or UDP over v6 over
various physical/network layers (Ethernet, Wifi, or low power lossy
radio-based networks like Thread). req by Jordan Williams  ok deraadt

https://csa-iot.org/wp-content/uploads/2022/11/22-27349-001_Matter-1.0-Core-Specification.pdf

10 months agosync
deraadt [Thu, 7 Dec 2023 14:00:15 +0000 (14:00 +0000)]
sync

10 months agoAdd a stub pinsyscalls() system call that simply returns 0 for now,
deraadt [Thu, 7 Dec 2023 13:59:04 +0000 (13:59 +0000)]
Add a stub pinsyscalls() system call that simply returns 0 for now,
before future work where ld.so(1) will need this new system call.
Putting this in the kernel ahead of time will save some grief.
ok kettenis

11 months agoavoid bad register access in eephy_reset for Marvell Alaska 88E1512
uwe [Thu, 7 Dec 2023 09:46:58 +0000 (09:46 +0000)]
avoid bad register access in eephy_reset for Marvell Alaska 88E1512

The register write before this change had no visible run-time effect
on 88E1512 under normal conditions but it tried to update a reserved
bit and might prevent the standard behaviour of breaking the link on
insufficient Inter-Packet Gaps.

Cross-checked with datasheets for supported variants. Extended special
control register 20 exists only in E1111 but not in E151x, E1545x, or
E3016. It seems that the register was dropped in E15xx and subsequent
designs.

Originally from stsp@

ok claudio@ stsp@

11 months agoAdd tests that create and delete cloned routes during connect(2).
bluhm [Wed, 6 Dec 2023 22:57:14 +0000 (22:57 +0000)]
Add tests that create and delete cloned routes during connect(2).

11 months agoshort circuit debug log processing early if we're not going to
djm [Wed, 6 Dec 2023 21:06:48 +0000 (21:06 +0000)]
short circuit debug log processing early if we're not going to
log anything. From Kobe Housen

11 months agoPeriodically reset constraint DNS info for constraints that failed
otto [Wed, 6 Dec 2023 15:51:53 +0000 (15:51 +0000)]
Periodically reset constraint DNS info for constraints that failed
to reply; ok florian@

11 months agoStress test bind(2) and connect(2) system calls in OpenBSD regress.
bluhm [Wed, 6 Dec 2023 14:41:52 +0000 (14:41 +0000)]
Stress test bind(2) and connect(2) system calls in OpenBSD regress.

11 months agoProtect socket receive buffer in IP multicast routing.
bluhm [Wed, 6 Dec 2023 09:27:17 +0000 (09:27 +0000)]
Protect socket receive buffer in IP multicast routing.

Since soreceive() runs in parallel for raw sockets, sbappendaddr()
has to be protected by inpcb mutex.  This was missing in multicast
forwarding which is running with a combination of shared net lock
and kernel lock.  soreceive() uses shared net lock and mutex per
inpcb.  Grab mutex before sbappendaddr() in socket_send() and
socket6_send().

panic receive 1 reported by Jo Geraerts
OK mvs@ claudio@

11 months agoMove CALLSYS_NOERROR macro from <machine/asm.h> to libc, and expand it for
miod [Wed, 6 Dec 2023 06:15:33 +0000 (06:15 +0000)]
Move CALLSYS_NOERROR macro from <machine/asm.h> to libc, and expand it for
non-libc users. This is a two-liner macro anyway, and this will make
deraadt@'s future changes in this area easier to make. NFC

11 months agoAdd more devices which may attach ukbd (and thus wskbd) but should never be
miod [Tue, 5 Dec 2023 20:49:31 +0000 (20:49 +0000)]
Add more devices which may attach ukbd (and thus wskbd) but should never be
considered as console keyboards.

11 months agoCast uvmexp.swpages to long before multiplying by 99 to avoid integer
claudio [Tue, 5 Dec 2023 15:50:45 +0000 (15:50 +0000)]
Cast uvmexp.swpages to long before multiplying by 99 to avoid integer
overflows on systems with big swap partitions.
OK kettenis@ miod@

11 months agotimeout_del() the timer while stopping an interface so that no timeout
kevlo [Tue, 5 Dec 2023 13:43:39 +0000 (13:43 +0000)]
timeout_del() the timer while stopping an interface so that no timeout
is fired afterwards.

ok claudio@

11 months agoreject headers that start with a space or tab
op [Tue, 5 Dec 2023 13:38:25 +0000 (13:38 +0000)]
reject headers that start with a space or tab

If the first header starts with a space but still contains a colon
character, it is added to the body mail effectively appending it to the
Received header due to the folding rules.

Issue reported by Crystal Kolipe

ok millert@, giovanni@

11 months agoRemove "disable auto-negotiation" workaround for Marvell Alaska PHYs
uwe [Tue, 5 Dec 2023 11:06:05 +0000 (11:06 +0000)]
Remove "disable auto-negotiation" workaround for Marvell Alaska PHYs

This avoids an intermediate link state (10baseT) before the interface
is configured via ifconfig(8), and is consistent with other MII
drivers and OSes.

The original reason for this workaround is mainly thought be related
to either reducing the time required for auto-negotiation to complete
or indeed incorrect advertisement of link capabilities.

Tested on Intel Elkhart Lake with dwqe(4) and 88E1512 PHY.
Originally from stsp@ with feedback from kettenis@.

ok kettenis@ claudio@

11 months agoboot_file was removed in arm64 machdep.c rev 1.55
jsg [Tue, 5 Dec 2023 05:27:26 +0000 (05:27 +0000)]
boot_file was removed in arm64 machdep.c rev 1.55

11 months agolast .Nm should not have a comma
jsg [Tue, 5 Dec 2023 02:41:13 +0000 (02:41 +0000)]
last .Nm should not have a comma

11 months agozap trailing whitespace
tb [Mon, 4 Dec 2023 22:52:41 +0000 (22:52 +0000)]
zap trailing whitespace

11 months agoRemove unneeded symbols.
miod [Mon, 4 Dec 2023 21:19:26 +0000 (21:19 +0000)]
Remove unneeded symbols.

11 months agoAccount for nkmempages as well in the pmap_growkernel() call during
claudio [Mon, 4 Dec 2023 15:00:09 +0000 (15:00 +0000)]
Account for nkmempages as well in the pmap_growkernel() call during
initalisation. This way there is enough KVA mapped that kmeminit()
succeeds even with large nkmempages. This is similar to e.g. alpha.
OK miod@ kettenis@

11 months agoprotect access to the gnu warning map with a mutex to avoid random crashes
robert [Mon, 4 Dec 2023 14:24:29 +0000 (14:24 +0000)]
protect access to the gnu warning map with a mutex to avoid random crashes

discussed with, tested by and ok tb@

11 months agoSave backtraces to show in leak dump. Depth of backtrace set by
otto [Mon, 4 Dec 2023 07:01:45 +0000 (07:01 +0000)]
Save backtraces to show in leak dump. Depth of backtrace set by
malloc option D (aka 1), 2, 3 or 4.  No performance impact if not
used.  ok asou@

11 months agodrm/i915: do not clean GT table on error path
jsg [Mon, 4 Dec 2023 06:05:59 +0000 (06:05 +0000)]
drm/i915: do not clean GT table on error path

From Andrzej Hajda
84a6e475451dfe8db44bbf4fd0969906a9bfdc2f in linux-6.1.y/6.1.65
0561794b6b642b84b879bf97061c4b4fa692839e in mainline linux

11 months agoMake the TEMPer{1,2} devices display minus degC. From the NetBSD driver.
mglocker [Mon, 4 Dec 2023 05:28:25 +0000 (05:28 +0000)]
Make the TEMPer{1,2} devices display minus degC.  From the NetBSD driver.

ok deraadt@

11 months agoCollect .openbsd.syscalls sections into a new PT_OPENBSD_SYSCALLS segment.
kettenis [Sun, 3 Dec 2023 21:15:11 +0000 (21:15 +0000)]
Collect .openbsd.syscalls sections into a new PT_OPENBSD_SYSCALLS segment.
This will be used soon to pin system calls to designated call sites.

ok deraadt@

11 months agoRename all in6p local variables to inp.
bluhm [Sun, 3 Dec 2023 20:36:24 +0000 (20:36 +0000)]
Rename all in6p local variables to inp.

There exists no struct in6pcb in OpenBSD, this was an old kame idea.
Calling the local variable in6p does not make sense, it is actually
a struct inpcb.  Also in6p is not used consistently in inet6 code.
Having the same convention for IPv4 and IPv6 is less confusing.

OK sashan@ mvs@

11 months agoUse INP_IPV6 flag instead of sotopf().
bluhm [Sun, 3 Dec 2023 20:24:17 +0000 (20:24 +0000)]
Use INP_IPV6 flag instead of sotopf().

During initialization in_pcballoc() sets INP_IPV6 once to avoid
reaching through inp_socket->so_proto->pr_domain->dom_family.  Use
this flag consistently.

OK sashan@ mvs@

11 months agomove to using updatedb annotation exclusively
espie [Sun, 3 Dec 2023 16:38:28 +0000 (16:38 +0000)]
move to using updatedb annotation exclusively

11 months agoadd the `no-dsn' option to `listen on socket' too
op [Sun, 3 Dec 2023 11:52:16 +0000 (11:52 +0000)]
add the `no-dsn' option to `listen on socket' too

ok millert@

11 months agoset the socket family too to mirror the LISTEN case; no-op in practice
op [Sun, 3 Dec 2023 11:50:50 +0000 (11:50 +0000)]
set the socket family too to mirror the LISTEN case; no-op in practice
since AF_UNSPEC is zero.

11 months agoenable DSN (Delivery Status Notification) for the implicit socket too
op [Sun, 3 Dec 2023 11:48:52 +0000 (11:48 +0000)]
enable DSN (Delivery Status Notification) for the implicit socket too

DSN is implicitly enabled when using `listen on sock' but it's not for
the implicit socket, avoid this incoherence by enabling it on the
implicit socket too.

Report and diff by Tassilo Philipp (tphilipp at potion-studios dot com)
ok millert@

11 months agoRemove misuse warnings for EVP_*Final()
tb [Sun, 3 Dec 2023 11:18:30 +0000 (11:18 +0000)]
Remove misuse warnings for EVP_*Final()

They make no sense. These are thin wrappers of EVP_*Final_ex() and behave
exactly the same way. The minor behavior difference of Init and Init_ex is
likely a historical artefact of this abomination of an API. Deprecation of
the Init functions was recently removed from the manpage. The only reason
to prefer the _ex versions over the normal versions is ENGINE. This is no
longer an argument.

The warnings were added in an attempt at adding automatic cleanup.  This
broke stuff and was therefore backed out. The warnings remained.

discussed with schwarze

11 months agoMake rtm_senddesync_timer() timeout(9) handler mpsafe. solock() protects
mvs [Sun, 3 Dec 2023 10:51:17 +0000 (10:51 +0000)]
Make rtm_senddesync_timer() timeout(9) handler mpsafe. solock() protects
the socket and the socket's PCB data.

ok bluhm

11 months agoMake ipsp_ids_gc() timeout(9) handler mpsafe. `ipsec_flows_mtx' mutex(9)
mvs [Sun, 3 Dec 2023 10:50:25 +0000 (10:50 +0000)]
Make ipsp_ids_gc() timeout(9) handler mpsafe. `ipsec_flows_mtx' mutex(9)
protects related data.

ok bluhm

11 months agomatch Lunar Lake, Raptor Lake and Arrow Lake
jsg [Sun, 3 Dec 2023 00:19:25 +0000 (00:19 +0000)]
match Lunar Lake, Raptor Lake and Arrow Lake

11 months agoregen
jsg [Sun, 3 Dec 2023 00:15:35 +0000 (00:15 +0000)]
regen

11 months agoadd Intel Ethernet ids: Lunar Lake, Raptor Lake and Arrow Lake
jsg [Sun, 3 Dec 2023 00:14:53 +0000 (00:14 +0000)]
add Intel Ethernet ids: Lunar Lake, Raptor Lake and Arrow Lake

11 months agoFix some NULL misspellings
tb [Sat, 2 Dec 2023 19:07:10 +0000 (19:07 +0000)]
Fix some NULL misspellings

11 months agoRevert a hunk of r1.23 that makes no sense
tb [Sat, 2 Dec 2023 19:06:22 +0000 (19:06 +0000)]
Revert a hunk of r1.23 that makes no sense

The commit was about checking EVP_CIPHER_CTX_iv_length(), but the function
called here is EVP_CIPHER_CTX_key_length(). The result of the computation
is still correct, the check and local variable simply make no sense.

11 months agovirtio: Fix handling of feature bits >= 32
sf [Sat, 2 Dec 2023 10:01:35 +0000 (10:01 +0000)]
virtio: Fix handling of feature bits >= 32

Fix handling of feature bits >= 32.  This does not yet affect any driver
as no high feature bit besides VERSION_1 is used, and that one has
special handling.

Also, with VIRTIO_DEBUG, simply walk through all transport and device
feature names, so that we don't need to adjust the if clause whenever
the standard introduces new transport features.

ok jan@ bluhm@

11 months agopipex(4) layer is completely mp-safe, move the pipex_timer() timeout(9)
mvs [Fri, 1 Dec 2023 20:30:22 +0000 (20:30 +0000)]
pipex(4) layer is completely mp-safe, move the pipex_timer() timeout(9)
handler out of kernel lock.

ok bluhm

11 months agoAdd tests to exercise the recent bug fixes.
millert [Fri, 1 Dec 2023 16:49:16 +0000 (16:49 +0000)]
Add tests to exercise the recent bug fixes.

11 months agorelay_read_http: strip out Content-Length if we strip the body too
millert [Fri, 1 Dec 2023 16:48:40 +0000 (16:48 +0000)]
relay_read_http: strip out Content-Length if we strip the body too

We should not forward Content-Length if the body is not also forwarded.

11 months agoMake sure we read a complete struct fsinfo even if the filesystem sectors
miod [Fri, 1 Dec 2023 16:23:03 +0000 (16:23 +0000)]
Make sure we read a complete struct fsinfo even if the filesystem sectors
are smaller.
bug report and ok kn@

11 months agoSet inp address, port and rtable together with inpcb hash.
bluhm [Fri, 1 Dec 2023 15:30:46 +0000 (15:30 +0000)]
Set inp address, port and rtable together with inpcb hash.

The inpcb hash table is protected by table->inpt_mtx.  The hash is
based on addresses, ports, and routing table.  These fields were
not sychronized with the hash.  Put writes and hash update into the
same critical section.
Move the updates from ip_ctloutput(), ip6_ctloutput(), syn_cache_get(),
tcp_connect(), udp_disconnect() to dedicated inpcb set functions.
There they use the same table mutex as in_pcbrehash().
in_pcbbind(), in_pcbconnect(), and in6_pcbconnect() need more work
and are not included yet.

OK sashan@ mvs@

11 months agoCast mtx to void in dummy MUTEX_ASSERT_LOCKED().
bluhm [Fri, 1 Dec 2023 14:37:22 +0000 (14:37 +0000)]
Cast mtx to void in dummy MUTEX_ASSERT_LOCKED().

To avoid unsued variable in ramdisk kernel, use the argument of
MUTEX_ASSERT_LOCKED() also in non DIAGNOSTIC builds.

OK sashan@ mvs@

11 months agoMake internet PCB connect more consistent.
bluhm [Fri, 1 Dec 2023 14:08:03 +0000 (14:08 +0000)]
Make internet PCB connect more consistent.

The public interface is in_pcbconnect().  It dispatches to
in6_pcbconnect() if necessary.  Call the former from tcp_connect()
and udp_connect().
In in6_pcbconnect() initialization in6a = NULL is not necessary.
in6_pcbselsrc() sets the pointer, but does not read the value.
Pass a constant in6_addr pointer to in6_pcbselsrc() and in6_selectsrc().
It returns a reference to the address of some internal data structure.
We want to be sure that in6_addr is not modified this way.  IPv4
in_pcbselsrc() solves this by passing a copy of the address.

OK kn@ sashan@ mvs@

11 months agoSome cleanup:
schwarze [Fri, 1 Dec 2023 13:43:37 +0000 (13:43 +0000)]
Some cleanup:
Remove some lies and some irrelevant historical information
about the non_ex variants and waste fewer words deprecating them.
Telling people to type longer function names and to pass an
ignored NULL argument doesn't really help anything.
Also talk less about those ignored ENGINE arguments.

OK tb@

11 months agosync
tb [Fri, 1 Dec 2023 10:46:54 +0000 (10:46 +0000)]
sync

11 months agoEVP_EncryptInit(3) is among the most important "how to drive" manuals,
schwarze [Fri, 1 Dec 2023 10:40:21 +0000 (10:40 +0000)]
EVP_EncryptInit(3) is among the most important "how to drive" manuals,
but it is still excessively long and complicated.  To reduce the amount
of distractions a bit, split out three deprecated functions into a new
manual page EVP_CIPHER_CTX_init(3).  No text change.

In part suggested by tb@, who agrees with the direction.

11 months agoPrevent race between pf_test() and pf_purge_expired_states().
sashan [Fri, 1 Dec 2023 10:28:32 +0000 (10:28 +0000)]
Prevent race between pf_test() and pf_purge_expired_states().
Packets (callers to pf_test()) must alter pf_state::timeout
under protection of pf_state::mtx. We also have to make sure
the packet does not update pf_state::timeout when ::timeout
reaches PFTM_UNLINKED.

The first report came from Johan Huldtgren, but he is not
the single user who has noticed "st->timeout == PFTM_UNLINKED"
assert violation.

OK bluhm@

11 months agoallow tables and filter over multiple lines
op [Fri, 1 Dec 2023 09:25:49 +0000 (09:25 +0000)]
allow tables and filter over multiple lines

This augments the grammar for tables and filter listing so that a
newline is allowed after a comma.  i.e. these now works as expected:

table foo {
"one",
"two"
}

listen on socket filter {
"foo",
"bar"
}

based on a diff from tim@
ok millert@, tim@

11 months agoUnify various EVP_*{Update,Final}*() wrappers
tb [Fri, 1 Dec 2023 06:53:18 +0000 (06:53 +0000)]
Unify various EVP_*{Update,Final}*() wrappers

The correct way of wrapping foo() is 'int ret; ret = foo(); return ret;'
because 'return foo();' would be too simple... Also unify branching from
EVP_Cipher* into EVP_Encrypt* EVP_Decrypt*.

11 months agoregen
jsg [Fri, 1 Dec 2023 05:49:06 +0000 (05:49 +0000)]
regen

11 months agoadd AMD Phoenix (Family 19h Model 74h) ids
jsg [Fri, 1 Dec 2023 05:48:39 +0000 (05:48 +0000)]
add AMD Phoenix (Family 19h Model 74h) ids
based on submissions to dmesg@

11 months agoOverhaul device identification logic in order to make matching on
miod [Thu, 30 Nov 2023 20:08:23 +0000 (20:08 +0000)]
Overhaul device identification logic in order to make matching on
device-provided information easier.

Add support for a few more devices.

Trigger state machine updates quickly so as not to have to wait 6 seconds to
get the device identified, then 6 more seconds to get the first sensor data.

Tested on:
TEMPerX_V3.3 by landry@
TEMPerF1.4M by sthen@
TEMPerHUM_V4.0, TEMPer2_V4.1, TEMPer1F_V4.1 and TEMPerGold_V3.4 by yours truly

11 months agoClean up and de-spaghettize by_file_callback
beck [Thu, 30 Nov 2023 17:01:04 +0000 (17:01 +0000)]
Clean up and de-spaghettize by_file_callback

I had to read this for other purposes and it exceeded my muppetry
tolerance.

ok tb@

11 months agoSingle file to stdout without "fattr"
kn [Thu, 30 Nov 2023 14:52:00 +0000 (14:52 +0000)]
Single file to stdout without "fattr"

Regardless of SMALL and other command flags, 'ftp -o - URL [file|URL ...]'
only processes the first URL and exists.

Only standard output is written to and modifying 'struct stat' properties
as per pledge(2) "fattr" don't apply.

OK millert

11 months agoFold identical pledge cases, '#ifndef SMALL \n if (!resume)' equals 'else'
kn [Thu, 30 Nov 2023 14:51:32 +0000 (14:51 +0000)]
Fold identical pledge cases, '#ifndef SMALL \n if (!resume)' equals 'else'

OK millert

11 months agoMake sure we don't process garbage data as keypresses if the device sends a
miod [Thu, 30 Nov 2023 12:50:41 +0000 (12:50 +0000)]
Make sure we don't process garbage data as keypresses if the device sends a
truncated report.

11 months agoPass inp_seclevel to ip6_output() in TCP syn cache.
bluhm [Thu, 30 Nov 2023 10:21:56 +0000 (10:21 +0000)]
Pass inp_seclevel to ip6_output() in TCP syn cache.

TCP syn_cache_respond() uses inp_seclevel from listening socket as
ip_output() parameter.  This was missing for ip6_output().

OK mvs@

11 months agodrm/amd/display: Change the DMCUB mailbox memory location from FB to inbox
jsg [Thu, 30 Nov 2023 03:07:48 +0000 (03:07 +0000)]
drm/amd/display: Change the DMCUB mailbox memory location from FB to inbox

From Lewis Huang
4c55be0855344187d0970874b6e1215b21a68b61 in linux-6.1.y/6.1.64
5911d02cac70d7fb52009fbd37423e63f8f6f9bc in mainline linux

11 months agodrm/amd/display: Enable fast plane updates on DCN3.2 and above
jsg [Thu, 30 Nov 2023 03:04:27 +0000 (03:04 +0000)]
drm/amd/display: Enable fast plane updates on DCN3.2 and above

From Tianci Yin
68d774eb10e261ac6d176da2379f97a62878ef22 in linux-6.1.y/6.1.64
435f5b369657cffee4b04db1f5805b48599f4dbe in mainline linux

11 months agodrm/amd/display: fix a NULL pointer dereference in amdgpu_dm_i2c_xfer()
jsg [Thu, 30 Nov 2023 02:57:53 +0000 (02:57 +0000)]
drm/amd/display: fix a NULL pointer dereference in amdgpu_dm_i2c_xfer()

From Mario Limonciello
fb5c134ca589fe670430acc9e7ebf2691ca2476d in linux-6.1.y/6.1.64
b71f4ade1b8900d30c661d6c27f87c35214c398c in mainline linux

11 months agodrm/amdgpu: lower CS errors to debug severity
jsg [Thu, 30 Nov 2023 02:56:04 +0000 (02:56 +0000)]
drm/amdgpu: lower CS errors to debug severity

From Christian Koenig
51ffa1a3792e3570ae2eb84d003c329b3d71da6c in linux-6.1.y/6.1.64
17daf01ab4e3e5a5929747aa05cc15eb2bad5438 in mainline linux

11 months agodrm/amdgpu: fix error handling in amdgpu_bo_list_get()
jsg [Thu, 30 Nov 2023 02:54:25 +0000 (02:54 +0000)]
drm/amdgpu: fix error handling in amdgpu_bo_list_get()

From Christian Koenig
c52aac5884bc58e304d4c9cb8441baf8443ea189 in linux-6.1.y/6.1.64
12f76050d8d4d10dab96333656b821bd4620d103 in mainline linux

11 months agodrm/amdgpu: don't use ATRM for external devices
jsg [Thu, 30 Nov 2023 02:52:49 +0000 (02:52 +0000)]
drm/amdgpu: don't use ATRM for external devices

From Alex Deucher
2ab6c1237bd4a961b8d5032671510a028fb9f0f6 in linux-6.1.y/6.1.64
432e664e7c98c243fab4c3c95bd463bea3aeed28 in mainline linux

11 months agodrm/amdgpu: don't use pci_is_thunderbolt_attached()
jsg [Thu, 30 Nov 2023 02:51:49 +0000 (02:51 +0000)]
drm/amdgpu: don't use pci_is_thunderbolt_attached()

From Alex Deucher
965dce07a4fc5b15c07c73124f5016240a7250ef in linux-6.1.y/6.1.64
7b1c6263eaf4fd64ffe1cafdc504a42ee4bfbb33 in mainline linux

11 months agodrm/amdgpu/smu13: drop compute workload workaround
jsg [Thu, 30 Nov 2023 02:50:22 +0000 (02:50 +0000)]
drm/amdgpu/smu13: drop compute workload workaround

From Alex Deucher
8e54a91d3e66b9730861f10345238ff5ef979d3d in linux-6.1.y/6.1.64
23170863ea0a0965d224342c0eb2ad8303b1f267 in mainline linux