LinuxKPI: remove timer KPI from Linux version before 4.15
Now that semi-native drivers in main are clean of using any
pre-4.15 Linux timer KPI, remove the macros from LinuxKPI as well.
Supported versions of drm-kmod and the oldest nvidia port seem fine
based on my checks. If anything else surfaces we can deal with the
fallout; the changes to the newer KPI were mechanical in Linux and
can be applied easily.
This change can be detected by #if !defined(init_timer)
at compile time so no need for a __FreeBSD_version bump.
MFC after: 3 days
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D59688
mlx5: remove init_timer()
The init_timer() was there from day one in (dc7e38ac4da50). It was
never needed as the setup_timer() below already did more than just
that part of the job.
This is part of trying to clear up the Linux pre-4.15 timer KPI
from LinuxKPI.
MFC after: 3 days
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D59681
mlx4: convert to timer_setup() Linux KPI
The Linux driver switched away from using this timer in e22979d96a55d.
Locally adjust the code to use timer_setup/from_timer in order to get
us out of Linux version 4.15 (and earlier) KPIs.
Also, right away, apply 41cb08555c416 from_timer -> timer_container_of.
MFC after: 3 days
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D59680
mlx4: apply upstream changes to convert to timer_setup() Linux KPI
Apply Linux change 55c0fcc3de460 "Convert timers to use timer_setup()"
to get us out of Linux version 4.15 (and earlier) KPIs.
Also apply 41cb08555c416 from_timer -> timer_container_of.
MFC after: 3 days
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D59679
mthca: apply upstream changes to convert to timer_setup() LinuxKPI
Apply upstream changes b9eaf18722221 init_timer() -> setup_timer(),
and 86cb30ec07cdc7 setup_timer() -> timer_setup() to get us out of
Linux version 4.15 (and earlier) KPIs.
Also apply 41cb08555c416 from_timer -> timer_container_of.
MFC after: 3 days
Reviewed by: jhb, emaste
Differential Revision: https://reviews.freebsd.org/D59677
net-im/flare: Add PORTSCOUT limit for 0.x
Portscout finds a tag named 'v1.6.0' that is from one of
the Cargo crates, not relevant to upstream project Flare.
Tested using locally ran portscout.
Approved by: osa, vvd (Mentors, implicit)
devel/papi: update to 7.2.0, un-expire
Most patches are from the PR, minor changes from me:
- update to final 7.2.0 version
- update MASTER_SITES and WWW
- shebang for python:env
PR: 284575
Approved by: maintainer timeout (never replied)
MFH: 2026Q3
(cherry picked from commit bd51446d7985fcd1d35239dece909365689e2244)
databases/pg_search: fix build
The distfile tarball mecab-ipadic-2.7.0-20070801.tar.gz was re-rolled.
Their file contents are identical, but metadata was changed.
Example:
--rw-r--r-- 0 1000 1000 61 Jun 10 2007 mecab-ipadic-2.7.0-20070801/README
+-rw-rw-r-- 0 root root 61 Feb 23 2024 mecab-ipadic-2.7.0-20070801/README
devel/papi: update to 7.2.0, un-expire
Most patches are from the PR, minor changes from me:
- update to final 7.2.0 version
- update MASTER_SITES and WWW
- shebang for python:env
PR: 284575
Approved by: maintainer timeout (never replied)
MFH: 2026Q3
Merge commit 1f332ae4f1b3 from llvm-project (by Alexander Kornienko):
Fix -Wformat diagnostic after #190965 (#193704)
Fixes libunwind compiler diagnostic when building with clang after
034d4dcad6396d1241e8262e69871b8d61da7e4f:
```
In file included from libunwind/src/libunwind.cpp:31:
In file included from libunwind/src/UnwindCursor.hpp:52:
libunwind/src/CompactUnwinder.hpp:339:46: error: format specifies type 'unsigned long long' but the argument has type 'uint64_t' (aka 'unsigned long') [-Werror,-Wformat]
338 | "function starting at 0x%llX",
| ~~~~
| %lX
339 | compactEncoding, functionStart);
| ^~~~~~~~~~~~~
libunwind/src/config.h:215:63: note: expanded from macro '_LIBUNWIND_DEBUG_LOG'
215 | #define _LIBUNWIND_DEBUG_LOG(msg, ...) _LIBUNWIND_LOG(msg, __VA_ARGS__)
| ~~~ ^~~~~~~~~~~
libunwind/src/config.h:181:45: note: expanded from macro '_LIBUNWIND_LOG'
[21 lines not shown]
kern.mk: make clang 23 -Wunused-but-set-global non-fatal
This warning triggers in a few places in contributed code, and would
therefore be annoying to fix. Use -Wno-error= to at least show the
warnings so there is some incentive to submit them upstream.
MFC after: 3 days
bsd.sys.mk: make clang 23 -Wunused-but-set-global non-fatal
This warning triggers in a few places in contributed code, and would
therefore be annoying to fix. Use -Wno-error= to at least show the
warnings so there is some incentive to submit them upstream.
MFC after: 3 days
ice: Fail closed when VF reset does not complete
ice_reset_vf() logs failures to drain PCIe transactions, issue the
mandatory zero-queue command, or observe VFR completion, but still
publishes VFACTIVE. A VF can resume against reset state which the PF
knows is incomplete.
Return an error from the reset operation and retain a reset-failed flag
when any mandatory stage fails. Reject ordinary virtchnl requests while
the failure persists. Publish VFACTIVE only after every stage succeeds.
A later VFLR or PF rebuild can recover the VF and clear the failure.
Remove tracked queue leaves before clearing their software state. The
reset-only AdminQ command drains hardware queues but does not update the
shared scheduler database; losing that bookkeeping can strand queue
resources across VF teardown and recreation.
After a successful VF reset, discard software switch filter state whose
hardware rules were reset and clear guest-owned MAC and VLAN tracking.
[16 lines not shown]
ice: Enforce VF MAC anti-spoof policy
The SR-IOV schema enables MAC anti-spoofing by default, but the driver
never programs the VSI security section. A VF can therefore transmit
with an arbitrary source address despite the configured policy.
Program ICE_AQ_VSI_SEC_FLAG_ENA_MAC_ANTI_SPOOF when the VF VSI is
created, and replay the policy when the VSI is rebuilt after a PF or
device reset. Fail VF creation or rebuild when firmware cannot install
the security policy so an unprotected VF is never published as active.
Validated on E810 hardware with host-attached and Linux passthrough
VFs. Traffic using the assigned source MAC passed while otherwise
identical forged-source frames were dropped. After a PF reset, assigned
traffic resumed and zero of ten forged frames reached the peer.
An injected MAC anti-spoof update failure left the VF inactive.
Destroying and recreating the SR-IOV configuration restored the policy
and traffic.
[4 lines not shown]
www/nginx-devel: Add NJS_QJS and NJS_XML options
The port pulled quickjs, libxml2 and libxslt unconditionally with NJS
and always built the QuickJS engine. Split this into the NJS_QJS and
NJS_XML options, so that www/nginx, www/nginx-devel and www/freenginx
offer the same set.
Sponsored by: Netzkommune GmbH
ice: Add malformed virtchnl injection points
Extend the optional ice(4) failure injection facility with semantic
corruption points for queue configuration, RSS keys and tables, and
interrupt mappings.
Each point mutates an otherwise valid request after the common
virtchnl length check. This exercises the PF semantic validators with a
real VF while preserving the normal wire format and mailbox path.
The queue point selects unaligned Tx or Rx bases, an unaligned or
unrepresentable receive buffer, an invalid frame size, duplicate queue
IDs, or a bad VSI. The RSS points select short advertised data or an
out-of-range LUT entry. The interrupt point selects an invalid ITR,
traffic on vector zero, duplicate vectors, or a bad VSI.
The points remain absent unless the kernel is built with
options DRIVER_FAILPOINTS and retain the existing PF and VF selectors.
[3 lines not shown]