HardenedBSD/src 5a59ef8sys/dev/iommu iommu_gas.c, sys/kern kern_procctl.c

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+64-85sys/kern/kern_procctl.c
+1-1sys/dev/iommu/iommu_gas.c
+65-862 files

HardenedBSD/src fe90ad2sys/kern kern_procctl.c

procctl(PROC_REAP_KILL): align error reporting with pgkill(2)

(cherry picked from commit 5c8af592f69a31da94c45722dcd74afcf0ab375e)
DeltaFile
+5-1sys/kern/kern_procctl.c
+5-11 files

HardenedBSD/src cf64824sys/kern kern_procctl.c

reap_kill_subtree_once(): reap_kill_proc_work() might drop proctree_lock

(cherry picked from commit 0e67c3f675eab3a9c00b76e3886ace7700ef1bd4)
DeltaFile
+8-3sys/kern/kern_procctl.c
+8-31 files

HardenedBSD/src 08f95c4sys/kern kern_procctl.c

procctl(PROC_REAP_KILL): use pgrp pg_killsx sx to sync with fork

PR:     290844

(cherry picked from commit be140717a0a4bbfa7176d334c36364d34a0b1bc5)
DeltaFile
+54-84sys/kern/kern_procctl.c
+54-841 files

HardenedBSD/src e0dbeabsys/dev/iommu iommu_gas.c

iommu_gas: Fix assertion.

(cherry picked from commit 7e8284c6ad95bb7a0fc84d4d945ee98737efdd36)
DeltaFile
+1-1sys/dev/iommu/iommu_gas.c
+1-11 files

HardenedBSD/src 565a233sys/dev/e1000 if_em.c, usr.sbin/freebsd-update freebsd-update.sh

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+2-2sys/dev/e1000/if_em.c
+4-0usr.sbin/freebsd-update/freebsd-update.sh
+6-22 files

HardenedBSD/src b24dc84sys/dev/e1000 if_em.c

e1000: Increase FC pause/refresh time on PCH2 and newer

This corresponds to Linux f74dc880098b4a29f76d756b888fb31d81ad9a0c

That commit does not provide any public background detail, but it's been
in use for over 5 years and corresponds to previous chip bugs w.r.t.
automatic generation of PAUSE frames.

Reviewed by:    kgalazka
Differential Revision:  https://reviews.freebsd.org/D54555

(cherry picked from commit 2bdec2ee73be7dbafce9982b0dc5c273918a5443)
DeltaFile
+2-2sys/dev/e1000/if_em.c
+2-21 files

HardenedBSD/src 178d0b5lib/libpmc/pmu-events/arch/x86/amdzen6 floating-point.json load-store.json

libpmc: Import AMD Zen 6 PMU events.

Sponsored by: Netflix

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2049
DeltaFile
+1,106-0lib/libpmc/pmu-events/arch/x86/amdzen6/floating-point.json
+523-0lib/libpmc/pmu-events/arch/x86/amdzen6/load-store.json
+339-0lib/libpmc/pmu-events/arch/x86/amdzen6/recommended.json
+326-0lib/libpmc/pmu-events/arch/x86/amdzen6/l2-cache.json
+192-0lib/libpmc/pmu-events/arch/x86/amdzen6/execution.json
+177-0lib/libpmc/pmu-events/arch/x86/amdzen6/l3-cache.json
+2,663-06 files not shown
+3,217-112 files

HardenedBSD/src 3ce3e89lib/libpmc/pmu-events/arch/x86/amdzen1 recommended.json, lib/libpmc/pmu-events/arch/x86/amdzen2 recommended.json

libpmc: Update event definitions for AMD Zen

The pmu event definitions for AMD Zen 5 was updated since it was
imported into the tree.  As a bonus I also updated the recommended json
counters for Zen 1-3 even though we do not use that file yet.

Sponsored by: Netflix

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2048
DeltaFile
+3-3lib/libpmc/pmu-events/arch/x86/amdzen5/load-store.json
+2-1lib/libpmc/pmu-events/arch/x86/amdzen1/recommended.json
+2-1lib/libpmc/pmu-events/arch/x86/amdzen2/recommended.json
+2-1lib/libpmc/pmu-events/arch/x86/amdzen3/recommended.json
+9-64 files

HardenedBSD/src e51ef8alib/libpmc libpmc.c, sys/dev/hwpmc hwpmc_ibs.c hwpmc_ibs.h

hwpmc: Initial support for AMD IBS

This patch adds support for AMD IBS.  It adds a new class of performance
counter that cotains two events: ibs-fetch and ibs-op events. Unlike
most existing sampled events, IBS events provide a number of values
containing extra information regarding the sample.  To support this we
use the existing callchain event, and introduce a new flag for multipart
payloads.  The first 8 bytes of the pc_sample contains a header that
defines up to four payloads.

Sponsored by: Netflix

Reviewed by: imp,mhorne
Pull Request: https://github.com/freebsd/freebsd-src/pull/2022
DeltaFile
+614-0sys/dev/hwpmc/hwpmc_ibs.c
+176-0sys/dev/hwpmc/hwpmc_ibs.h
+98-1usr.sbin/pmcstat/pmcstat_log.c
+84-12sys/dev/hwpmc/hwpmc_mod.c
+57-7lib/libpmc/libpmc.c
+23-4sys/x86/x86/local_apic.c
+1,052-248 files not shown
+1,130-3214 files

HardenedBSD/src 00c0a1flib/libpmc libpmc_pmu_util.c, lib/libpmc/pmu-events jevents.c json.c

hwpmc: Fix PMC flags for AMD Zen cores

The PMC flags available for DF and L3 counters were not all implemented.
More importantly, the field encodings for the L3 counters changed in an
incompatible way between Family 17h and Family 19h.  Similarly, the
field encodings for the DF coutners changed between Family 19h and 1Ah.
I also added the precise retire flag for the 3rd core counter.

Lastly, I added a warning in the jevent parser because ignoring the
unknown fields results in counters incorrectly programmed.  We should
not just ignore that.

Sponsored by: Netflix

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2040
DeltaFile
+67-26sys/dev/hwpmc/hwpmc_amd.h
+66-5lib/libpmc/libpmc_pmu_util.c
+39-1lib/libpmc/pmu-events/jevents.c
+17-2sys/dev/hwpmc/hwpmc_amd.c
+14-0lib/libpmc/pmu-events/json.c
+1-0lib/libpmc/pmu-events/json.h
+204-346 files

HardenedBSD/src 82069fasys/netlink netlink_snl_route_parsers.h

snl: Remove duplicate rta_expires member in route parser

There is no user for `rta_expires` member and it's
duplicate of `rta_expire`.

Reviewed By: melifaro
Differential Revision: https://reviews.freebsd.org/D55445
DeltaFile
+0-1sys/netlink/netlink_snl_route_parsers.h
+0-11 files

HardenedBSD/src d37214dusr.sbin/freebsd-update freebsd-update.sh

freebsd-update: Error for -b basedir without UNAME_r set

freebsd-update sets the currently running release from UNAME -r, which
can be overridden via the --currently-running commandline option (or by
setting UNAME_r in the environment).  This may be invalid if -b is used
to specify a basedir other than /, so error out if -b is specified
without setting the currently running version.

PR:             283229
Reviewed by:    cperciva
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D48016

(cherry picked from commit 097458ac665db732cc91a22279da4cc14f694da2)
DeltaFile
+4-0usr.sbin/freebsd-update/freebsd-update.sh
+4-01 files

HardenedBSD/src 1f2f5ebsys/x86/conf NOTES

asmc(4): pull 32-bit support for the driver

The asmc(4) driver should work for 32-bit Intel-based Macs, in theory, if
the model details were added to the detection list. That being said,
32-bit Intel Macs were only released and available to the general public
for 8 months [1], so the value in maintaining i386 support in the driver is
reduced due to limited hardware access.

Remove 32-bit support for the driver officially to make it clear its use is
not supported.

This should fix building `NOTES.i386` by proxy as well.

Relnotes:       yes
MFC after:      2 weeks
Fixes:          f224591746b ("Add ASMC_DEBUG make option")
Fixes:          8342d9f7b5f ("asmc(4): Stop building it on i386, as...")
Differential Revision:  https://reviews.freebsd.org/D55544
DeltaFile
+0-2sys/x86/conf/NOTES
+0-21 files

HardenedBSD/src 960409drelease/tools vmimage.subr

vmimage.subr: skip -dbg sets for WITHOUT_DEBUG_FILES/WITHOUT_KERNEL_SYMBOLS

This matches non-pkgbase behavior as installworld/installkernel skip the
debug bits if these knobs are set.

MFC after:      1 week
Sponsored by:   Chelsio Communications
Reviewed by:    cperciva
Differential Revision:  https://reviews.freebsd.org/D55572
DeltaFile
+5-5release/tools/vmimage.subr
+5-51 files

HardenedBSD/src 9d769e9sys/net if_gre.c

Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/cross-dso-cfi
DeltaFile
+12-4sys/net/if_gre.c
+12-41 files

HardenedBSD/src c3e0ed8sys/net if_gre.c

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+12-4sys/net/if_gre.c
+12-41 files

HardenedBSD/src afbfc2asys/net if_gre.c

gre: unbreak LINT-NOINET

- Move some of the braces under their respective conditionals to make the
statements more self-encapsulated and only define the `aliasreq` union
in the event either INET or INET6 is defined.

- Fix a copy-paste error: `in_gre_ioctl` should be `in6_gre_ioctl` in the
  INET6 case.

Reported by:    tinderbox
Fixes:          e1e18cc12e68 ("if_gre: Add netlink support with tests")
Differential Revision: https://reviews.freebsd.org/D55546
DeltaFile
+12-4sys/net/if_gre.c
+12-41 files

HardenedBSD/src 44e3c0esys/conf files, sys/dev/acpica acpivar.h

Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/cross-dso-cfi
DeltaFile
+75-0sys/dev/xen/acpi/xen-acpi.c
+20-1sys/netinet/sctp_syscalls.c
+13-0sys/dev/acpica/Osd/OsdHardware.c
+13-0sys/dev/acpica/acpivar.h
+2-1sys/dev/dpaa2/dpaa2_buf.c
+1-0sys/conf/files
+124-26 files

HardenedBSD/src 6444461sys/conf files, sys/dev/acpica acpivar.h

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+75-0sys/dev/xen/acpi/xen-acpi.c
+20-1sys/netinet/sctp_syscalls.c
+13-0sys/dev/acpica/Osd/OsdHardware.c
+13-0sys/dev/acpica/acpivar.h
+2-1sys/dev/dpaa2/dpaa2_buf.c
+1-0sys/conf/files
+124-26 files

HardenedBSD/src 63a1c24contrib/ofed/libbnxtre verbs.c, sys/dev/bnxt/bnxt_re ib_verbs.c qplib_fp.c

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+162-78sys/dev/bnxt/bnxt_re/ib_verbs.c
+89-26sys/dev/bnxt/bnxt_re/qplib_fp.c
+52-27sys/dev/bnxt/bnxt_re/main.c
+25-23sys/dev/bnxt/bnxt_re/qplib_sp.c
+34-10contrib/ofed/libbnxtre/verbs.c
+25-0sys/dev/bnxt/bnxt_re/ib_verbs.h
+387-16425 files not shown
+528-19131 files

HardenedBSD/src 6032b83share/mk src.libnames.mk, usr.bin/ofed/libibverbs Makefile.inc

librdmacm/libibverbs: Add bnxtre RDMA provider to OFED build infrastructure

Extend the FreeBSD OFED build framework to include the Broadcom bnxtre RDMA
provider library.

This change:

 -Registers libbnxtre in src.libnames.mk so it is built and installed as part
  of the OFED libraries.
 -Adds bnxtre to the OFED pcap dependency set when MK_OFED is enabled.
 -Declares proper dependency mappings for bnxtre (ibverbs, pthread).
 -Introduces LIBBNXTREDIR for consistent object directory handling.
 -Updates libibverbs and librdmacm build rules to link against libbnxtre,
  enabling Broadcom RoCE device support at runtime.
 -libbnxtre library uses below constructor to register with the libibverbs,
  static attribute((constructor)) void bnxt_re_register_driver(void)

These updates ensure that applications using libibverbs and librdmacm can
discover and use Broadcom bnxt RDMA devices on FreeBSD.

    [6 lines not shown]
DeltaFile
+5-2share/mk/src.libnames.mk
+1-1usr.bin/ofed/librdmacm/Makefile.inc
+1-1usr.bin/ofed/libibverbs/Makefile.inc
+7-43 files

HardenedBSD/src cb28521lib/ofed Makefile

ofed: Define SUBDIR_DEPEND_libbnxtre

Fixes:  b42fda6be3fd ("share/mk: Include libbnxtre entry in bsd.libnames.mk")
(cherry picked from commit 962ad7c1984decda1f16b079cd09ca9310e7f7ce)
DeltaFile
+1-0lib/ofed/Makefile
+1-01 files

HardenedBSD/src 4243e2e. Makefile.inc1

Makefile.inc1: Fix the libbnxtre dependency target

Reported by:    Jenkins
Fixes:          73e8fe62466a ("libpcap: Fix dependency definitions for libpcap")

(cherry picked from commit e19230d49ffc02944d93645800da934b7aeee078)
DeltaFile
+1-1Makefile.inc1
+1-11 files

HardenedBSD/src c5b8c66. Makefile.inc1, lib/libpcap Makefile

libpcap: Fix dependency definitions for libpcap

Commit 35dd53a9e132 ("librdmacm/libibverbs: Statically bound libbnxtre.so.1 to rping")
causes a build failure, since src.libnames.mk declares a depencency on
libbnxtre.so, but the libpcap Makefile and prebuild lib dependencies
were not updated accordingly.  Fix the declarations.

Fixes:  35dd53a9e132 ("librdmacm/libibverbs: Statically bound libbnxtre.so.1 to rping")
Reviewed by:    ssaxena
Differential Revision:  https://reviews.freebsd.org/D54048

(cherry picked from commit 73e8fe62466a8ae5576473d9be4c6df9a6eedab0)
DeltaFile
+2-0Makefile.inc1
+1-0lib/libpcap/Makefile
+3-02 files

HardenedBSD/src d7d5ddblib/ofed Makefile, share/mk bsd.libnames.mk

share/mk: Include libbnxtre entry in bsd.libnames.mk

Add libbnxtre entry in bsd.libnames.mk file.

MFC-After:      3 days
Reviewed-by:    sumit.saxena at broadcom.com
Differential-Revision: https://reviews.freebsd.org/D49603
(cherry picked from commit b42fda6be3fde001cdbe1623cc89b1dc9faf1b93)
DeltaFile
+1-0share/mk/bsd.libnames.mk
+1-0lib/ofed/Makefile
+2-02 files

HardenedBSD/src b7c7290sys/dev/bnxt/bnxt_en bnxt_hwrm.c if_bnxt.c, sys/dev/bnxt/bnxt_re ib_verbs.c ib_verbs.h

bnxt_re: Fix active_speed value when two ports are aggregated

Currently driver is not considering the active_lanes while
displaying the speed & width of port and hence it showing
invalid active_speed and active_width values in the ibv_devinfo
command output when two ports are aggregated at hardware level.
Fixed the driver to consider the active_lanes while determining
the active_speed & active_width values.

Reviewed by: ssaxena
Differential Revision: https://reviews.freebsd.org/D54523
MFC after: 3 days

(cherry picked from commit b7d6334df61a559e98191f90fd5e611e0d077def)
DeltaFile
+79-29sys/dev/bnxt/bnxt_re/ib_verbs.c
+12-0sys/dev/bnxt/bnxt_re/ib_verbs.h
+6-2sys/dev/bnxt/bnxt_en/bnxt_hwrm.c
+3-1sys/dev/bnxt/bnxt_en/if_bnxt.c
+2-0sys/dev/bnxt/bnxt_en/bnxt.h
+1-0sys/dev/bnxt/bnxt_re/bnxt_re.h
+103-322 files not shown
+105-328 files

HardenedBSD/src 39d9a9csys/dev/bnxt/bnxt_en if_bnxt.c bnxt.h, sys/dev/bnxt/bnxt_re qplib_sp.c qplib_res.h

bnxt_en/re: Use FW defined resource limit for RoCE

Check FW flags for status of Resource Limits. If bit
FUNC_QCAPS_RESP_FLAGS_EXT2_SW_MAX_RESOURCE_LIMITS_SUPPORTED
is set, that means FW set the resource limit for L2 and RoCE.
We'll then do the following:

L2 driver would allocate context memory based on what FW reported.
RoCE driver uses FW reported values without capping. These values
are the total FW reported value minus L2 and other components shares.

For example:

FW reported max_qps = 137217 in L2 query, this includes:
5120 for L2
1025 for QP1
131072 for RoCE
L2 will allocate backing store memory for the total.
In RoCE query, we'll get max_qp = 131072 and use it

    [7 lines not shown]
DeltaFile
+17-14sys/dev/bnxt/bnxt_re/qplib_sp.c
+7-2sys/dev/bnxt/bnxt_en/if_bnxt.c
+7-0sys/dev/bnxt/bnxt_re/qplib_res.h
+4-0sys/dev/bnxt/bnxt_en/bnxt.h
+3-0sys/dev/bnxt/bnxt_en/bnxt_hwrm.c
+2-0sys/dev/bnxt/bnxt_en/bnxt_ulp.h
+40-161 files not shown
+42-167 files

HardenedBSD/src bc9dad9contrib/ofed/libbnxtre verbs.c, sys/dev/bnxt/bnxt_re ib_verbs.c qplib_fp.c

bnxt_re/libbnxtre: Add support for Variable WQE on BCM576xx controllers

Variable size WQE means that each send Work Queue Entry to
HW can use different WQE sizes as opposed to the static WQE
size on the current devices. Set variable WQE mode for BCM576xx
devices. Depth of the Queue will be a multiple of slot which
is 16 bytes. The number of slots should be a multiple of 256
as per the HW requirement.
Initialize the Software shadow queue to hold requests equal to
the number of slots.

Reviewed by: ssaxena
Differential Revision: https://reviews.freebsd.org/D54525
MFC after: 3 days

(cherry picked from commit 823f158a01330484f83f69c31d695035c607f8ee)
DeltaFile
+76-45sys/dev/bnxt/bnxt_re/ib_verbs.c
+59-15sys/dev/bnxt/bnxt_re/qplib_fp.c
+23-8contrib/ofed/libbnxtre/verbs.c
+9-11sys/dev/bnxt/bnxt_re/main.c
+7-9sys/dev/bnxt/bnxt_re/qplib_sp.c
+8-4sys/dev/bnxt/bnxt_re/bnxt_re-abi.h
+182-927 files not shown
+226-9613 files

HardenedBSD/src e680396sys/dev/bnxt/bnxt_en if_bnxt.c bnxt_ulp.h, sys/dev/bnxt/bnxt_re main.c

bnxt_re: Add support to display board_id in ibv_devinfo output

Added support to display board_id in ibv_devinfo output.
ibv_devinfo util reads the board_id from below sysctl
attribute, so added this sysctl attribute.

sys.class.infiniband.bnxt_reX.board_id

Reviewed by: ssaxena
Differential Revision: https://reviews.freebsd.org/D54524
MFC after: 3 days

(cherry picked from commit 3a9565c2a8e4f1b3da698bf6a8af5889dc4fefbd)
DeltaFile
+20-1sys/dev/bnxt/bnxt_re/main.c
+7-0sys/dev/bnxt/bnxt_en/if_bnxt.c
+2-0sys/dev/bnxt/bnxt_en/bnxt_ulp.h
+1-0sys/dev/bnxt/bnxt_en/bnxt.h
+1-0sys/dev/bnxt/bnxt_en/bnxt_ulp.c
+31-15 files