summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-12-11drm/amd/display: Include udelay when waiting for INBOX0 ACKJonathan Gray
From Alvin Lee 33ed892f0cdeb1350648cd3bfe8140aa9f792076 in linux-6.1.y/6.1.66 3c9ea68cb61bd7e5bd312c06a12adada74ff5805 in mainline linux
2023-12-11drm/amdgpu: Force order between a read and write to the same addressJonathan Gray
From Alex Sierra c5cf436c8969516c92aaceb87582ff19bd187756 in linux-6.1.y/6.1.66 4b27a33c3b173bef1d19ba89e0b9b812b4fddd25 in mainline linux
2023-12-11drm/amd: Enable PCIe PME from D3Jonathan Gray
From Mario Limonciello c6088429630048661e480ed28590e69a48c102d6 in linux-6.1.y/6.1.66 6967741d26c87300a51b5e50d4acd104bc1a9759 in mainline linux
2023-12-11add dma_fence_is_later_or_same() for 6.1.66 drmJonathan Gray
2023-12-11arm just had to be different and change the syntax for .pushsectionTheo de Raadt
arguments, so we have to cope.
2023-12-11Oops, wrong argument to macroTheo de Raadt
2023-12-11Report system call pinning violations.Theo de Raadt
2023-12-11Add an accounting flag for syscall pinning violations.Theo de Raadt
2023-12-11syncTheo de Raadt
2023-12-11document upcoming pinsyscalls(2) system callTheo de Raadt
ok kettenis, some tweaks from jmc
2023-12-10vmm(4): flush EPTs after enabling VMX mode.Dave Voutila
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@
2023-12-10evp_test: zap extra empty lineTheo Buehler
2023-12-10The new cinematic to get sensor information as soon as possible sometimesMiod Vallat
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.
2023-12-10syncTheo de Raadt
2023-12-10pinsyscalls(2) 2nd argument can be "uint *" instead of "void *Theo de Raadt
ok kettenis
2023-12-10Add a new label "sigcodecall" inside every sigtramp definition, directlyTheo de Raadt
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
2023-12-10Populate the non-LOAD openbsd.syscalls section (and PT_OPENBSD_SYSCALL)Theo de Raadt
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
2023-12-10Since errno isn't used here, use warnx() instead of warn()Job Snijders
OK tb@
2023-12-10Skip interfaces already claimed by other uaudio(4) instances.Alexandre Ratchov
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@.
2023-12-09Add basic write support for 'pax' format archivesJeremie Courreges-Anglas
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@
2023-12-09Fix wrong call to slot->ops->exit() causing server to abort.Alexandre Ratchov
ok kn@
2023-12-09vio(4) add recv TCP/UDP checksum offloadingJan Klemkow
tested on Linux/KVM tested on proxmox and vultr by florian ok florian
2023-12-09Following a failed fetch, use a previously cached and valid ManifestJob Snijders
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.
2023-12-08Add spaces around '='. style(9) fix, no functional changes.Vitaliy Makkoveev
2023-12-08Introduce `sc_mtx' mutex(9) to protect the most of pflow_softcVitaliy Makkoveev
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@
2023-12-08Make sure TIB_INIT correctly initializes tib_thread_flags; regressionMiod Vallat
introduced in 1.3, causing sporadic pthread_main_np() erroneous results (and possibly more subtle problems). With and ok kurt@
2023-12-08PT_OPENBSD_SYSCALLS is an extension that points to non-LOAD sectionTheo de Raadt
which contains {offset,syscall#} structures. ok kettenis
2023-12-08locally us MAXIMUM() rather than MAX()Theo de Raadt
ok tb gnezdo
2023-12-08prevent leak in sshsig_match_principals; ok djm@Markus Friedl
2023-12-08Add regress coverage for OBJ_NAME_do_all*()Theo Buehler
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).
2023-12-08New TEMPerHUM sensor; reported by Mikolaj Kucharski on bugs@Miod Vallat
2023-12-07Run bind(2) and connect(2) stress test also with IPv6.Alexander Bluhm
2023-12-07Collect .openbsd.syscalls sections into a new PT_OPENBSD_SYSCALLS segment.Mark Kettenis
This will be used soon to pin system calls to designated call sites. ok deraadt@
2023-12-07Inpcb table mutex protects addr and port during bind(2) and connect(2).Alexander Bluhm
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@
2023-12-07add services entries for Matter, a protocol for discovery and commsStuart Henderson
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
2023-12-07syncTheo de Raadt
2023-12-07Add a stub pinsyscalls() system call that simply returns 0 for now,Theo de Raadt
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
2023-12-07avoid bad register access in eephy_reset for Marvell Alaska 88E1512Uwe Stuehler
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@
2023-12-06Add tests that create and delete cloned routes during connect(2).Alexander Bluhm
2023-12-06short circuit debug log processing early if we're not going toDamien Miller
log anything. From Kobe Housen
2023-12-06Periodically reset constraint DNS info for constraints that failedOtto Moerbeek
to reply; ok florian@
2023-12-06Stress test bind(2) and connect(2) system calls in OpenBSD regress.Alexander Bluhm
2023-12-06Protect socket receive buffer in IP multicast routing.Alexander Bluhm
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@
2023-12-06Move CALLSYS_NOERROR macro from <machine/asm.h> to libc, and expand it forMiod Vallat
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
2023-12-05Add more devices which may attach ukbd (and thus wskbd) but should never beMiod Vallat
considered as console keyboards.
2023-12-05Cast uvmexp.swpages to long before multiplying by 99 to avoid integerClaudio Jeker
overflows on systems with big swap partitions. OK kettenis@ miod@
2023-12-05timeout_del() the timer while stopping an interface so that no timeoutKevin Lo
is fired afterwards. ok claudio@
2023-12-05reject headers that start with a space or tabOmar Polo
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@
2023-12-05Remove "disable auto-negotiation" workaround for Marvell Alaska PHYsUwe Stuehler
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@
2023-12-05boot_file was removed in arm64 machdep.c rev 1.55Jonathan Gray