Commit Graph

24073 Commits

Author SHA1 Message Date
Kyle Evans 1e8c28712a jail: document the mac.label parameter
In particular, we should provide a hint about mac.conf(5), since libjail
will just use the mac_prepare_type(3) API to provide a reasonably sane
interface for system administrators.  Progammers wanting to fetch an
arbitrary MAC label would need to bypass libjail and use jail_get(2)
directly with their own prepared `struct mac`.

Differential Revision:	https://reviews.freebsd.org/D54067
2026-01-15 18:23:40 -06:00
Kyle Evans 8254b0dec0 kern: mac: add various jail MAC hooks
This adds the following hooks:
 - mpo_prison_check_attach: check for subject capability to attach to
    a given jail
 - mpo_prison_check_create: check for subject capability to create a
    jail with the given option set
 - mpo_prison_check_get: check for subject capability to fetch the
    given parameters for a jail
 - mpo_prison_check_set: check for subject capability to set the
    given parameters for a jail
 - mpo_prison_check_remove: check for subject capability to remove the
    jail

check_get wouldn't typically be a privileged operation, but is included
to give MAC policies a wider range of capabilities at a relatively low
cost.  We also add two more for the purpose of label propagation:
 - mpo_prison_created: surface the creation of a jail so that one can
    do propagation to, e.g., the root vnode or any mounts
 - mpo_prison_attached: attach an existing process to the jail so that
    one can propagate the jail label to the process, as appropriate.

It is unclear if this is preferred vs. having separate associate entry
points for each type of object we might associate.  That would split
these up like so:

 - prison_created -> prison_associate_vnode
 - prison_attached -> prison_associate_proc

Some sample policy ideas that should be feasible to implement with this
set of hooks, in case it's inspiring:
 - mac_bomb: policy that allows a poudriere user to construct jails
    without root privilege, given a restricted set of jail parameters.
    Slap a warning label on it.
 - mac_capsule: policy that realizes the capsule idea that I pitched[0]
    on -jail@ to create jails that are effectively immutable once
    sealed, using these hooks and a label.

Perhaps a silly idea, but a downstream could consider a scenario where
it can implement special jail enumeration using a MAC policy and a
cooperating application that specifies non-parameter options to filter
the results.

[0] https://lists.freebsd.org/archives/freebsd-jail/2025-September/000550.html

Reviewed by:	olce (slightly earlier version)
Differential Revision:	https://reviews.freebsd.org/D53954
2026-01-15 18:23:39 -06:00
Johan Söllvander 5d844f004f committers-src: add myself (js@) with asomers as mentor
Reviewed by:	asomers
Approved by:	asomers (mentor)
Differential Revision:	https://reviews.freebsd.org/D54715
2026-01-15 09:05:45 +01:00
Jonathan T. Looney 9c4a41d33b mca(4): Add man page
Reviewed by:	markj
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D54115
2026-01-14 16:26:45 +00:00
Konstantin Belousov 6f41575a94 tuning.7: wording fixes
Submitted by:	markj
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D54572
2026-01-14 17:38:24 +02:00
Oliver Pinter 8cd687a726 tuning.7: use the correct word for collapsing
Fixes: 457b940bfb
Signed-off-by: Oliver Pinter <oliver.pntr+freebsd@gmail.com>
MFC after:	1 week
2026-01-14 17:38:18 +02:00
Kristof Provost 8716d8c7d9 pf: configurable action on limiter exceeded
This change extends pf(4) limiters so administrator
can specify action the rule executes when limit is
reached. By default when limit is reached the limiter
overrides action specified by rule to no-match.
If administrator wants to block packet instead then
rule with limiter should be changed to:

   pass in from any to any state limiter test (block)

OK dlg@

Obtained from:	OpenBSD, sashan <sashan@openbsd.org>, 04394254d9
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2026-01-14 07:44:43 +01:00
Kristof Provost 1550fcf802 pf.conf.5: s/State Limiter/&s/ in .Ss
linked with the plural from other text, and
matches "Source Limiters. From Atanas Vladimirov.

Obtained from:	OpenBSD, sthen <sthen@openbsd.org>, d4acfc5766
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2026-01-14 07:44:43 +01:00
Kristof Provost 02126f8cb3 pf.conf.5: spelling
Obtained from:	OpenBSD, jsg <jsg@openbsd.org>, 86739c769e
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2026-01-14 07:44:41 +01:00
Kristof Provost 4616481212 pf: introduce source and state limiters
both source and state limiters can provide constraints on the number
of states that a set of rules can create, and optionally the rate
at which they are created. state limiters have a single limit, but
source limiters apply limits against a source address (or network).
the source address entries are dynamically created and destroyed,
and are also limited.

this started out because i was struggling to understand the source and
state tracking options in pf.conf, and looking at the code made it
worse. it looked like some functionality was missing, and the code also
did some things that surprised me. taking a step back from it, even it
if did work, what is described doesn't work well outside very simple
environments.

the functionality i'm talking about is most of the stuff in the
Stateful Tracking Options section of pf.conf(4).

some of the problems are illustrated one of the simplest options:
the "max number" option that limits the number of states that a
rule is allowed to create:

- wiring limits up to rules is a problem because when you load a
  new ruleset the limit is reset, allowing more states to be created
  than you intended.
- a single "rule" in pf.conf can expand to multiple rules in the
  kernel thanks to things like macro expansion for multiple ports.
  "max 1000" on a line in pf.conf could end up being many times
  that in effect.
- when a state limit on a rule is reached, the packet is dropped.
  this makes it difficult to do other things with the packet, such a
  redirect it to a tarpit or another server that replies with an
  outage notices or such.

a state limiter solves these problems. the example from the pf.conf.5
change demonstrates this:

     An example use case for a state limiter is to restrict the number of
     connections allowed to a service that is accessible via multiple
     protocols, e.g. a DNS server that can be accessed by both TCP and UDP on
     port 53, DNS-over-TLS on TCP port 853, and DNS-over-HTTPS on TCP port 443
     can be limited to 1000 concurrent connections:

           state limiter "dns-server" id 1 limit 1000

           pass in proto { tcp udp } to port domain state limiter "dns-server"
           pass in proto tcp to port { 853 443 } state limiter "dns-server"

a single limit across all these protocols can't be implemented with
per rule state limits, and any limits that were applied are reset
if the ruleset is reloaded.

the existing source-track implementation appears to be incomplete,
i could only see code for "source-track global", but not "source-track
rule". source-track global is too heavy and unweildy a hammer, and
source-track rule would suffer the same issues around rule lifetimes
and expansions that the "max number" state tracking config above has.

a slightly expanded example from the pf.conf.5 change for source limiters:

     An example use for a source limiter is the mitigation of denial of
     service caused by the exhaustion of firewall resources by network or port
     scans from outside the network.  The states created by any one scanner
     from any one source address can be limited to avoid impacting other
     sources.  Below, up to 10000 IPv4 hosts and IPv6 /64 networks from the
     external network are each limited to a maximum of 1000 connections, and
     are rate limited to creating 100 states over a 10 second interval:

           source limiter "internet" id 1 entries 10000 \
                   limit 1000 rate 100/10 \
                   inet6 mask 64

           block in on egress
           pass in quick on egress source limiter "internet"
           pass in on egress proto tcp probability 20% rdr-to $tarpit

the extra bit is if the source limiter doesn't have "space" for the
state, the rule doesn't match and you can fall through to tarpitting
20% of the tcp connections for fun.

i've been using this in anger in production for over 3 years now.

sashan@ has been poking me along (slowly) to get it in a good enough
shape for the tree for a long time. it's been one of those years.

bluhm@ says this doesnt break the regress tests.
ok sashan@

Obtained from:	OpenBSD, dlg <dlg@openbsd.org>, 8463cae72e
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2026-01-14 07:44:38 +01:00
Konstantin Belousov 457b940bfb tuning.7: add more explanation about swap (over-)accounting
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D54572
2026-01-13 16:03:14 +02:00
Pouria Mousavizadeh Tehrani 742d93da84 committers-src.dot: Fix dot file format
Reviewed by: glebius
Approved by: glebius (mentor)
Fixes: 2059040493
Differential Revision:	<https://reviews.freebsd.org/D54637>
2026-01-13 01:22:35 +03:30
Pouria Mousavizadeh Tehrani 17046bc482 committers-src: Add myself (pouria@)
Add myself (pouria@) as new src committer with glebius@ as mentor

Reviewed by: glebius
Approved by: glebius (mentor)
Differential Revision: https://reviews.freebsd.org/D54637
2026-01-13 01:17:27 +03:30
Ed Maste 3f2f3c52e6 src.conf.5: Regen after addition of MK_SOUND
A description for WITHOUT_SOUND is still missing though.
2026-01-12 14:33:15 -05:00
Christos Margiolis f74f891581 src.opts: Introduce MK_SOUND
PR:		291853
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Reviewed by:	zarychtam_plan-b.pwste.edu.pl, markj
Differential Revision:	https://reviews.freebsd.org/D54456
2026-01-12 16:16:35 +02:00
Simon J. Gerraty 9fed072b44 bsd.man.mk simplify staging
We actually only need the high level targets stage_files and stage_links
meta.stage.mk will take care of the details.
2026-01-10 18:59:20 -08:00
Simon J. Gerraty 9cd89fc5aa bsd.man.mk fix staging
The STAGE_SETS and STAGE_TARGETS need to match
STAGE_DIR.

For each STAGE_SET we have STAGE_DIR.${STAGE_SET}
and create a target stage_files.${STAGE_SET},
the settings all need to be self consistent to work.
2026-01-10 18:44:40 -08:00
Alexey Sukhoguzov f0d44ee06b nvme: Add APST payload overriding
The apst_data tunable allows APST configuration to be adjusted
during controller initialization.  It accepts an array of encoded
integers, each defining specific transition parameters.

Relnotes: YES
Signed-off-by: Alexey Sukhoguzov <sap@eseipi.net>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1444
2026-01-09 13:32:59 -07:00
Alexey Sukhoguzov a24932dcec nvme: Support Autonomous Power State Transition (APST)
APST is an optional NVMe power-saving feature that allows devices
to autonomously enter higher non-operational power states after a
certain amount of idle time, reducing the controller's overall power
consumption.

Signed-off-by: Alexey Sukhoguzov <sap@eseipi.net>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1444
2026-01-09 13:32:49 -07:00
John Hall c558eca479 smartpqi: update to version 4660.0.2002
This updates the smartpqi driver to Microchip's
latest available public release.

Reviewed by: imp
Approved by: imp

Sponsored by: Microchip Technology Inc.

Differential Revision: https://reviews.freebsd.org/D52507
2026-01-09 10:39:58 -07:00
Minsoo Choo 94d1731e73 Makefile*: remove powerpcspe
As reported on the freebsd-announce mailing list[1] FreeBSD is
continuing to retire 32-bit support.  Remove powerpcspe from build
infrastructure.

[1] https://lists.freebsd.org/archives/freebsd-announce/2024-February/000117.html

Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by:	jhibbits, emaste
Pull request:	https://github.com/freebsd/freebsd-src/pull/1914
2026-01-09 11:28:43 -05:00
Sreekanth Reddy 821c6c43a3 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.

Reviewed by: markj, ssaxena
Differential Revision: https://reviews.freebsd.org/D54368
MFC after: 3 days
2026-01-09 12:34:02 +00:00
Sumit Saxena 702b3a9a03 Revert "librdmacm/libibverbs: Statically bound libbnxtre.so.1 to rping"
The commit message has to be rewritten as it is not clear and lacks
some key details about the change.

This reverts commit 35dd53a9e1.

Reported by: jrtc27
2026-01-09 12:33:45 +00:00
Juraj Lutter a556feb997 freebsd-base.7: Fix stray -r
Remote stray "-r" from the example of installing a toolchain
to alternate root.

Reviewed by:	ivy
Differential Revision:	https://reviews.freebsd.org/D54611
2026-01-09 10:41:21 +01:00
Graham Perrin d1f93ea2e1 pkgbase.7: Show pkg upgrade to apply updates
MFC after:	3 days
Reviewed by:	ziaee
Closes:		https://github.com/freebsd/freebsd-src/pull/1945
2026-01-08 23:49:40 -05:00
Warner Losh 1a7151f796 cam: Add probes for xpt actions
cam::xpt:action(union ccb *)
cam::xpt:done((union ccb *)
cam::xpt:async-cb(void *cbarg, uint32_t async_code, struct cam_path
	*path, void *async_arg);

Called when xpt_action(), xpt_done*() and the xpt async callbacks are
called.

Sponsored by:		Netflix
Reviewed by:		adrian
Differential Revision:	https://reviews.freebsd.org/D54469
2026-01-07 23:19:10 -07:00
Andrew Gallatin 14d93f612f iflib: Drop tx lock when freeing mbufs using simple_transmit
Freeing completed transmit mbufs can be time consuming (due to them
being cold in cache, and due to ext free routines taking locks),
especially when we batch tx completions. If we do this when holding
the tx ring mutex, this can cause lock contention on the tx ring mutex
when using iflib_simple_transmit.

To resolve this, this patch opportunistically copies completed mbuf
pointers into a new array (ifsd_m_defer) so they can be freed after
dropping the transmit mutex. The ifsd_m_defer array is
opportunistically used, and may be NULL. If its NULL, then we free
mbufs in the old way. The ifsd_m_defer array is atomically nulled
when a thread is using it, and atomically restored when the freeing
thread is done with it. The use of atomics here avoids
acquire/release of the tx lock to restore the array after freeing
mbufs.

Since we're no longer always freeing mbufs inline, peeking into them to see if a
transmit used TSO or not will cause a useless cache miss, as nothing
else in the mbuf is likely to be accessed soon. To avoid that cache
miss, we encode a TSO or not TSO flag in the lower bits of the mbuf
pointer stored in the ifsd_m array. Note that the IFLIB_NO_TSO flag
exists primarily for sanity/debugging.

iflib_completed_tx_reclaim() was refactored to break out
iflib_txq_can_reclaim() and _iflib_completed_tx_reclaim()
so the that the tx routine can call iflib_tx_credits_update()
just once, rather than twice.

Note that deferred mbuf freeing is not enabled by default, and can be
enabled using the dev.$DEV.$UNIT.iflib.tx_defer_mfree sysctl.

Differential Revision: https://reviews.freebsd.org/D54356
Sponsored by: Netflix
Reviewed by: markj, kbowling, ziaee
2026-01-07 14:32:08 -05:00
Michael Osipov c2b407244f mrsas.4: Fix devid hex style 2026-01-07 09:04:14 +01:00
Andrew Gallatin 83e6f0d780 iflib: document new sysctls
Document the new tx related sysctls I've added to iflib in the
last few months:  tx_reclaim_ticks & tx_reclaim_thresh

Sponsored by: Netflix
Reviewed by: ziaee
Differential Revision: https://reviews.freebsd.org/D54564
MFC after: 3 days
2026-01-06 17:46:12 -05:00
Michael Osipov ccec94bf63 mrsas.4: Add Fujitsu RAID Controller SAS 6Gbit/s 1GB (D3116)
This is an OEM card from Fujitsu using an LSI SAS2208 ROC controller shipped
with many Fujitsu PRIMERGY servers like RX300 S7.

Controller description: https://www.fujitsu.com/global/products/computing/servers/primergy/blades/connection/cb-pmod-110426.html

Reviewed by:	ziaee
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D54566
2026-01-06 22:32:26 +01:00
Michael Osipov 8b210276cd mfi(4): Add subvendor and subdevice for Fujitsu RAID Controller SAS 6Gbit/s 1GB (D3116)
This is an OEM card from Fujitsu using an LSI SAS2208 ROC controller shipped
with many Fujitsu PRIMERGY servers like RX300 S7. This chip is also recognized
by mrsas(4) under the generic name for the controller chip.

Controller description: https://www.fujitsu.com/global/products/computing/servers/primergy/blades/connection/cb-pmod-110426.html

Reviewed by:	ziaee
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D54520
2026-01-06 20:10:46 +01:00
Alexander Ziaee 75866d71e8 manuals: Correct some sysctl markup
This enables additional searching the manual by sysctl variable.
This syntax is standardized in style.mdoc(5).

Reported by:	bapt
MFC after:	3 days
2026-01-06 11:08:21 -05:00
Alexander Ziaee 03e1605cdf cxgbe.4: Update for recent HARDWARE
Adjust document description, description section, and hardware section
to include Chelsio T7. Since this driver now supports many generations,
order reverse chronologically. Compare language to ice.4 and bnxt.4,
the other terabit ethernet drivers.

This list of HARDWARE is obtained from the Chelsio prouduct selector.

MFC after:		3 days (T7 support shipped with 15.0)
Discussed with:		jhb, np
Differential Revision:	https://reviews.freebsd.org/D54276
2026-01-06 09:52:50 -05:00
Lexi Winter 665ac052aa powerpc: Update CPUTYPE options in make.conf
Document the supported PPC/POWER CPUTYPEs in the example make.conf.

Update bsd.cpu.mk to handle CPUs newer than POWER9, and remove
32-bit CPUTYPEs since we no longer support those at all.

Reviewed by:	imp, jhibbits
Sponsored by:	https://www.patreon.com/bsdivy
Differential Revision:	https://reviews.freebsd.org/D54257
2026-01-06 04:22:20 +00:00
Marian Cingel 7359df79d3 share/mk: Remove trailing '/' from debug info directories
Signed-off-by: Marian Cingel <cingel.marian@gmail.com>
Reviewed by:	emaste
Pull request:	https://github.com/freebsd/freebsd-src/pull/1947
2026-01-05 12:26:11 -05:00
Dimitry Andric 62a7fdc13a bsd.sys.mk: suppress another gcc warning for libc++
Similar to base 63d1c3c436, suppress -Wc++20-extensions for gcc.
Otherwise libc++ headers will lead to many -Werror warnings, due to our
use of -Wsystem-headers, which is not officially supported upstream.

MFC after:	3 days
2026-01-02 21:32:36 +01:00
Johannes Totz b52347f5b9 jdec_dimm(4): add a reference to smbmsg(8) to jedec_dimm(4) and smbus(4)
Add a cross reference to smbmsg(8) which is useful for discovering local
devices and difficult to find otherwise.

PR: 247749
Reviewed by: pauamma@gundo.com
Differential Review: https://reviews.freebsd.org/D40839
2026-01-02 12:20:45 -07:00
Dag-Erling Smørgrav 1d52d5c537 depend-cleanup: Force a clean build when options change
Similar to the build epoch check, cache a list of source options in the
object tree, and force a clean build if the cached list does not match
the current list, after filtering out options which are known not to
affect the build (e.g. CLEAN, TESTS, WARNS).

This also adds a DEPEND_CLEANUP option (which defaults to yes unless
the CLEAN option is set) which can be used to skip depend-cleanup for
faster incremental builds.

MFC after:	1 week
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D52011
2025-12-31 19:51:13 +01:00
Dimitry Andric 8e95158393 Fix typo in tools/build/options/WITH_REPRODUCIBLE_PATHS
Fixes:		faeaa25f56
2025-12-29 22:34:22 +01:00
Dimitry Andric 660416fd19 Move MK_REPRODUCIBLE_PATHS to bsd.opts.mk
In commit faeaa25f56 MK_REPRODUCIBLE_PATHS was introduced, but some
ports that include bsd.debug.mk then started to fail with:

    make: /usr/share/mk/bsd.debug.mk:19: Variable "MK_REPRODUCIBLE_PATHS" is undefined
            in /usr/share/mk/bsd.lib.mk:525
            in /wrkdirs/usr/ports/devel/libsysinfo/work/libsysinfo-0.0.3/Makefile:16
    make: Fatal errors encountered -- cannot continue

This is because bsd.debug.mk includes bsd.opts.mk, not src.opts.mk. Move
the MK_REPRODUCIBLE_PATHS option to bsd.opts.mk to fix this.

Reviewed by:	imp, emaste
Fixes:		faeaa25f56
2025-12-29 22:02:59 +01:00
Alexander Ziaee c6bd2aa835 cpuctl.4: Formatting nits
+ Align ioctl list + Pad code examples + Tag spdx license identifier

MFC after:	3 days
2025-12-29 12:20:05 -05:00
Alexander Ziaee c4bd487da7 genet.4: Only for AArch64 + tag spdx
MFC after:	3 days
2025-12-29 12:20:05 -05:00
Bjoern A. Zeeb 32ea820982 LinuxKPI: 802.11: add compat.linuxkpi.80211.IF.dump_stas_queues
Extend the normal compat.linuxkpi.80211.IF.dump_stas sysctl by
queue information.  This was helpful for debugging various issues,
like selecting the outbound queue, stopping queues for BAR and helped
finding multiple bugs.

Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
2025-12-29 02:48:14 +00:00
Konstantin Belousov 3088263177 man pages: provide some description for extended errors
, related functions, and the EXTERROR_VERBOSE environment variable.

Reviewed by:	emaste, mckusick
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D54380
2025-12-29 03:16:25 +02:00
Konstantin Belousov 14bd57d0a7 exterror.9: describe formatting of optional arguments
Reviewed by:	emaste, mckusick
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D54380
2025-12-29 03:16:25 +02:00
Dimitry Andric ae31c10537 bsd.sys.mk: add NO_WCHARACTER_CONVERSION and use it for googletest
This silences warnings about benign implicit character conversions in
googletest's gtest-printers.h.
2025-12-28 20:50:42 +01:00
Dimitry Andric 63d1c3c436 bsd.sys.mk: suppress some new clang 21 warnings for C++
Otherwise, these lead to many -Werror warnings in libc++ headers, due to
our use of -Wsystem-headers, which is not officially supported upstream:

Suppress -Wc++20-extensions, due to:

    /usr/include/c++/v1/__algorithm/simd_utils.h:96:50: error: explicit template parameter list for lambdas is a C++20 extension [-Werror,-Wc++20-extensions]
       96 | inline constexpr size_t __simd_vector_size_v = []<bool _False = false>() -> size_t {
          |                                                  ^

Suppress -Wc++23-lambda-attributes, due to:

    /usr/include/c++/v1/__format/format_functions.h:462:32: error: an attribute specifier sequence in this position is a C++23 extension [-Werror,-Wc++23-lambda-attributes]
      462 |   if (bool __is_identity = [&] [[__gnu__::__pure__]] // Make sure the compiler knows this call can be eliminated
          |                                ^

Suppress -Wnullability-completeness, due to:

    /usr/include/c++/v1/string:1068:80: error: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Werror,-Wnullability-completeness]
     1068 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* __s, size_type __n) {
          |                                                                                ^

MFC after:	3 days
2025-12-28 20:43:12 +01:00
Zhenlei Huang 176075e661 locking.9: Tweak the table column width to fit 80 characters
While here, add some white spaces to improve the readability of source
code.

Reviewed by:	ziaee, #manpages
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D54121
2025-12-28 23:57:51 +08:00
Ed Maste c910c7a3d2 vt: Remove .fnt.uu from Makefile SUFFIXES
The uudecode make rule was removed years ago.

Fixes: 68510f3bac ("Remove uudecode make rule for vt fonts")
2025-12-28 10:53:45 -05:00
Warner Losh faeaa25f56 kernel: MK_REPRODUCIBLE_PATHS for full paths vs /usr/src
There are many environments that you do not want the paths to be
canonicalized. For example, if I always build a product from a specific
path in a jail that's dependent on the product version, I don't want
that to be sanitized to /usr/src because when I have profiling tools run
against multiple kernels, I can't do A/B testing and results processing
if everything points to /usr/src (sadly, the profiling tools cannot
remap back to the original like gdb can). Since we need both active at
the same time, symbloic link fallbacks don't work.

We do want the rest of the build to be reproducible, however. We'll get
the same binaries if we rebuild later since we always rebuild with the
same path.

Turn them both on for maximum reproduction for environments where that
cannot be guaranteed.

Sponsored by:		Netflix
Input from:		emaste, ivy
Differential Revision:	https://reviews.freebsd.org/D52959
2025-12-28 01:16:39 -07:00