hwpmc: fix false callchain assertion on the PMC_UR ring
pmc_capture_user_callchain() asserts that TDP_CALLCHAIN is set on the
current thread, but PMC_UR samples never set that flag -- only PMC_HR
and PMC_SR do. That makes the assertion always fail for PMC_UR,
panicking INVARIANTS kernels as soon as pmcstat -U is used.
Skip the assertion for PMC_UR. No functional change on kernels built
without INVARIANTS.
Signed-off-by: Andre Silva <andasilv at amd.com>
Reviewed by: mhorne
MFC after: 1 week
Sponsored by: AMD
Differential Revision: https://reviews.freebsd.org/D58572
hwpmc: fix false runcount assertion in user callchain capture
pmc_capture_user_callchain() checks a PMC's runcount before walking
the user stack, but reads it without holding the spinlock that
protects it. hardclock() can run on the same CPU during the capture
and drop the runcount to zero in between, tripping the assertion and
panicking INVARIANTS kernels under load.
Move the check inside the existing spinlock, right where the code
already confirms the sample is still valid. No functional change on
kernels built without INVARIANTS.
Signed-off-by: Andre Silva <andasilv at amd.com>
Reviewed by: mhorne
MFC after: 1 week
Sponsored by: AMD
Differential Revision: https://reviews.freebsd.org/D58571
Reject unsafe package names from ports metadata
PKGNAME is used to construct host-side package staging paths. A port
can supply traversal components and cause those paths to escape the
staging directory.
Validate package names when reading port metadata and before a build
worker uses one. This prevents path separators and dot traversal
components from reaching host filesystem operations.
e1000: Disable autonomous PCH power gating after reset
Panther Point changed the reset value of CTRL_EXT.DPG_EN to enable
autonomous power gating. Clear it after hardware reset on Panther Point
and Nova Point controllers to prevent unexpected Tx/Rx hangs, packet
loss, or corruption.
MFC after: 1 week
ice(4): Add support for E835 CNSA 2.0 adapters
Added support for E835 adapters with post-quantum cryptographic (PQC)
algorithms in firmware/software signage and in SPDM attestation.
Signed-off-by: Pawel Sobczyk <pawel.sobczyk at intel.com>
Reviewed by: Miłosz Linkiewicz <milosz.linkiewicz at intel.com>
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D57868
multimedia/vlc: allow MFX (intel-media-decoder) only on i386/amd64 (+)
Intel Media Decoded is limited to i386/amd64 due to only Intel GPUs on x86 are supported
sysutils/screen-devel: Switch to my GH repo
Fetching git hashes from savannah no longer works (though fetching
versioned snapshots still does). As such we must proxy through my
github account.
mail/nmh-devel: Switch to my GH repo
Fetching git hashes from savannah no longer works (though fetching
versioned snapshots still does). As such we must proxy through my
github account.
SYSINIT: add SI_SUB_NUMA
This allows to parse ACPI tables and initialize VM domains before
SI_SUB_VM w/o a hack.
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D58713
multimedia/vlc: Update to 3.0.23
- Allow to build with Qt 6 (experimental). Add general QT option and
QT5/QT6 radio switch.
- Enable FRIBIDI by default (required by HARFBUZZ).
- Remove DEBUG from OPTIONS, respect WITH_DEBUG instead.
- Do not silence commands.
Release notes: https://code.videolan.org/videolan/vlc/-/tags/3.0.23
PR: 296939
Co-authored-by: Max Brazhnikov <makc at FreeBSD.org>
SYSINIT: add SI_SUB_FIRST
This allows to initialize mp_maxid, mp_ncpus and register APICs at the
most early stage, guaranteeing that those values will already be available
at SI_SUB_TUNABLES.
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D58712
SYSINIT: add explicit SI_ORDER_LAST
Working on cleansing use of (SI_SUB_FOO + 1) construct through the kernel
I found a repeating pattern. Often a developer adds a module that depends
on certain subsystem to be fully instantiated and they want to put their
module SYSINIT right at the end of the SI_SUB_FOO. Such module usually
expects that nothing else within this subsystem shall depend on the
module.
The problem with SI_ORDER_ANY which practically was "the last" until this
change is that it is used very widely and people treat it literally as
"any", well, because this is what the name says. This lead to many parts
that could have dependencies later to be added as SI_ORDER_ANY.
So, our developer with the new subsystem that depends on SI_SUB_FOO has
three options:
1) Use SI_ORDER_ANY, but grep around ther kernel for other SI_SUB_FOO
entries to make sure that no dependencies are set to SI_ORDER_ANY. And in
[16 lines not shown]
bhyve: namescope virtio_msix to virtio.msix
The bhyve_config(5) variable `virtio_msix` is namescoped to
`virtio.msix`. Configurations that have the old variable will
automatically be mapped to the new one, with a warning message printed
out.
Relnotes: yes
Reviewed by: ziaee, markj
Differential Revision: https://reviews.freebsd.org/D58390
vm_object: Augment an assertion in vm_object_split()
In some private discussion it was pointed out that vm_object_split()'s
pattern of dropping the source object lock looks dangerous in that the
initial assumption that OBJ_ONEMAPPING is set may become false. In
practice I believe that the map lock holds this flag stable, but let's
assert that.
Reviewed by: alc, kib
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D58766
deskutils/kdeconnect-kde: backport upstream patch
to fix incompatibility between KDE Connect < 26.08 and Solid >= 6.26
(cherry picked from commit 62c72762f46054ad826c881fbd5b8f568445e1af)