Broadcom tester's were able to trigger a KASSERT in rack due to an accounting issue.
The recently added code to rack to help minimize reordering issues had a KASSERT for protection of its counting field. This
was consistently. Triggered in broadcom's testing lab. They came up with a partial solution.. but one of their fixes was
also incorrect causing the counter to increase incorrectly as well. I worked with them to give them an updated patch (the one
attached in this review). They have tested that in their same repro environment and confirm this fixes the issue.
Reviewed by:tuexen, nickbanks_netflix.com
Differential Revision: <https://reviews.freebsd.org/D61136>
security/netbird: Update 0.81.5 => 0.82.0
This release removes MySQL store and deprecates Rosenpass,
please see pkg-message or the changelog for more details.
Changelog:
https://github.com/netbirdio/netbird/releases/tag/v0.82.0
PR: 300474
Approved by: osa, vvd (mentors, implicit)
MFH: 2026Q4
hwpmc/amd: prime UMC perfmon block before programming counter registers
UMC counter register writes do not take effect while no counter in the
channel is enabled. Reserve the last counter slot of each UMC channel
and keep it enabled with EventSelect=0 so writes to the remaining slots
take effect. Reserved slots are not exposed to MI code.
UMC perfmon MSRs are package-scoped. A per-socket reference count arms
the reserved slots on the first amd_pcpu_init() for a socket and
disarms them on the last amd_pcpu_fini().
Reviewed by: mhorne
Sponsored by: AMD
Signed-off-by: Osvaldo Janeri Filho <ojanerif at amd.com>
Pull Request: https://github.com/freebsd/freebsd-src/pull/2422
riscv: Map the DTB when it is outside the kernel's 1GB region
When the kernel is started directly by SBI firmware, locore.S maps only
the 1GB region that contains the kernel, and initriscv() reads the DTB
through that mapping at the physical address passed in a1. If the
firmware put the DTB in another 1GB region, as QEMU does with more than
1GB of RAM, fake_preload_metadata() faults before the console is up and
the kernel hangs.
Also map the 1GB region that contains the DTB.
This fixes direct kernel booting without FreeBSD loader(8).
PR: 299088
Reviewed by: mhorne
Fixes: bfb857546984 ("riscv: Construct an identity map in locore.S")
MFC after: 1 week
Signed-off-by: Rick Richard <rick at sloservers.com>
(cherry picked from commit 509d65fae512c24fc755d6a8b3b41bb967e6c5e1)
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
(cherry picked from commit d38b3a5ead0d3507080da5321144219b13d43aa9)
libpmc/pmu-events: Add support for new json fields
This change adds support for three new Intel fields to jevents.c:
- MetricThreshold
- MetricgroupNoGroup
- DefaultMetricgroupName
Reviewed by: ali_mashtizadeh.com, mhorne
Differential Revision: https://reviews.freebsd.org/D56017
MFC after: 1 week
(cherry picked from commit 6ad94d549eb2286d791abd5634400d8ef36d8259)
libpmc: Explicitly whitelist json fields
Adds all missing Intel fields and turns jevents.c into an explicit white
list mechanism so that we no longer ignore important fields that often
invalidate the counter. The json event parser must now parse every
field on each architecture that we support. This has been tested by
running tinderbox and manually running jevent against our current json
repository. As a bonus I fixed spelling errors in the AMD JSON
definitions.
Sponsored by: Netflix
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2055
(cherry picked from commit bfb2fd5f66183454cfe8771595df09c0f23c7efb)
www/{nginx,nginx-devel,freenginx}: 3rd-party modules management
Chase the vod module update, which these ports build in themselves.
Sponsored by: Netzkommune GmbH
www/freenginx: Remove stale subs_filter plist entry
The option went away with the module, the packing list kept its line.
Fixes: 445f9e590a9e ("www/{nginx,nginx-devel,freenginx}: 3rd-party modules management")
Sponsored by: Netzkommune GmbH
net-mgmt/semaphore: Update to 2.19.18
Adds SEMAPHORE_SESSION_INACTIVITY_HOURS, which expires a login session
that stayed unused for that many hours.
Changelog:
https://github.com/semaphoreui/semaphore/releases/tag/v2.19.18
Sponsored by: Netzkommune GmbH
deskutils/vit: Update to 2.3.5
Keeps the command input when quote validation fails, defers the terminal
setup until after the screen is cleared and takes calc_width from the
public urwid API. Packaging now covers Python 3.11 through 3.15.
Changelog:
https://github.com/vit-project/vit/releases/tag/v2.3.5
Sponsored by: Netzkommune GmbH
hastd: Add full lifecycle test
Add a test case that creates and starts two nodes, has one assume the
primary role and the other the secondary role, writes to the device,
verifies that the data is synced to both nodes, then switches the roles,
and finally shuts both nodes down and compares their backing stores.
Differential Revision: https://reviews.freebsd.org/D59676
hastd: Allow overriding the node name
Normally, hastd will use the hostname, hostuuid, or hostid as node name.
Allow overriding this with a new -n command-line option. The argument
is treated as a replacement for the hostname, but also disables the
hostuuid and hostid logic. This allows running multiple nodes on the
same system, which is useful for testing.
Differential Revision: https://reviews.freebsd.org/D59675