FreeBSD/src e55338fsys/dev/ixgbe ix_txrx.c

ixgbe: supply PF transmit contexts under SR-IOV

X550-family malicious-driver detection validates the transmit
context selected by a data descriptor with Check Context set.  ixgbe
sets that bit on every transmit data descriptor, but ordinary PF
packets without a VLAN or checksum offload do not create a context
descriptor.  The empty context then reports an invalid MAC-header
length and blocks the PF queue as soon as MDD is enabled.

Create the existing context descriptor for every PF packet while
SR-IOV is active.  This supplies the required MAC-header length and
keeps MDD from mistaking normal PF traffic for a malicious-driver
event.

(cherry picked from commit 0787b1f5b8bdfcaed97eeee7bfbd7f14ac162b0d)
DeltaFile
+1-0sys/dev/ixgbe/ix_txrx.c
+1-01 files

FreeBSD/src 6d30c18sys/dev/ixgbe ix_txrx.c

ixgbe: supply PF transmit contexts under SR-IOV

X550-family malicious-driver detection validates the transmit
context selected by a data descriptor with Check Context set.  ixgbe
sets that bit on every transmit data descriptor, but ordinary PF
packets without a VLAN or checksum offload do not create a context
descriptor.  The empty context then reports an invalid MAC-header
length and blocks the PF queue as soon as MDD is enabled.

Create the existing context descriptor for every PF packet while
SR-IOV is active.  This supplies the required MAC-header length and
keeps MDD from mistaking normal PF traffic for a malicious-driver
event.

(cherry picked from commit 0787b1f5b8bdfcaed97eeee7bfbd7f14ac162b0d)
DeltaFile
+1-0sys/dev/ixgbe/ix_txrx.c
+1-01 files

FreeBSD/src 2f1d9absys/dev/e1000 e1000_82542.c

e1000: Correct 82542 flow-control mode handling

The 82542-specific setup routine unconditionally reads the NVM
default, overwriting a flow-control mode selected by software.  It
also removes transmit PAUSE support from all 82542 revisions even
though the hardware restriction applies only to rev 2.0.

Resolve the NVM default only when requested, scope the transmit
restriction to rev 2.0, and replace integer bit masking of the enum
with explicit valid mode transitions.  This restores the behavior
from before the Intel shared-code split and resolves -Wassign-enum.

Reported by:    glebius
MFC after:      2 weeks
DeltaFile
+32-7sys/dev/e1000/e1000_82542.c
+32-71 files

FreeBSD/src dcdc00asys/dev/ice if_ice_iflib.c

ice: Report initialization failures to iflib

The primary and mirror-VSI ifdi_init callbacks can return early when
reset state or hardware queue and filter setup prevents initialization.
Iflib then marks the interface running and enables interrupts although
the driver did not finish bringing it up.

Report each non-detach failure through iflib_init_failed().  Keep the
existing ice reset and subinterface-reinitialization machinery
responsible for scheduling recovery.

MFC after:      2 weeks
DeltaFile
+13-9sys/dev/ice/if_ice_iflib.c
+13-91 files

FreeBSD/src cb0e8f5sys/dev/bnxt/bnxt_en if_bnxt.c

bnxt: Report initialization failures to iflib

HWRM failures currently return from the void ifdi_init callback.
iflib then marks the interface running and enables interrupts despite an
incomplete ring or VNIC setup.

Move the hardware setup into an error-returning helper.  The ifdi_init
wrapper can report failure through iflib_init_failed(), while firmware
recovery can propagate the same error through bnxt_open().  Also clear
the initialized state after partial setup is torn down.

MFC after:      2 weeks
DeltaFile
+16-4sys/dev/bnxt/bnxt_en/if_bnxt.c
+16-41 files

FreeBSD/src 49f9143sys/dev/ixgbe if_ix.c

ixgbe: Enable PF RSS across queues with SR-IOV

PSRTYPE is indexed by pool in VMDq+RSS mode, and its RQPL
field selects the number of receive queues available within the pool.
The PF occupies the last pool, but the driver programmed pool zero and
left the PF RQPL value at zero.  As a result, all PF receive traffic
was directed to its first queue while SR-IOV was enabled.

Program PSRTYPE for the PF pool and encode its allocated receive queue
count.

MFC after:      2 weeks
DeltaFile
+15-1sys/dev/ixgbe/if_ix.c
+15-11 files

FreeBSD/src 0e56ccbsys/dev/ixgbe ixgbe.h if_ixv.c

ixv: Recover when the PF mailbox is unavailable

A failed VF reset or mailbox API negotiation currently returns from
the void ifdi_init callback. Iflib then marks the interface running
even though ixv left its adapter stopped. Stopped media queries can
continue polling the PF, and no timer remains active to retry when the
PF returns.

Track mailbox readiness and report unsuccessful initialization to
iflib. Stopped admin and media-status passes now publish cached
link-down state without touching the mailbox. While the VF remains
administratively up, retry complete initialization after 250 ms, one
second, four seconds, and then at a capped eight-second interval.

Preserve the requested MAC across reset, then program it once after
mailbox API negotiation. The previous two pre-reset requests each
could wait a full mailbox timeout after an established PF disappeared,
holding the iflib context lock for about two seconds before the reset
handshake.

    [8 lines not shown]
DeltaFile
+226-25sys/dev/ixgbe/if_ixv.c
+6-0sys/dev/ixgbe/ixgbe.h
+232-252 files

FreeBSD/src 612f87csys/dev/e1000 if_em.h e1000_vf.c

igbv: Recover when the PF mailbox is unavailable

A VF reset can sanitize its retained queue registers even when the PF
does not complete the cooperative mailbox handshake.  Keep those two
states separate.  Do not program or enable the rings until both queue
sanitation and mailbox initialization have succeeded.

Report either initialization failure to iflib so the interface remains
stopped.  Stopped admin and media-status passes now publish cached
link-down state without polling the mailbox.  While the VF remains
administratively up, retry complete initialization after 250 ms, one
second, four seconds, and then at a capped eight-second interval.
Conditional iflib reset requests ensure an intervening administrative
down cancels a queued retry.

Avoid a redundant mailbox reset in the stop half of an immediate iflib
reinitialization; the following init performs the required reset.
Preserve the reset on an ordinary administrative stop and keep the
existing bounded queue-sanitation retry policy independent from
mailbox liveness recovery.
DeltaFile
+159-14sys/dev/e1000/if_igbv.c
+45-22sys/dev/e1000/if_em.c
+17-15sys/dev/e1000/e1000_vf.c
+11-0sys/dev/e1000/if_em.h
+232-514 files

FreeBSD/src 9328a7eshare/man/man9 Makefile iflibdd.9, sys/net iflib.h iflib.c

iflib: Support recoverable initialization failure

The ifdi_init method cannot report an error, so iflib always marks an
interface running and enables its interrupts after the callback returns.
Drivers whose hardware initialization depends on an unavailable peer can
only return early and leave a falsely running interface.

Add iflib_init_failed() so a callback can leave the interface stopped.
Also add a conditional reset request for asynchronous recovery: it is
discarded if the interface is administratively down when the admin task
runs, preventing a queued retry from resurrecting a stopped interface.

Do not restore saved driver flags after an MTU or capability change when
initialization failed.  Restoring the pre-init flags would overwrite the
stopped result with stale RUNNING state.

Document that reset requests require the caller to schedule the admin
task, that output remains blocked during recovery, and that iflib rather
than the driver owns the driver flags.

    [2 lines not shown]
DeltaFile
+43-6sys/net/iflib.c
+35-0share/man/man9/iflibdi.9
+7-4share/man/man9/iflibdd.9
+5-0sys/net/iflib.h
+3-0share/man/man9/Makefile
+93-105 files

FreeBSD/src 9fd963bshare/man/man9 acl.9

acl(9): fix typo (ACL_ACL -> ACL)

MFC after:      1 week
DeltaFile
+1-1share/man/man9/acl.9
+1-11 files

FreeBSD/src 8eced03share/man/man9 atomic.9

atomic(9): add missing .Nm entries

MFC after:      1 week
Reported by:    make manlint
DeltaFile
+3-0share/man/man9/atomic.9
+3-01 files

FreeBSD/src 4fa245eshare/man/man9 alq.9

alq(9): add missing .Nm entry for ALQ(9)

MFC after:      1 week
Reported by:    make manlint
DeltaFile
+1-0share/man/man9/alq.9
+1-01 files

FreeBSD/src b96a063share/man/man9 DB_COMMAND.9

DB_COMMAND(9): correct mdoc markup for .Nm entries

Add missing commas after .Nm entries.

MFC after:      1 week
Reported by:    make manlint
DeltaFile
+2-2share/man/man9/DB_COMMAND.9
+2-21 files

FreeBSD/src 5007a5dshare/man/man9 cpuset.9

cpuset(9): correct markup

- Remove `\(em` from .Nm section as it's not valid mandoc markup.
- Remove the section from the .Nm directive (it's handled under the .Dt
  directive).

MFC after:      1 week
Reported by:    make manlint
DeltaFile
+1-2share/man/man9/cpuset.9
+1-21 files

FreeBSD/src 503f161usr.sbin/pmc view.cc display.cc

pmc(8): add missing headers to not rely on header pollution

This mutes a number of complains from g++ about needing specific headers
for functionality related to C strings and other function prototypes.

Reported by:    g++ 14
DeltaFile
+2-0usr.sbin/pmc/view.hh
+1-0usr.sbin/pmc/view.cc
+1-0usr.sbin/pmc/display.cc
+1-0usr.sbin/pmc/cmd_pmc_summary.cc
+5-04 files

FreeBSD/src fd80914usr.sbin/pmc view.hh

pmc(8): resolve -Wshadow issues

- Prefix all structs with the struct keyword to avoid collisions between
  the types and variables with the same "name".
- Use `_` suffixed variables in initializers to distinguish input
  parameters from public members [1].

Resolve some trailing whitespace issues while here.

NOTE: this doesn't resolve the -pedantic issue reported by g++ with
`pmchdr_cpuidinfo::cpuid` about the field being a flexible array in an
otherwise empty struct.

1. I generally do this the other way around, i.e., suffix private/protected
   members with `_`, but these are public members in structs and I don't want
   to introduce a lot of churn in calling code.

Reported by:    g++14 with FreeBSD CI (powerpc64 tinderbox)
Fixes:  ce6ab51f ("pmc: enable the new pmc commands")
DeltaFile
+8-8usr.sbin/pmc/view.hh
+8-81 files

FreeBSD/ports 0c6c9c0cad/netgen Makefile distinfo

cad/netgen: Update 6.2.2605 => 6.2.2606

Approved by:            db@, yuri@ (Mentors, implicit)
DeltaFile
+3-3cad/netgen/distinfo
+1-1cad/netgen/Makefile
+4-42 files

FreeBSD/src d444d82share/man/man7 d.7

d.7: Document no support for ddi_pathnam(), getmajor(), and getminor()

MFC after:      3 days

(cherry picked from commit d04da19acbef62f8aee36f5350470dcbf5ba2931)
DeltaFile
+9-1share/man/man7/d.7
+9-11 files

FreeBSD/ports 225cc53devel/aws-crt-cpp Makefile distinfo

devel/aws-crt-cpp: Update to 0.43.4

ChangeLog: https://github.com/awslabs/aws-crt-cpp/releases/tag/v0.43.4
DeltaFile
+3-3devel/aws-crt-cpp/distinfo
+1-1devel/aws-crt-cpp/Makefile
+4-42 files

FreeBSD/ports 5ed1c4adevel/aws-sdk-cpp Makefile distinfo

devel/aws-sdk-cpp: Update to 1.11.866

ChangeLog: https://github.com/aws/aws-sdk-cpp/compare/1.11.855...1.11.866
DeltaFile
+3-3devel/aws-sdk-cpp/distinfo
+1-1devel/aws-sdk-cpp/Makefile
+4-42 files

FreeBSD/ports d77296cgraphics/oxipng Makefile Makefile.crates, graphics/oxipng/files patch-man

graphics/oxipng: Update to 10.2.0

ChangeLog: https://github.com/oxipng/oxipng/releases/tag/v10.2.0
DeltaFile
+31-33graphics/oxipng/distinfo
+14-15graphics/oxipng/Makefile.crates
+3-3graphics/oxipng/files/patch-man
+1-2graphics/oxipng/Makefile
+49-534 files

FreeBSD/ports 18f760adevel/aws-c-s3 Makefile distinfo

devel/aws-c-s3: Update to 0.13.5

ChangeLog: https://github.com/awslabs/aws-c-s3/releases/tag/v0.13.5
DeltaFile
+3-3devel/aws-c-s3/distinfo
+1-1devel/aws-c-s3/Makefile
+4-42 files

FreeBSD/ports cd6f827audio Makefile, audio/sdl3_mixer distinfo pkg-descr

audio/sdl3_mixer: New port, add sdl3_mixer 3.2.4 to tree

Audio management library providing decoding of many popular audio file
formats, mixing, various DSP processing effects and positional audio.
Audio data can be preloaded, or streamed on-the-fly into the mixer.
SDL3_mixer supports multiple audio devices, and can mix to a memory
buffer instead of feeding audio hardware in real time.
DeltaFile
+36-0audio/sdl3_mixer/Makefile
+22-0audio/sdl3_mixer/pkg-plist
+5-0audio/sdl3_mixer/pkg-descr
+3-0audio/sdl3_mixer/distinfo
+1-0audio/Makefile
+67-05 files

FreeBSD/ports 715374faudio/libresidfp pkg-plist Makefile

audio/libresidfp: Update to 1.2.1

Changelog:
https://github.com/libsidplayfp/libresidfp/releases/tag/v1.2.1
DeltaFile
+3-3audio/libresidfp/distinfo
+3-2audio/libresidfp/Makefile
+1-1audio/libresidfp/pkg-plist
+7-63 files

FreeBSD/src af3f2ddshare/man/man4 aq.4, sys/dev/aq aq_hw.h aq_fw.h

aq(4): report link transitions and previously silent failures

A link flap left nothing in the log to work from.  Both the link up and
link down messages were gated on bootverbose while the message for a
speed change that keeps carrier was not, so a default kernel was silent
about a flap yet loud about a downshift -- the inverse of what an
operator wants.  The generic message from if_link_state_change() carries
no speed, so gating the driver's own left the negotiated rate
unrecorded.  Report both transitions unconditionally.

Say more than the rate.  aq_hw_get_link_state() already negotiates flow
control and throws it away, and Atlantic 2 reports duplex and EEE in the
same link status word the rate comes from; decode them through a new
get_link_info firmware op and name all of it on the up transition.  EEE
matters for a flap: low power idle transitions are a common source of
marginal link trouble on multi-gigabit copper, and whether it was active
is otherwise invisible.

Give the down transition a cause.  The PHY global fault code was only

    [73 lines not shown]
DeltaFile
+114-9sys/dev/aq/aq_irq.c
+83-14sys/dev/aq/aq_main.c
+66-0sys/dev/aq/aq2_fw.c
+30-1share/man/man4/aq.4
+9-0sys/dev/aq/aq_fw.h
+6-0sys/dev/aq/aq_hw.h
+308-242 files not shown
+311-248 files

FreeBSD/ports c31be4enet/rustconn Makefile distinfo

net/rustconn: Update to 0.19.18

ChangeLog:

- https://github.com/totoshko88/RustConn/releases/tag/v0.19.17
- https://github.com/totoshko88/RustConn/releases/tag/v0.19.18

Reported by:    "github-actions[bot]" <notifications at github.com>
DeltaFile
+3-3net/rustconn/distinfo
+1-1net/rustconn/Makefile
+4-42 files

FreeBSD/src d38b3a5lib/libpmc libpmc_pmu_util.c, lib/libpmc/pmu-events jevents.c

libpmc: Fix AMD L3 counter parameter parsing

Fix two small bugs affecting the event parsing of AMD L3 counters.
AMD's manual and JSON disagree about the naming scheme on recent
processors.  I use the naming scheme present in the recent PPRs to be
consistent, so in the JSON parser we rename 'allslices' to 'allsources'
just as we already do with sliceid and sourceid.  Also ensure that we
parse the 0x prefix present in the newer JSON files.

Reviewed by:    mhorne
Sponsored by:   Netflix
MFC after:      1 week
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2180
DeltaFile
+8-1lib/libpmc/pmu-events/jevents.c
+4-4lib/libpmc/libpmc_pmu_util.c
+12-52 files

FreeBSD/ports af4b074security/certmonger Makefile

security/certmonger: convert OpenLDAP dependency to USES=ldap

Replace hardcoded libldap.so:net/openldap26-client in LIB_DEPENDS
with USES=ldap, letting the framework handle version selection.

PR:             ports/297400
Approved by:    maintainer (crees)
DeltaFile
+1-2security/certmonger/Makefile
+1-21 files

FreeBSD/ports aae1170security/py-passlib Makefile, security/py-passlib/files patch-bcrypt.py

security/py-passlib: unbreak with bcrypt 5

PR:             293464
Reported by:    Thomas Kurschel
Obtained from:  https://github.com/ansible/ansible/issues/85919

While here actually add dependency on py-bcrypt
DeltaFile
+55-0security/py-passlib/files/patch-bcrypt.py
+2-1security/py-passlib/Makefile
+57-12 files

FreeBSD/src 0343ab8sys/sys videoio.h

video: disable the static assertions for now

The previous version of this work included the definitions but
not the static asserts.  It's tripping up in some CI builds, likely
due to compat API building.

Since this isn't any more or less broken than before, disable the
static assertions until we figure out a proper path for this.

Fixes: 9c9428825f4c55e3cb37412c661bb9d385db4c68 (video: add generic video(4) capture framework)
DeltaFile
+6-0sys/sys/videoio.h
+6-01 files