Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into devel-main
Browse files Browse the repository at this point in the history
  • Loading branch information
kprovost committed Mar 16, 2023
2 parents c653d90 + 225e855 commit 6e85e77
Show file tree
Hide file tree
Showing 1,272 changed files with 32,405 additions and 71,945 deletions.
2 changes: 2 additions & 0 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ task:
- su user -c "make -j$(sysctl -n hw.ncpu) CROSS_TOOLCHAIN=${TOOLCHAIN_PKG} WITHOUT_TOOLCHAIN=yes buildworld buildkernel"
package_script:
- su user -c "make CROSS_TOOLCHAIN=${TOOLCHAIN_PKG} WITHOUT_TOOLCHAIN=yes PKG_FORMAT=tar packages"
package_check_script:
- su user -c "/usr/libexec/flua tools/pkgbase/metalog_reader.lua -c /usr/obj/$(pwd -P)/${TARGET}.${TARGET_ARCH}/worldstage/METALOG"
test_script:
- sh .cirrus-ci/pkg-install.sh qemu-nox11
- sh tools/boot/ci-qemu-test.sh
Expand Down
6 changes: 4 additions & 2 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
/contrib/atf @ngie-eign
/contrib/capsicum-test @ngie-eign
/contrib/googletest @ngie-eign
/contrib/ipfilter @cschuber
/sbin/ipf @cschuber
/contrib/libcxxrt @DimitryAndric @emaste
/contrib/llvm-project @DimitryAndric
/contrib/llvm-project/libunwind @DimitryAndric @emaste @bsdjhb
Expand Down Expand Up @@ -64,10 +64,12 @@
/sys/amd64/pci @bsdimp @bsdjhb
/sys/amd64/vmm/ @bsdjhb @grehan-freebsd
/sys/arm/allwinner @evadot
/sys/arm64/arm64 @zxombie
/sys/arm64/include @zxombie
/sys/arm64/rockchip @evadot
/sys/compat/linprocfs/ @dag-erling
/sys/compat/linuxkpi @hselasky
/sys/contrib/ipfilter @cschuber
/sys/netpfil/ipfilter @cschuber
/sys/crypto/openssl/ @juikim
/sys/dev/drm2 @bsdimp
/sys/dev/iscsi/ @trasz
Expand Down
16 changes: 16 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Please include this information, either here or in your commit messages for the
pull request, as appropriate (or delete the line if there's nothing relevant.

PR: <If and which Problem Report is related.>
Reported by: <If someone else reported the issue.>
Reviewed by: <If someone else reviewed your modification.>
Tested by: <If someone else tested the change.>
Approved by: <If you needed approval for this commit.>
Obtained from: <If the change is from a third party.>
Fixes: <Short hash and title line of commit fixed by this change>
MFC after: <N [day[s]|week[s]|month[s]]. Request a reminder email>
Relnotes: <Set to 'yes' for mention in release notes.>
Security: <Vulnerability reference (one per line) or description.>
Sponsored by: <If the change was sponsored by an organization.>
Pull Request: <https://github.com/freebsd/<repo>/pull/###>
Differential Revision: <https://reviews.freebsd.org/D###>
2 changes: 1 addition & 1 deletion .github/workflows/cross-bootstrap-tools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,6 @@ jobs:
- name: bootstrap bmake
run: ./tools/build/make.py --debug $EXTRA_BUILD_ARGS TARGET=${{ matrix.target }} TARGET_ARCH=${{ matrix.target_arch }} -n
- name: make kernel-toolchain
run: ./tools/build/make.py --debug $EXTRA_BUILD_ARGS TARGET=${{ matrix.target }} TARGET_ARCH=${{ matrix.target_arch }} kernel-toolchain -s -j$NPROC
run: ./tools/build/make.py --debug $EXTRA_BUILD_ARGS TARGET=${{ matrix.target }} TARGET_ARCH=${{ matrix.target_arch }} kernel-toolchain -s -j$NPROC -DWITH_DISK_IMAGE_TOOLS_BOOTSTRAP
- name: make buildkernel
run: ./tools/build/make.py --debug $EXTRA_BUILD_ARGS TARGET=${{ matrix.target }} TARGET_ARCH=${{ matrix.target_arch }} KERNCONF=GENERIC NO_MODULES=yes buildkernel -s -j$NPROC $EXTRA_MAKE_ARGS
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,6 @@ cscope.po.out
compile_commands.json
compile_commands.events.json
tags
.cache
.clangd
.ccls-cache
112 changes: 112 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# Contribution Guidelines for GitHub

## General Contributions to FreeBSD

Please read the guidelines in [Contributing to FreeBSD](https://docs.freebsd.org/en/articles/contributing/)
for all the ways you can contribute to the project, how the project is organized,
how to build different parts of the project, etc. The
[developer's handbook](https://docs.freebsd.org/en/books/developers-handbook/)
is another useful resource.

## GitHub Pull Requests

Presently, GitHub 'freebsd-src' repository is one of the publish-only services
for the FreeBSD 'src' repository the project uses to promote collaboration and
contribution. Pull requests that need little developer time, are generally
small, and have limited scope should be submitted. Do not submit pull request
that are a problem reports, works in progress, changes that are controversial
and need discussion, changes require specialize review, or are security related.

A pull request will be considered if:

* It is ready or nearly ready to be committed. A committer should be able to land the pull request with less than 10 minutes of additional work.
* It passes all the GitHub CI jobs.
* You can respond to feedback quickly.
* It touches fewer than about 10 files and the changes are less than about 200 lines. Changes larger than this may be OK, or you may be asked to submit multiple pull requests of a more manageable size.
* Each logical change is a separate commit within the pull request. Commit messages for each change should follow the [commit log message guide](https://docs.freebsd.org/en/articles/committers-guide/#commit-log-message).
* All commits have your name and valid email address as you would like to see them in the FreeBSD repository as the author. Fake github.com addresses cannot be used.
* The scope of the pull request should not change during review. If the review suggests changes that expand the scope, please create an independent pull request.
* Fixup commits should be squashed with the commit they are fixing. Each commit in your branch should be suitable for FreeBSD's repository.
* Commits should include one or more `Signed-off-by:` lines with full name and email address certifying [Developer Certificate of Origin](https://developercertificate.org/).
* The commits follow FreeBSD's style guide. See [Style](#Style).
* The commits should not introduce trailing white space.
* If the commmit fixes a bug, please add 'PR: <bugnumber>' to the comment message.
* If there's a code review in phabricator, please include a link as a 'Differential Revision: ' line.

When updating your pull request, please rebase with a forced push rather than a
merge commit.

More complex changes may be submitted as pull requests, but they may be closed
if they are too large, too unwieldy, become inactive, need further discussion in
the community, or need extensive revision. Please avoid creating large,
wide-ranging cleanup patches: they are too large and lack the focus needed for a
good review. Misdirected patches may be redirected to a more appropriate forum
for the patch to be resolved.

Please make sure that your submissions compile and work before submitting. If
you need feedback, a pull request might not be the right place (it may just be
summarily closed if there are too many obvious mistakes).

If you want to cleanup style or older coding conventions in preparation for some
other commit, please go ahead and prepare those patches. However, please avoid just
cleaning up to make it cleaner, unless there's a clear advantage to doing
so. While the project strives to have a uniform coding style, our style offers a
range of choices making some 'cleanups' ambiguous at best. Also, some files have
their own consistent style that deviates from style(9). Style changes take
volunteer time to process, but that time can be quite limited, so please be
respectful.

The current theory for pull requests on GitHub is to facilitate inclusion in the
project. The guidelines are streamlined for quick decisions about each pull
request. Unless explicitly stated, rejection here as "not ready" or "too large"
does not mean the project is uninterested in the work, it just means the
submission does not meet the limited scope for pull requests accepted
here. Sometimes it is easier to review a GihHub pull request than to do the
review in Phabricator, so that's also allowed.

## Style

Avoid adding trailing newlines and whitespace. These slow down the integration
process and are a distraction. `git diff` will highlight them in red, as will
the Files Changed tab in the pull request.

For C programs, see [style(9)](https://man.freebsd.org/cgi/man.cgi?query=style&sektion=9)
for details. You can use [Clang format](https://clang.llvm.org/docs/ClangFormat.html)
with the top level .clang-format file if you are unsure. The
[git clang-format](https://github.com/llvm-mirror/clang/blob/master/tools/clang-format/git-clang-format)
command can help minimize churn by only formatting the areas nearby the changes. While
not perfect, using these tools will maximize your chances of not having style
comments on your pull requests.

For Makefiles changes, see
[style.Makefile(5)](https://man.freebsd.org/cgi/man.cgi?query=style.Makefile&sektion=5)
for details. FreeBSD's base system uses the in-tree make, not GNU Make, so
[make(1)](https://man.freebsd.org/cgi/man.cgi?query=make&sektion=1) is another useful
resource.

The project uses mdoc for all its man pages. Changes should pass `mandoc -Tlint` and igor (install the latter with `pkg install igor`).
Please be sure to observe the one-sentence-per-line rule so manual pages properly render. Any semantic changes to the manual pages should bump the date.
[style.mdoc(5)](https://man.freebsd.org/cgi/man.cgi?query=style.mdoc&sektion=5) has the all details.

For [Lua](https://www.lua.org), please see
[style.lua(9)](https://man.freebsd.org/cgi/man.cgi?query=style.lua&sektion=9)
for details. Lua is used for the boot loader and a few scripts in the base system.

For shell scripts, avoid using bash. The system shell (/bin/sh) is preferred.
Shell scripts in the base system cannot use bash or bash extensions
not present in FreeBSD's [shell](https://man.freebsd.org/cgi/man.cgi?query=sh&sektion=1).

## Signed-off-by

Other projects use Signed-off-by to create a paper trail for contributions they
receive. The Developer Certificate of Origin is an attestation that the person
making the contribution can do it under the current license of the file. Other
projects that have 'delegated' hierarchies also use it when maintainers
integrate these patches and submit them upstream.

Right now, pull requests on GitHub are an experimental feature. We strongly
suggest that people add this line. It creates a paper trail for infrequent
contributors. Also, developers that are landing a pull request will use a
Signed-off-by line to set the author for the commit.

These lines are easy to add with `git commit -s`.
4 changes: 2 additions & 2 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ ath(4) adrian Pre-commit review requested, send to [email protected]
contrib/atf ngie,#test Pre-commit review requested.
contrib/capsicum-test ngie,#capsicum,#test Pre-commit review requested.
contrib/googletest ngie,#test Pre-commit review requested.
contrib/ipfilter cy Pre-commit review requested.
sbin/ipf cy Pre-commit review requested.
contrib/libcxxrt dim,emaste Pre-commit review preferred.
contrib/llvm-project/compiler-rt dim Pre-commit review preferred.
contrib/llvm-project/libcxx dim Pre-commit review preferred.
Expand Down Expand Up @@ -103,7 +103,7 @@ sys/compat/linuxkpi hselasky If in doubt, ask.
(to avoid drm graphics drivers
impact)
sys/contrib/dev/ice erj Pre-commit phabricator review requested.
sys/contrib/ipfilter cy Pre-commit review requested.
sys/netpfil/ipfilter cy Pre-commit review requested.
sys/dev/e1000 erj Pre-commit phabricator review requested.
sys/dev/ixgbe erj Pre-commit phabricator review requested.
sys/dev/ixl erj Pre-commit phabricator review requested.
Expand Down
38 changes: 34 additions & 4 deletions Makefile.inc1
Original file line number Diff line number Diff line change
Expand Up @@ -629,6 +629,18 @@ MKTEMP=${WORLDTMP}/legacy/usr/bin/mktemp
MKTEMP=mktemp
.endif
INSTALLTMP!= ${MKTEMP} -d -u -t install

.if ${.MAKE.OS} == "FreeBSD"
# When building on FreeBSD we always copy the host tools instead of linking
# into INSTALLTMP to avoid issues with incompatible libraries (see r364030).
# Note: we could create links if we don't intend to update the current machine.
INSTALLTMP_COPY_HOST_TOOL=cp
.else
# However, this is not necessary on Linux/macOS. Additionally, copying the host
# tools to another directory with cp results in AMFI Launch Constraint
# Violations on macOS Ventura as part of its System Integrity Protection.
INSTALLTMP_COPY_HOST_TOOL=ln -s
.endif
.endif

.if make(stagekernel) || make(distributekernel)
Expand Down Expand Up @@ -1388,7 +1400,7 @@ distributeworld installworld stageworld: _installcheck_world .PHONY
fi; \
done); \
fi; \
cp $$libs $$progs ${INSTALLTMP}
${INSTALLTMP_COPY_HOST_TOOL} $$libs $$progs ${INSTALLTMP}
cp -R $${PATH_LOCALE:-"/usr/share/locale"} ${INSTALLTMP}/locale
.if defined(NO_ROOT)
-mkdir -p ${METALOG:H}
Expand Down Expand Up @@ -2289,8 +2301,8 @@ _flua= lib/liblua lib/libucl libexec/flua
# r245440 mtree -N support added
# r313404 requires sha384.h for libnetbsd, added to libmd in r292782
.if ${BOOTSTRAPPING} < 1100093
_libnetbsd= lib/libnetbsd
_nmtree= lib/libmd \
lib/libnetbsd \
usr.sbin/nmtree

${_bt}-lib/libnetbsd: ${_bt}-lib/libmd
Expand Down Expand Up @@ -2323,9 +2335,23 @@ _crunchgen= usr.sbin/crunch/crunchgen
_bootstrap_tools_links+=crunchgen
.endif

.if ${MK_DISK_IMAGE_TOOLS_BOOTSTRAP} != "no"
_etdump= usr.bin/etdump
_makefs= usr.sbin/makefs

_libnetbsd= lib/libnetbsd
${_bt}-usr.sbin/makefs: ${_bt}-lib/libnetbsd

.if defined(BOOTSTRAP_ALL_TOOLS)
_libsbuf= lib/libsbuf
${_bt}-usr.sbin/makefs: ${_bt}-lib/libsbuf
.endif
.endif

# 1300102: VHDX support
.if ${BOOTSTRAPPING} < 1201520 || \
(${BOOTSTRAPPING} > 1300000 && ${BOOTSTRAPPING} < 1300102)
(${BOOTSTRAPPING} > 1300000 && ${BOOTSTRAPPING} < 1300102) || \
${MK_DISK_IMAGE_TOOLS_BOOTSTRAP} != "no"
_mkimg= usr.bin/mkimg
.else
_bootstrap_tools_links+=mkimg
Expand Down Expand Up @@ -2526,6 +2552,10 @@ bootstrap-tools: ${_bt}-links .PHONY
${_flua} \
${_crunchide} \
${_crunchgen} \
${_etdump} \
${_libnetbsd} \
${_libsbuf} \
${_makefs} \
${_mkimg} \
${_nmtree} \
${_vtfontcvt} \
Expand Down Expand Up @@ -3378,7 +3408,7 @@ check-old: check-old-files check-old-libs check-old-dirs .PHONY
# showconfig - show build configuration.
#
showconfig: .PHONY
@(${MAKE} -n -f ${.CURDIR}/sys/conf/kern.opts.mk -V dummy -dg1 UPDATE_DEPENDFILE=no NO_OBJ=yes; \
@(${MAKE} -n -f ${.CURDIR}/sys/conf/kern.opts.mk -V dummy -dg1 UPDATE_DEPENDFILE=no NO_OBJ=yes MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH}; \
${MAKE} -n -f ${.CURDIR}/share/mk/src.opts.mk -V dummy -dg1 UPDATE_DEPENDFILE=no NO_OBJ=yes) 2>&1 | grep ^MK_ | sort -u

.if !empty(KRNLOBJDIR) && !empty(KERNCONF)
Expand Down
72 changes: 72 additions & 0 deletions ObsoleteFiles.inc
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,56 @@
# xargs -n1 | sort | uniq -d;
# done

# 20230309: remove remaining ATM support
OLD_FILES+=usr/bin/sscop
OLD_FILES+=usr/include/netnatm/addr.h
OLD_FILES+=usr/include/netnatm/api/atmapi.h
OLD_FILES+=usr/include/netnatm/api/ccatm.h
OLD_FILES+=usr/include/netnatm/api/unisap.h
OLD_DIRS+=usr/include/netnatm/api
OLD_FILES+=usr/include/netnatm/msg/uni_config.h
OLD_FILES+=usr/include/netnatm/msg/uni_hdr.h
OLD_FILES+=usr/include/netnatm/msg/uni_ie.h
OLD_FILES+=usr/include/netnatm/msg/uni_msg.h
OLD_FILES+=usr/include/netnatm/msg/unimsglib.h
OLD_FILES+=usr/include/netnatm/msg/uniprint.h
OLD_FILES+=usr/include/netnatm/msg/unistruct.h
OLD_DIRS+=usr/include/netnatm/msg
OLD_FILES+=usr/include/netnatm/saal/sscfu.h
OLD_FILES+=usr/include/netnatm/saal/sscfudef.h
OLD_FILES+=usr/include/netnatm/saal/sscop.h
OLD_FILES+=usr/include/netnatm/saal/sscopdef.h
OLD_DIRS+=usr/include/netnatm/saal
OLD_FILES+=usr/include/netnatm/sig/uni.h
OLD_FILES+=usr/include/netnatm/sig/unidef.h
OLD_FILES+=usr/include/netnatm/sig/unisig.h
OLD_DIRS+=usr/include/netnatm/sig
OLD_FILES+=usr/include/netnatm/unimsg.h
OLD_DIRS+=usr/include/netnatm
OLD_FILES+=usr/lib/libngatm.a
OLD_FILES+=usr/lib/libngatm.so
OLD_LIBS+=usr/lib/libngatm.so.4
OLD_FILES+=usr/lib/libngatm_p.a
OLD_FILES+=usr/share/man/man1/sscop.1.gz
OLD_FILES+=usr/share/man/man3/libngatm.3.gz
OLD_FILES+=usr/share/man/man3/uniaddr.3.gz
OLD_FILES+=usr/share/man/man3/unifunc.3.gz
OLD_FILES+=usr/share/man/man3/unimsg.3.gz
OLD_FILES+=usr/share/man/man3/unisap.3.gz
OLD_FILES+=usr/share/man/man3/unistruct.3.gz
OLD_FILES+=usr/share/man/man4/ng_atmllc.4.gz
OLD_FILES+=usr/share/man/man4/ng_ccatm.4.gz
OLD_FILES+=usr/share/man/man4/ng_sscfu.4.gz
OLD_FILES+=usr/share/man/man4/ng_sscop.4.gz
OLD_FILES+=usr/share/man/man4/ng_uni.4.gz
OLD_FILES+=usr/share/man/man4/ngatmbase.4.gz

# 20230308: machine-id merged into hostid_save
OLD_FILES+=etc/rc.d/machine-id

# 20230306: remove tzsetwall(3)
OLD_FILES+=usr/share/man/man3/tzsetwall.3.gz

# 20230208: new clang import which bumps version from 14.0.5 to 15.0.7
OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/algorithm
OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/complex
Expand Down Expand Up @@ -411,9 +461,31 @@ OLD_FILES+=usr/tests/usr.bin/timeout/timeout_test

# 20230124: rtalloc.9 removed
OLD_FILES+=usr/share/man/man9/rtalloc.9.gz
OLD_FILES+=usr/share/man/man9/rtalloc_fib.9.gz
OLD_FILES+=usr/share/man/man9/rtalloc_ign.9.gz
OLD_FILES+=usr/share/man/man9/rtalloc_ign_fib.9.gz
OLD_FILES+=usr/share/man/man9/rtalloc1.9.gz
OLD_FILES+=usr/share/man/man9/rtalloc1_fib.9.gz
OLD_FILES+=usr/share/man/man9/rtfree.9.gz
OLD_FILES+=usr/share/man/man9/RT_ADDREF.9.gz
OLD_FILES+=usr/share/man/man9/RT_LOCK.9.gz
OLD_FILES+=usr/share/man/man9/RT_REMREF.9.gz
OLD_FILES+=usr/share/man/man9/RT_RTFREE.9.gz
OLD_FILES+=usr/share/man/man9/RT_UNLOCK.9.gz
OLD_FILES+=usr/share/man/man9/RTFREE.9.gz
OLD_FILES+=usr/share/man/man9/RTFREE_LOCKED.9.gz

# 20230123: PCBGROUP.9 removed
OLD_FILES+=usr/share/man/man9/PCBGROUP.9.gz
OLD_FILES+=usr/share/man/man9/in_pcbgroup_byhash.9.gz
OLD_FILES+=usr/share/man/man9/in_pcbgroup_byinpcb.9.gz
OLD_FILES+=usr/share/man/man9/in_pcbgroup_destroy.9.gz
OLD_FILES+=usr/share/man/man9/in_pcbgroup_enabled.9.gz
OLD_FILES+=usr/share/man/man9/in_pcbgroup_init.9.gz
OLD_FILES+=usr/share/man/man9/in_pcbgroup_remove.9.gz
OLD_FILES+=usr/share/man/man9/in_pcbgroup_update.9.gz
OLD_FILES+=usr/share/man/man9/in_pcbgroup_update_mbuf.9.gz
OLD_FILES+=usr/share/man/man9/in6_pcbgroup_byhash.9.gz

# 20221214: TCPDEBUG removed
OLD_FILES+=usr/include/netinet/tcp_debug.h
Expand Down
10 changes: 10 additions & 0 deletions RELNOTES
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@ newline. Entries should be separated by a newline.

Changes to this file should not be MFCed.

7344856e3a6d and many others:
Add support so that nfsd(8), nfsuserd(8), mountd(8), gssd(8)
and rpc.tlsservd(8) can be run in an appropriately configured
vnet prison. The vnet prison must be on its own file system,
have the "allow.nfsd" jail parameter set on it and enforce_statfs
cannot be set to "0". Use of UDP and pNFS server configurations
are not permitted. (ie. The nfsd command line options "-u", "-p"
and "-m" are not supported.)
See jail(8), nfsd(8) and mountd(8).

2fb4f839f3fc,d89513ed2050,3413ee88c39d,f97a19ecb985,021562c5020d,431d2a81d421:
sendmail has been updated to the latest upstream version (8.17.1).

Expand Down
4 changes: 4 additions & 0 deletions UPDATING
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 14.x IS SLOW:
world, or to merely disable the most expensive debugging functionality
at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".)

20230221:
Introduce new kernel options KBD_DELAY1 and KBD_DELAY2. See atkbdc(4)
for details.

20230206:
sshd now defaults to having X11Forwarding disabled, following upstream.
Administrators who wish to enable X11Forwarding should add
Expand Down
Loading

0 comments on commit 6e85e77

Please sign in to comment.