Skip to content

Fix merge conflict and updated GhsotBSD main with FreeBSD main. #371

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1,979 commits into
base: main
Choose a base branch
from

Conversation

ericbsd
Copy link
Member

@ericbsd ericbsd commented Jul 14, 2025

No description provided.

Rick Macklem and others added 30 commits July 6, 2025 12:23
Commit afd5bc6 added a new pathconf name
_PC_HAS_HIDDENSYSTEM.

This patch documents this new name.

This is a content change.

Reviewed by:	kib, ziaee (manpages)
Differential Revision:	https://reviews.freebsd.org/D51175
Fixes:	afd5bc6 ("pathconf: Add a new variable for hidden/system")
Since physmap_idx points to the next slot, we should make sure both 'i'
and 'insert_idx' are less than physmap_idx, but never equal to it.

Also allow physmap_idx to reach PHYS_AVAIL_ENTRIES so the last slot can
be populated.

Reviewed by:	kib, markj
Approved by:	imp (mentor)
Differential Revision:	https://reviews.freebsd.org/D51173
Some BIOSes access data outside of regions marked as "runtime" in their
runtime EFI functions. Allow the mapping and preservation of other
regions through a tunable.

The tunable is a bitmap specifying the regions to map. e.g bit 3 would
be set to map BootServicesCode.

Currently allowed regions are:
BootServicesCode
BootServicesData
RuntimeServicesCode
RuntimeServicesData
ACPIMemoryNVS

PR:		287422
Reviewed by:	kib
Approved by:	imp (mentor)
Differential Revision:	https://reviews.freebsd.org/D51146
Some BIOSes tend to access physical address zero when executing runtime
EFI functions. Map it regardless of the runtime attribute.

PR:		287422
Reviewed by:	imp, kib
Approved by:	imp (mentor)
Differential Revision:	https://reviews.freebsd.org/D51147
vm_fault_busy_sleep() tests to see whether the page fs->m matches the
value looked up at fs->pindex. At that point, a lock is held on
fs->object, and it has been held since before vm_fault_object() also
looked up fs->pindex in fs->object and stored the result in fs->m. So
the values must match, and the test is not necessary. Drop it.

Reviewed by:	alc, markj
Differential Revision:	https://reviews.freebsd.org/D51179
clang-scan-deps is used to generate dependency information from C++20
modules according to proposed standard ISO/IEC WG21 P1689R5[0].  It is
required by common build tools (e.g., CMake) to build C++ sources
that use modules.

Since this is a core build tool, install it by default, not gated
behind MK_CLANG_EXTRAS.

[0] https://www.open-std.org/JTC1/SC22/WG21/docs/papers/2022/p1689r5.html

MFC after:	3 days
Reviewed by:	kevans, dim
Approved by:	kevans (mentor)
Requested by:	jbo
Differential Revision:	https://reviews.freebsd.org/D51044
Sponsored by:	The FreeBSD Foundation
…GMASK

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
…ys() arg

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
There now appears to be a use for the NFSv4 hidden and system
attributes for the Windows ms-nfs41 client.  As such, this
patch implements these using the UF_HIDDEN and UF_SYSTEM
flags.  Commit afd5bc6 added support for _PC_HAS_HIDDENSYSTEM,
to VOP_PATHCONF(), which is used by the server to check for
support of the UF_HIDDEN and UF_SYSTEM flags.

This patch only affects NFSv4 and only when the client/server
on the other end supports the hidden and system attributes.
Reviewed by:	kib
MFC after:	1 month
Pull Request:	freebsd/freebsd-src#1698
Reviewed by:	kib
MFC after:	1 month
Pull Request:	freebsd/freebsd-src#1698
Reviewed by:	kib
MFC after:	1 month
Pull Request:	freebsd/freebsd-src#1698
Reviewed by:	kib
MFC after:	1 month
Pull Request:	freebsd/freebsd-src#1698
Reviewed by:	kib
MFC after:	1 month
Pull Request:	freebsd/freebsd-src#1698
Reviewed by:	kib
MFC after:	1 month
Pull Request:	freebsd/freebsd-src#1698
Reviewed by:	kib
MFC after:	1 month
Pull Request:	freebsd/freebsd-src#1698
Per https://wiki.freebsd.org/DeprecationPlan, deprecate RIP in 15.0R,
with the intention of removing it in 16.0R.

Add a note to the manpages of routed(8), rdisc(8), rtquery(8),
route6d(8) and rip6query(8) noting that they will be removed
in a future release.

RIP has been obsolete for over 20 years and no one is running it on
modern networks.  If someone really needs RIP, there are alternatives
such as 'bird' or 'quagga' available from ports; there is no need to
ship it in base.

Relnotes:	yes
Reviewed by:	des
Approved by:	des (mentor)
Differential Revision:	https://reviews.freebsd.org/D50292
With the recent changes to pmap_demote_DMAP(), the calls to
pmap_demote_pdpe() and pmap_demote_pde_mpte() should never fail, so
we change the associated panics to KASSERTs.

Reviewed by:	kib, markj
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D51180
Since efi_map_regs is used in machdep.c, efirt being compiled as a
module causes it to be left undefined.

Fixes:		85dcdb7
Noticed by:	kib
Reviewed by:	kib, markj
Approved by:	imp (mentor)
Differential Revision:	https://reviews.freebsd.org/D51183
The frequency range 5745-5865 (channels 149-173) wrongly has a
VHT160 channel listed (going up to 5885/177 which is not avail in
ETSI) but no 11a, 11na listed.  Add the 11a and 11na in addition to
the 11ac 20/40 and 80.
Turns out the VHT40 entry for 5805-5845 was also missing. We already
had the neccessary setting for taiwan, so just adjust the freqband ref.

The problem is that without the 11a base channel ieee80211_find_channel()
in ieee80211_lookup_channel_rxstatus() will fail and sta_recv_mgmt() will
not get the correct channel but will use ic->ic_curchan (which is not
updated on scan offloading) and the scan result entry will be added as
channel 1.

Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
Reviewed by:	adrian (previous version)
Differential Revision: https://reviews.freebsd.org/D51163
Fixes:	bc4430d
Reported by:	dhw, Oleg Nauman <[email protected]>
Sponsored by:	The FreeBSD Foundation
Reported by:	jlduran
Fixes:		1d8664d ("examples: Add a demo program for inotify")
Killing source tracking entries per interface does not make sense and
`-i interface' along with `-K key' is completely ignored anyway.

There since import in 2006, probably just copy/pasta.

OK sashan

Obtained from:	OpenBSD, kn <[email protected]>, 28535c0a36
Sponsored by:	Rubicon Communications, LLC ("Netgate")
When creating tables inside anchors, pfctl warned about namespace
collisions with global tables, but only in certain cases and with
limited information sometimes leaving users clueless.

Deferring the check to process_tabledefs() where tables are eventually
created, both anchor and table name are known which allows for checking
all existing anchors.

With this, warn on all duplicates even in dry-runs (`-n') and print
quoted names so they can be copied to fix configurations right away.

No functional change in parsing or ruleset production.

Discussed with and OK sashan

Obtained from:	OpenBSD, kn <[email protected]>, 0de3a0c9ad
Sponsored by:	Rubicon Communications, LLC ("Netgate")
madscientist159 and others added 22 commits July 13, 2025 14:00
Multiple issues existed within the powerpc FP/VSX save/restore functionality,
leading to register corruption and loss of register contents in specific
scenarios involving high signal load and use of both floating point and VSX
instructions.

Issue #1

On little endian systems the PCB used the wrong location for the shadowed
FP register within the larger VSX register.  This appears to have been an
attempt to correct issue #2 without understanding how the vector load/store
instructions actually operate.

Issue #2

On little endian systems, the VSX state save/restore routines swapped 32-bit
words within the 64-bit aliased double word for the associated floating point
register.  This was due to the use of a word-oriented load/store vs. doubleword
oriented load/store.

Issue #3

The FPU was turned off in the PCB but not in hardware, leading to a potential
race condition if the same thread was scheduled immediately after sigreturn.

The triggering codebase for this is Go, which makes heavy use of signals and
and generates an unusual mix of floating point and VSX assembler.  As a result,
when combined with th powerpc lazy FPU restore, a condition was repeatedly hit
whereby the thread was interrupted in FP+VSX mode, then restored in FP only
mode, thus reliably triggering the issues above.

Also clean up the associated asm() style issue flagged by GitHub Actions.

Signed-off-by: Timothy Pearson <[email protected]>

MFC after:	1 week
Pull Request:	freebsd/freebsd-src#1756
On PowerPC platforms a valid link to the Table of Contents (TOC) is
required for PLT lookups to function.  This TOC pointer is stored in
a dedicated register, and is used along with the stack pointer by both
C prologue and PLT lookup code.

When calling swapcontext() with uc_link != NULL, a PLT lookup to
setcontext(3) is attempted from within the _ctx_done context.  The
exiting process has usually trashed both r1 and r2 at this point,
leading to a crash within the PLT lookup before setcontext(2) is
reached to restore the linked context.

Save and restore r2 as in a regular function.  This ensures the
subsequent PLT lookup to setcontext(3) succeeds.

Signed-off-by: Timothy Pearson <[email protected]>

MFC after:	1 week
Pull Request:	freebsd/freebsd-src#1759
The test verifies that the rc framework will OOM-protect a process
spawned by rc.  It just wraps a 5-second /bin/sleep invocation as part
of this test.

The rc framework uses procctl to set the OOM-protect bit after the
process has started, i.e., it uses procctl -p.  So, with a 5 second
timeout, it's possible for the process to exit before procctl actually
runs, if the system is heavily loaded.  (I see this failure occasionally
with KMSAN configured and many tests running in parallel.)

Bump the timeout to reduce the risk of this happening.  The timeout
value is arbitrary since the test will stop the rc process, i.e., we
don't have to wait for 60 seconds to elapse before the test passes.

MFC after:	1 week
We also need to set it when an end-of-directory marker is reached.

Reported by:	vishwin
Reviewed by:	kib
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D51290
No functional change, but commit for correctness nonetheless.

MFC after:	1 day
Differential Revision:	https://reviews.freebsd.org/D51293
When pmap_enter_pde() removes an existing 2MB page mapping within the
kernel address space, do not remap the kernel page table page since it
will shortly be unmapped.  Simply zero it.

Eliminate an unnecessary conditional refcount decrement on what must be
a kernel page table page.  (We only utilize this refcount on user-space
page table pages.)

Convert an assertion from a panic to a KASSERT.

Reviewed by:	kib, markj
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D51235
Reviewed by: aokblast
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D51259
Reviewed by:	bcr, christos
Event:		Berlin Hackathon 202507
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D51267
Reviewed by:	bcr, christos, ziaee
Event:		Berlin Hackathon 202507
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D51268
Avoid hard-coding the value of SRCTOP in generated files.  Use /usr/src
as the canonical srcdir.

MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D50955
This effectively makes i386 a world-only target in make universe.

Reviewed by:	bz, imp
Differential Revision:	https://reviews.freebsd.org/D51193
World and kernels for 32-bit powerpc can still be built using the
buildworld and buildkernel targets.

Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D51194
Other tables retain entries about these architectures since those
details are still relevant for lib32 environments.

Reviewed by:	imp, emaste
Differential Revision:	https://reviews.freebsd.org/D51195
Fixes:		7818c2d ("armv6: Remove support for building armv6")
Event:		Berlin Hackathon 202507
Reviewed by:	bcr, christos
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D51278
Reviewed by:	christos, ziaee
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D51301
Shorten document description to fit on one line for the beautification
of apropos results, removing only the search keyword "facilities", which
I think is unlikely to cause discoverability regression.

MFC after:		No (please mfc if mfc'ing tracing.7)
Reviewed by:		0mp, bcr
Differential Revision:	https://reviews.freebsd.org/D51284
PR:		286292
MFC after:	3 days
Reviewed by:	ziaee
Commit 4a3fb75 ("powerpc: Disconnect 32-bit powerpc from make
universe") changed the default architecture lists.  i386 hasn't chanaged
as only the kernels are disabled; i386 is still included in
TARGET_MACHINE_LIST.

Sponsored by:	The FreeBSD Foundation
Fix a typo in the manual's date.

Reported by:	Gary Jennejohn <[email protected]>
Fixes:		193f228 d.7: Document the DTrace scripting language
@ericbsd ericbsd requested review from a team as code owners July 14, 2025 19:56
Copy link

Thank you for taking the time to contribute to FreeBSD!
There are a few issues that need to be fixed:

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pull request #371 has too many files changed.

We can only review pull requests with up to 300 changed files, and this pull request has 10803.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Review
Development

Successfully merging this pull request may close these issues.