linuxkpi: Add `hrtimer_setup()`
`hrtimer_setup()` replaces `hrtimer_init()` in Linux 6.15. The API and
the role are the same, except:
* it takes the `function` callback as argument
* if `function` is NULL, it assigns a default callback
At the same time, we hide `hrtimer_init()` if LINUXKPI_VERSION is
greater than or equal to 61500 because it was dropped in Linux 6.15.
Reviewed by: bz
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58757
linuxkpi: Add `timer64_to_tm()`
The function converts a number of seconds since Epoch to a `struct tm`.
The implementation was copied from `contrib/tzcode/localtime.c`.
The amdgpu DRM driver started to use it in Linux 6.15.
Reviewed by: bz
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58758
nfsuserd.c: Fix handling where pw_name/gr_name differ from lookup name
When an NSS backend returns a canonical pw_name or gr_name that differs from
the lookup name supplied by the NFSv4 upcall, nfsuserd stores the successful
mapping in the kernel cache under the canonical name instead of the requested
name.
This causes the retry lookup performed by nfsv4_strtouid() or
nfsv4_strtogid() to miss the newly inserted cache entry, resulting in the
default UID/GID being returned although the NSS lookup itself succeeded.
PR: 296753
Reviewed by: rmacklem
Tested by: Emanuel Helms <emanuel at nfv.cc>
MFC after: 2 weeks
security/gost-engine: update
openssl111 has gone from Ports and we have no supported
FreeBSD versions having it in base, so drop 1.1.x support here too.
Update the code upto latest commit targeting OpenSSL 3.0.
Also, this makes it compatible with CMake 4.
Reported by: arrowd
Tested by: arrowd
linuxkpi: Fix assertion in `lkpi_vmf_insert_pfn_prot_locked()`
Before this change, the assertion would not catch a page index matching
the end address, even though the end address of a mapping is outside of
that mapping.
While here, add another assertion to catch page indexes outside of the
expected range earlier.
Also, pagefaulting an address outside of the mapping range should return
`VM_FAULT_SIGBUS` instead of panicing.
Reviewed by: bz
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58194
sysutils/lsd: Adopt port
While here:
- Seperate DEPENDS field from USES field (pet portlint).
- Remove increment from LIB_DEPENDS.
- Ignore failing tests.
PR: 296864
Approved by: osa, vvd (Mentors, implicit)
chinese/fcitx-libpinyin: Drop support for Qt5
Qt5 option requires deprecated WebEngine.
PR: 298172
Approved by: maintainer
(cherry picked from commit 4a288edb4fd6b6f3b53d89beb9772259811e0fe7)
Mk/Uses/xorg-cat.mk: Resurrect CATEGORIES=proto and switch EXTRACT_SUFX to xz
Resurrect CATEGORIES=proto to simplify the port's Makefile.
Remove experimental from the meson's comment, as some ports have fully
transitioned to building with Meson.
Upstream has switched from bz2 to xz, so update EXTRACT_SUFX.
PR: 298092
Approved by: x11 (arrowd)
Approved by: fluffy (mentor)
gstat: Set errno = 0 before strtoul
The strtoul function sets errno on error, but does not clear it on
success; when using strtoul and checking errno (as one should) for
ERANGE / EINVAL afterwards, it's important to zero errno first.
While here, remove a dead store.
Reviewed by: phk
Fixes: 4fe8c1b67be0 ("Add error and range checking ... ")
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D59270
(cherry picked from commit 6ddb10cf6b7f870d749e96d2ae55976b18896f54)
gstat: Set errno = 0 before strtoul
The strtoul function sets errno on error, but does not clear it on
success; when using strtoul and checking errno (as one should) for
ERANGE / EINVAL afterwards, it's important to zero errno first.
While here, remove a dead store.
Reviewed by: phk
Fixes: 4fe8c1b67be0 ("Add error and range checking ... ")
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D59270
(cherry picked from commit 6ddb10cf6b7f870d749e96d2ae55976b18896f54)
tcp: fix TCPS_CLOSED state underleak in syncache_socket()
The syncache entry holds one TCPS_SYN_RECEIVED count that normally is
transferred to the the newborn tp. Upon failure syncache_socket() shall
not use TCPSTATES_INC/TCPSTATES_DEC (see 5050df3f4aa4 why). But when
syncache_socket() fails in_pcbconnect(), it calls tcp_discardcb() to free
resources that were just allocated by tcp_newtcpcb() and this
tcp_discardcb() would do TCPSTATES_DEC(tp->t_state). The t_state is
TCPS_CLOSED at this point.
Make tcp_discardcb() symmetrical to tcp_newtcpcb() - not responsible for
the TCPSTATES. Make the caller responsible for state count book keeping.
Reviewed by: tuexen
Fixes: 3703e1a73e0e0367c04f47f793e46495e46e647b
Differential Revision: https://reviews.freebsd.org/D59325
security/pkcs11-tools: Update 3.0.0 => 3.1.0
Port Changes:
- Use distribution tarball rather than pure source code
for prebuilt manpages instead of depending on Pandoc.
Changelog:
https://github.com/Mastercard/pkcs11-tools/blob/v3.1.0/CHANGELOG.md
PR: 297826
Approved by: osa, vvd (Mentors, implicit)
Co-authored-by: Yusuf Yaman <nxjoseph at FreeBSD.org>
inpcb: use new local address in in_pcbconnect()
when collecting necessary locks for the operation. The IPv6 version
is already correct.
Submitted by: Nick Price <nick spun.io>
Fixes: 1dda8ba77a20d983774a3bf0e94c51c93f1d8758
devel/tinygo: Update 0.19.0 => 0.42.0, take maintainership
The port has been stuck at 0.19.0 since 2021 and was deprecated on
2026-08-08 along with the other ports pinned to Go 1.25, scheduled for
removal on 2026-09-30. Upstream 0.42.0 supports Go 1.27 and LLVM 22, so
the pin goes away and with it the reason for the deprecation.
Upstream renamed Makefile to GNUmakefile, dropped the git rev-parse call
and ships the submodule marker files the build checks for, so
files/patch-Makefile is no longer needed at all and the port now builds
unpatched. wasm-opt is taken from devel/binaryen rather than built from
the bundled copy, and build/release no longer produces a pkg directory.
The bundled LLVM is now a fork of llvm-project carrying the Xtensa
backend, pinned by the commit recorded in llvm-version.txt. Keeping it
bundled rather than switching to devel/llvm22 is what makes the Xtensa
targets work, ESP32 included.
tinygo resolves GOROOT by running "go" from PATH, which the package does
[13 lines not shown]
linuxkpi: Add `split_page()`
This function is supposed to split large pages into an array of
`PAGE_SIZE`-sized pages, with correct refcounting. This is apparently
used to allow some drivers to free a part of a large page only.
I don't think we use large pages in linuxkpi. Therefore, this new
function is curently a no-op.
The DRM drivers TTM memory manager started to use it in Linux 6.15.
Reviewed by: bz
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58762
linuxkpi: Update `struct vm_area_struct` when an existing mapping is extended
With Mesa 26 and DRM drivers in Linux 6.13, userspace will try to extend
an existing mmap, at last push the end address further.
Before this change, the mapping was not updated, but userspace would try
to access a page after the initial end address, leading to a panic
triggered by the following assertion in `vm_fault_populate()`:
MPASS(fs->first_pindex <= pager_last);
Reviewed by: bz
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58195