pthread_cond_timedwait.3: list pthread_cond_clockwait as .Nm
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D61253
pthread_cond_timedwait.3: split STANDARDS and HISTORY
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D61253
libthr: libpthread/t_mutex.c tests should expect EDEADLK
to follow the POSIX specification.
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D61253
_umtx_op.2: correct the description of the valid _clockid for _umtx_time
And remove the duplicated list from the description of the condition
variable.
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D61253
lib/libthr: add helper to check valid clockid to use with _umtx_op(2)
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D61253
umtxq_sleep(): do not wait forever for zero absolute timeouts
For msleep(), zero sbt means no timeout. If the timeout was specified as
absolute {0, 0} on MONOTONIC/UPTIME clocks, consider the call timed out
immediately, instead of sleeping until a signal is delivered.
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D61253
pthread_cond_clockwait(3): explicitly reject unacceptable clockids
Otherwise they are rejected by kernel in do_wait(), reached through
_thr_sleep()/UMTX_OP_WAIT_UINT_PRIVATE on the user-mode path. Then,
since cond_wait_user() only leaves its loop on a wakeup, a cancellation
or ETIMEDOUT, the EINVAL from do_wait() results in a loop.
If hit, this indicates a bug in user code, but the system library
must be resilient to such misuse.
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D61253
libthr cond_wait_user(): do not loop forever on clock error
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D61253
pthread_mutex_timedlock(3): return EDEADLK on detected recursion attempt
for ERRORCHECK and ADAPTIVE_NP mutexes, instead of ETIMEDOUT. This is
explicitly specified by POSIX.
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D61253
kern_umtx.c: validate clockid used for _umtx_op(2) timeouts
Only allow clocks that make sense for the umtx_sleep().
While there, do not ignore errors from kern_clock_gettime(). The invalid
clock ids are filtered, but if the clock can't be read (CLOCK_TAI before
the TAI-UTC offset is known), the functions operate on uninitialized
memory.
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D61253
libthr: fix __thr_pshared_offpage() to not use cancellable close()
__thr_pshared_offpage() is used by pthread functions that must not be
cancellation points according to POSIX. Use direct __sys_close() instead
of interposed close() there.
Fixes: 1bdbd705993e ("Implement process-shared locks support ...")
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D61343
[GlobalDCE][NFC] scan each vtable slot only once per function (#240541)
Extracted from https://github.com/llvm/llvm-project/pull/232495.
A small optimization to how often `ScanVTableLoad` runs: it now runs
only once per function. Especially after inlining, rust will regularly
load the same function pointer from a vtable multiple times in the same
function. Only the first load is relevant for liveness.
namei(9): allow NDINIT_ATVP() lookups in capability mode
NDINIT_ATVP() initializes dirfd to AT_FDCWD, which is denied for a
process already in cap mode. Since NDINIT_ATVP() is a special lookup
operation performed by the kernel, it should be allowed to proceed for
the paths beneath vp.
Fabricate a pseudo dirfd value that is an unused placeholder,
which fails the AT_FDCWD comparison and allows the lookup to proceed in
cap mode.
Note that failed cap-mode NDINIT_ATVP lookup returned ECAPMODE without
releasing the caller reference on ni_startdir, which is fixed by this
change.
Reported by: ivy
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D61315
namei(9): fix restart for NDINIT_ATVP
namei() might restart for altroot or for ERESTART from
nameicap_tracker_add().
vfs_lookup() consumes the reference on ni_startdir and clears it, so
a restarted NDINIT_ATVP() lookup started from the current directory
instead of the vnode passed by the caller.
Save the starting vnode in a local variable, hold it while the lookup
can be restarted, and reference it before the restarted pass. Do not
assert NAMEI_DBG_HADSTARTDIR on the internal restart.
Noted and reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D61315
news/sabnzbd: Update 5.1.2 => 5.1.3, cleanup dependencies
Changelog:
https://github.com/sabnzbd/sabnzbd/releases/tag/5.1.3
Make some adjustments to the the test behavior so that no more tests
fail. Skips Selenium Tests, Wiki Tests and tests that do not have
necessary files in tarball. Patches permission test that behaves
differently from linux.
Results: 13345 passed, 41 skipped, 28 deselected, 2 xfailed, 1 xpassed,
8 warnings
PR: 298693
Approved by: Nicholas Kirby <nick at kirby.cx> (maintainer, timeout 7+ weeks)
Security: GHSA-q326-jpxx-jmjc
Security: GHSA-mjwj-v5mr-cmcg
Security: GHSA-rgqj-28c2-gxwp
Security: GHSA-75g3-96fr-7p2r
Security: GHSA-xrfq-jhgh-wqch
[5 lines not shown]
[AArch64][ARM64EC] Preserve native alignment in thunk names (#238613)
`getThunkArgTypes` gave every ordinary parameter alignment 1, so types
with different native alignment (e.g. `i128` vs `[2 x i64]`) mapped to
the same thunk name and shared a thunk that reads the wrong argument
registers. This PR makes it use the `DataLayout` ABI alignment so the
names differ and the right thunk is used.
---------
Co-authored-by: Breno Campos <brenoc at microsoft.com>
Co-authored-by: Copilot <223556219+Copilot at users.noreply.github.com>
news/sabnzbd: Update 5.1.2 => 5.1.3, cleanup dependencies
Changelog:
https://github.com/sabnzbd/sabnzbd/releases/tag/5.1.3
Make some adjustments to the the test behavior so that no more tests
fail. Skips Selenium Tests, Wiki Tests and tests that do not have
necessary files in tarball. Patches permission test that behaves
differently from linux.
Results: 13345 passed, 41 skipped, 28 deselected, 2 xfailed, 1 xpassed,
8 warnings
PR: 298693
Approved by: Nicholas Kirby <nick at kirby.cx> (maintainer, timeout 7+ weeks)
Security: GHSA-q326-jpxx-jmjc
Security: GHSA-mjwj-v5mr-cmcg
Security: GHSA-rgqj-28c2-gxwp
Security: GHSA-75g3-96fr-7p2r
Security: GHSA-xrfq-jhgh-wqch
[3 lines not shown]
x11/nvidia-kmod{-deve]}: Fix loading GSP firmwares for non-legacy variants
Add missing 2 firmware files to x11/nvidia-kmod/pkg-plist
and fixup x11/nvidia-kmod/Makefile not to pick them for
legacy variants that don't have them.
Bumped non-legacy variants only, as pkg for legacy variants
shouldn't be affected with this.
Co-authored by: O. Hartmann
Differential Revision: https://reviews.freebsd.org/D61364