Commit graph

9391 commits

Author SHA1 Message Date
Ed Maste
1efa279a43 Add UPDATING entries and bump revision
EN-24:15.calendar
SA-24:09.libnv
SA-24:10.bhyve
SA-24:11.ctl
SA-24:12.bhyve
SA-24:13.openssl
SA-24:14.umtx

Approved by:	so
2024-09-05 08:09:03 +02:00
Mark Johnston
15f0242e78 Add UPDATING entries and bump the branch version
Approved by:	so
2024-08-07 17:14:43 +02:00
Philip Paeps
27537b4a5e Add UPDATING entries and bump the branch version.
Approved by:	so
2024-07-10 07:59:51 +02:00
Gordon Tetlow
4d53a6b7a4 Add UPDATING entries and bump the branch version.
Approved by:    so
2024-07-10 07:59:48 +02:00
Xavier Beaudouin
18b8a9d5d3 Add UDP encapsulation of ESP in IPv6
This patch provides UDP encapsulation of ESP packets over IPv6.
Ports the IPv4 code to IPv6 and adds support for IPv6 in udpencap.c
As required by the RFC and unlike in IPv4 encapsulation,
UDP checksums are calculated.

Co-authored-by:	Aurelien Cazuc <aurelien.cazuc.external@stormshield.eu>
Sponsored-by:	Stormshield
Sponsored-by:	Wiktel
Sponsored-by:	Klara, Inc.

Fix KASSERT in 80044c78 causing build failures

Move the KASSERT to where struct ip6_hdr is populated

Fixes:		80044c785c
Reported-by:	bapt
Reviewed-by:	markj
Sponsored-by:	Klara, Inc.
2024-06-10 14:33:01 +02:00
Colin Percival
10e31f0946 Update in preparation for 14.1-RELEASE
- Bump BRANCH to RELEASE
- Add the anticipated RELEASE announcement date
- Set a static __FreeBSD_version

Approved by:    re (implicit)
Sponsored by:   https://www.patreon.com/cperciva
2024-05-30 17:31:16 -07:00
Colin Percival
4de43de58f 14.1: update to RC1
Now that we're at RC1, switch from "quarterly" packages to the release
package set.

Approved by:	re (implicit)
2024-05-23 17:10:09 -07:00
Colin Percival
2a964a7fc3 14.1: update to BETA3
Approved by:	re (implicit)
Sponsored by:	https://www.patreon.com/cperciva
2024-05-17 09:15:43 -07:00
Colin Percival
e3e57ae30c 14.1: update to BETA2
Approved by:	re (implicit)
Sponsored by:	https://www.patreon.com/cperciva
2024-05-09 17:27:15 -07:00
Ed Maste
25c2d762af Enable kernel reproducible builds on stable branch
When the stable/13 branch was created the userland knob (in
share/mk/src.opts.mk) was changed to default to yes, but the kernel
default was not changed.  These two should always have the same default.
Regenerate src.conf.5, as the differing defaults previously confused
`makeman`.

Fixes: bfd1570515 ("Create the stable/13 branch")
Sponsored by: The FreeBSD Foundation
Approved by:	re (cperciva)

(cherry picked from commit d8644a5d2458588dd7d8e44bd23c6cacaead19b7)
(cherry picked from commit 3a8e15354e)
2024-05-03 15:23:27 -07:00
Colin Percival
3f5f38755b 14.1: create releng/14.1 branch
Update from PRERELEASE to BETA1
Switch pkg(8) configuration to use the quarterly repository
Bump __FreeBSD_version

Approved by:	re (implicit)
Sponsored by:	https://www.patreon.com/cperciva
2024-05-02 23:13:50 -07:00
Eric Joyner
eafd6c26f9
ice_ddp: Update package to 1.3.36.0
This is intended to be used with the upcoming ice 1.39.13-k
driver update, but is still backwards compatible with
previous versions of the driver.

Signed-off-by: Eric Joyner <erj@FreeBSD.org>

Sponsored by:	Intel Corporation

(cherry picked from commit 768329961d)
2024-04-24 15:14:48 -07:00
Gordon Bergling
0744d3268e NOTES: Remove a double word in comment
- s/of of/of/

(cherry picked from commit 1ff65c57e3)
2024-04-23 07:24:09 +02:00
Dimitry Andric
924cf780a2 Fix GENERIC-KASAN kernel build for amd64
Work around https://github.com/llvm/llvm-project/issues/87923, which
leads to an assertion failure compiling several kernel source files with
asan enabled.

PR:		276104
MFC after:	1 month

(cherry picked from commit b811dac211)
2024-04-20 12:03:25 +02:00
Dimitry Andric
f0e05595a1 Fix arm64 build after llvm 18.1.3 upgrade (take 2)
Instead of compiling the whole sys/arm64/arm64/vfp.c file without
-mgeneral-regs-only, which might have unwanted side effects, add
".arch_extension fp" / ".arch_extension nofp" pairs to the inline
assembly.

PR:		276104
Suggested by:	andrew
MFC after:	1 month

(cherry picked from commit 61e482f2fc)
2024-04-20 12:03:25 +02:00
Dimitry Andric
c7c33b213a Fix arm64 build after llvm 18.1.3 upgrade
Apparently clang 18 has become more strict about using floating point
registers in inline assembly when -mgeneral-regs-only is used. This
causes sys/arm64/arm64/vfp.c to fail to compile, with "error:
instruction requires: fp-armv8", and "error: expected readable system
register".

To fix it, similar to other files compiled for arm64, disable
-mgeneral-regs-only for this particular file.

PR:		276104
MFC after:	1 month

(cherry picked from commit f4d93b6761)
2024-04-20 12:03:24 +02:00
Colin Percival
7a2c2599a7 14.1: update stable/14 to -PRERELEASE
This marks the start of the FreeBSD 14.1 release cycle; the stable/14
tree is now in "code slush".

Developers are encouraged to prioritize fixing bugs (and/or merging bug
fixes from HEAD) over new features at this time.  Commit approval from
re@ is not required but if new features introduce problems they may be
removed from the release.

Approved by:	re (implicit)
2024-04-18 19:49:36 -07:00
Himanshu Chauhan
4e997a32db riscv: Introduce support for APLIC interrupt controller
This patch introduces support for the RISC-V APLIC interrupt controller
[1]. Currently, it is only supports direct mode, i.e. without an IMSIC
and functionally replacing the legacy RISC-V PLIC. Work on IMSIC support
is in progress.

[1] https://github.com/riscv/riscv-aia/releases/tag/1.0

Reviewed by:	mhorne
Discussed with:	jrtc27
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D43293

(cherry picked from commit ee91dae43d)
2024-04-18 15:09:02 -03:00
Christos Margiolis
e6c51f6db8 sound: Get rid of snd_clone and use DEVFS_CDEVPRIV(9)
Currently the snd_clone framework creates device nodes on-demand for
every channel, through the dsp_clone() callback, and is responsible for
routing audio to the appropriate channel(s). This patch gets rid of the
whole snd_clone framework (including any related sysctls) and instead
uses DEVFS_CDEVPRIV(9) to handle device opening, channel allocation and
audio routing. This results in a significant reduction in code size as
well as complexity.

Behavior that is preserved:

- hw.snd.basename_clone.
- Exclusive access of an audio device (i.e VCHANs disabled).
- Multiple processes can read from/write to the device.
- A device can only be opened as many times as the maximum allowed
  channel number (see SND_MAXHWCHAN in pcm/sound.h).
- OSSv4 compatibility aliases are preserved.

Behavior changes:

Only one /dev/dspX device node is created (on attach) for each audio
device, as opposed to the current /dev/dspX.Y devices created by
snd_clone. According to the sound(4) man page, devices are not meant to
be opened through /dev/dspX.Y anyway, so it is best if we do not create
device nodes for them in the first place. As a result of this, modify
dsp_oss_audioinfo() to print /dev/dspX in the "ai->devnode", instead of
/dev/dspX.Y.

Sponsored by:	The FreeBSD Foundation
MFC after:	2 months
Reviewed by:	dev_submerge.ch, bapt, markj
Differential Revision:	https://reviews.freebsd.org/D44411

(cherry picked from commit e8c0d15a64)
2024-04-18 14:39:26 +02:00
Mark Johnston
99ac8acf88 build: Do not pass -fno-sanitize-memory-param-retval to subr_coverage.c
In the absence of -fsanitize=kernel-memory, the presence of this flag
results in a -Wunused-command-line-argument warning.

MFC after:	1 week

(cherry picked from commit 2ae32f1f8f)
2024-04-15 10:05:13 -04:00
Pierre-Luc Drouin
d1aff35566 vf_i2c: split up and add ACPI attachments in addition to FDT
Move the code from the arm specific to the iicbus controller directory.
Split up between general logic and bus attachment code.
Add support for ACPI attachment in addition to FDT.

Tested by:	bz (LS1088a FDT), Pierre-Luc Drouin (Honeycomb, ACPI)
Based on:	D24917 by Val Packett (initial early version)

(cherry picked from commit 5ca8e32633)
2024-04-01 23:46:10 +00:00
Bjoern A. Zeeb
faf66c373a ath(4): always enable 11n
Enabling 11n for ath(4) so far was handled by a kernel option, which
was only enabled for certain kernel configurations.
In order to allow loading ath(4) as a module with 11n support on
all platforms, remove the kernel option and unconditionally enable
11n in ath(4).

Reported by:	pkubaj
Reviewed by:	adrian, imp

(cherry picked from commit 89c1e54a71)
2024-04-01 23:46:10 +00:00
Mark Johnston
43ae86aa8e conf: Expand the include path for more openssl files
Fixes:	e655cc70df ("ossl: Move arm_arch.h to a common subdirectory")
Reported by:	Jenkins

(cherry picked from commit d2ce3d89e9)
2024-03-29 09:53:05 -04:00
Mark Johnston
0b9dffed30 ossl: Move arm_arch.h to a common subdirectory
OpenSSL itself keeps only a single copy of this header.  Do the same in
sys/crypto/openssl to avoid the extra maintenance burden.  This requires
adjusting the include paths for generated asm files.

No functional change intended.

Reported by:	jrtc27
Reviewed by:	jhb
MFC after:	3 months
Differential Revision:	https://reviews.freebsd.org/D42866

(cherry picked from commit e655cc70df)
2024-03-29 09:53:05 -04:00
Mark Johnston
3166bb7c10 ossl: Add AES-GCM support for NEON-enabled armv7
This provides substantially higher throughput than the fallback
implementation.

Reviewed by:	jhb
MFC after:	3 months
Sponsored by:	Klara, Inc.
Sponsored by:	Stormshield
Differential Revision:	https://reviews.freebsd.org/D41305

(cherry picked from commit 629a72376d)
2024-03-29 09:53:05 -04:00
Mark Johnston
15e12749ef ossl: Add support for armv7
OpenSSL provides implementations of several AES modes which use
bitslicing and can be accelerated on CPUs which support the NEON
extension.  This patch adds arm platform support to ossl(4) and provides
an AES-CBC implementation, though bsaes_cbc_encrypt() only implements
decryption.  The real goal is to provide an accelerated AES-GCM
implementation; this will be added in a subsequent patch.

Initially derived from https://reviews.freebsd.org/D37420.

Reviewed by:	jhb
Sponsored by:	Klara, Inc.
Sponsored by:	Stormshield
MFC after:	3 months
Differential Revision:	https://reviews.freebsd.org/D41304

(cherry picked from commit 44f8e1e853)
2024-03-29 09:53:05 -04:00
Olivier Certner
f54344ec12
kern_racct.c: Don't compile if RACCT undefined
Just skip compiling this file if RACCT isn't defined.  This allows to
skip including headers that no code uses at all, and also to remove the
whole file's #ifdef/#endif bracketing.

Reviewed by:    markj
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 7fa08d4152)

Approved by:        emaste (mentor)
2024-02-27 11:37:33 +01:00
Mark Johnston
3b3ab2abb6 build: Do not run ctfconvert on VDSO files
Reviewed by:	emaste
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D43877

(cherry picked from commit f48cd806e0)
2024-02-21 08:16:22 -05:00
Jean-Sébastien Pédron
3b97bdb453 linuxkpi: Move struct kobject code to linux_kobject.c
[Why]
`linux_compat.c` is already too long. I will need to add `struct kset`
in a follow-up commit, so let's move the existing `struct kobject` code
to its own file.

Reviewed by:	manu
Approved by:	manu
Differential Revision:	https://reviews.freebsd.org/D43019

(cherry picked from commit 80446fc7b5)
2024-02-17 23:58:35 +03:00
Jessica Clarke
2fbed5e9ea Make kldxref a bootstrap tool and use unconditionally
Now that kldxref is a generic cross tool and can be built on non-FreeBSD
we can bootstrap it during the build and thus remove the condition for
whether it exists. We also need to make sure to add it to the METALOG
for -DNO_ROOT builds.

Reviewed by:	brooks, imp
Differential Revision:	https://reviews.freebsd.org/D43051

(cherry picked from commit ff7c12c1f1)
2024-01-18 14:30:06 -08:00
Marius Strobl
13673bca2f geom_redboot(4): Garbage collect disconnected driver
The last MIPS user has been removed in c09981f1 2 years ago, the last
ARM one in ff945277 even 5.5 years ago.

(cherry picked from commit 53df7e58cc)
2024-01-18 21:14:46 +01:00
Marius Strobl
d6ec20a309 geom_map(4): Garbage collect disconnected driver
The last MIPS user has been removed in c09981f1 2 years ago, the last
ARM one in 58d5c511 even 5.5 years ago.

(cherry picked from commit 03e8d25b1f)
2024-01-18 21:14:46 +01:00
Mark Johnston
f0f93607ee conf: Do not set -fno-sanitize-memory-param-retval for old compilers
The option was introduced in LLVM 16.

Fixes:	b6c653c974 ("kmsan: Set -fno-sanitize-memory-param-retval for now")
MFC after:	1 week
Sponsored by:	Klara, Inc.
Sponsored by:	Juniper Networks, Inc.

(cherry picked from commit d682a91726)
2024-01-18 10:52:25 -05:00
Michael Tuexen
5da67ed527 tcp stacks: in kernel BBR and RACK require in kernel HPTS
Compiling the BBR or RACK stack into the kernel requires HPTS to be
compiled into the kernel.

Reviewed by:		glebius, rscheff
Sponsored by:		Netflix, Inc.
Differential Revision:	https://reviews.freebsd.org/D42998

(cherry picked from commit 793e4aca9e)
2024-01-16 21:46:36 +01:00
Alex Xu (Hello71)
fcd1b6ec07 Compile RACK when options TCP_RACK, not TCP_BBR
Signed-off-by: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
Fixes: 3a338c5341 ("Add the BBR and RACK stacks to the LINT kernel.")
Pull Request:	https://github.com/freebsd/freebsd-src/pull/907
(cherry picked from commit 96f193b290)
2024-01-16 21:42:50 +01:00
Gleb Smirnoff
e4a5a27b1b hpts: remove from opt_inet.h
No conditionally compilable code left.  The hpts.ko is fully functional.

Reviewed by:		imp, tuexen, rrs
Differential Revision:	https://reviews.freebsd.org/D42859

(cherry picked from commit 4b92c7721d)
2024-01-16 10:47:50 -08:00
Gleb Smirnoff
a74aa0e589 lro: separate HPTS specific code into tcp_lro_hpts.c
Put same copyright header as tcp_hpts.c has, since all this code
was developed by Randall Stewart <rrs@FreeBSD.org> as a part of
the HPTS work.  Also copy Mellanox copyright from tcp_lro.c as
Hans Petter Selasky also participated in restructuring the code.

Reviewed by:		imp, tuexen, rrs
Differential Revision:	https://reviews.freebsd.org/D42854

(cherry picked from commit 4f9c93f16c)
2024-01-16 10:38:40 -08:00
Dag-Erling Smørgrav
123fd2a93e Add the BBR and RACK stacks to the LINT kernel.
While here, drop the EXTRA_TCP_STACKS option, which serves no purpose and
should never have been added.  Instead, build bbr and rack as long as
either or both of INET and INET6 is enabled.  There is no risk to anyone
who doesn't load one or both and then twiddle the relevant sysctls.

Differential Revision:	https://reviews.freebsd.org/D42088

(cherry picked from commit 3a338c5341)
2024-01-16 10:32:07 -08:00
Navdeep Parhar
c262860578 cxgbe(4): Update firmwares to 1.27.5.0
Version : 1.27.5.0
Date    : 10/10/2023
=====================
Fixes
-----

BASE:
- Fixed handling the Remote Fault with AN, causing the link failure.
=====================

Obtained from:	Chelsio Communications
Sponsored by:	Chelsio Communications

(cherry picked from commit b1e82d3319)
2024-01-10 21:22:31 -08:00
John Baldwin
fd3190c2da sys: Disable -Walloc-size-larger-than for GCC 9+
By default this warns about sizes larger than PTRDIFF_MAX passed to
malloc (rather than SIZE_MAX).  This doesn't trigger
deterministically, but it does trigger for kmalloc() of struct_size()
in iwlwifi's iwl_configure_rxq even when struct_size() is changed to
use PTRDIFF_MAX.  NB: struct_size() in Linux caps the size at
SIZE_MAX, not PTRDIFF_MAX via size_mul().

Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D42587

(cherry picked from commit ede077bf2a)
2024-01-03 09:43:48 -08:00
Rick Macklem
b9410313c6 nfscl/kgssapi: Fix Kerberized NFS mounts to pNFS servers
During recent testing related to the IETF NFSv4 Bakeathon, it was
discovered that Kerberized NFSv4.1/4.2 mounts to pNFS servers
(sec=krb5[ip],pnfs mount options) was broken.
The FreeBSD client was using the "service principal" for
the MDS to try and establish a rpcsec_gss credential for a DS,
which is incorrect. (A "service principal" looks like
"nfs@<fqdn-of-server>" and the <fqdn-of-server> for the DS is not
the same as the MDS for most pNFS servers.)

To fix this, the rpcsec_gss code needs to be able to do a
reverse DNS lookup of the DS's IP address.  A new kgssapi upcall
to the gssd(8) daemon is added by this patch to do the reverse DNS
along with a new rpcsec_gss function to generate the "service
principal".

A separate patch to the gssd(8) will be committed, so that this
patch will fix the problem.  Without the gssd(8) patch, the new
upcall fails and current/incorrect behaviour remains.

This bug only affects the rare case of a Kerberized (sec=krb5[ip],pnfs)
mount using pNFS.

This patch changes the internal KAPI between the kgssapi and
nfscl modules, but since I did a version bump a few days ago,
I will not do one this time.

(cherry picked from commit dd7d42a1fa)
2023-12-23 17:03:58 -08:00
Mark Johnston
c976896db7 arm: Compile vfp.c conditionally rather than using an ifdef
No functional change intended.

MFC after:	1 week

(cherry picked from commit 96465c789a)
2023-12-17 21:07:45 -05:00
Konstantin Belousov
8645e7c83d Set installed kernel and driver files access modes using KMODMODE var
(cherry picked from commit d3849ec3c9)
2023-12-02 03:14:52 +02:00
Konstantin Belousov
22584860f2 mlx5_core: add new files to the static files list
(cherry picked from commit 6eda49b7bf)
2023-11-22 03:40:29 +02:00
Mark Johnston
c89523d1c4 kmsan: Set -fno-sanitize-memory-param-retval for now
As of LLVM 16, -fsanitize-memory-param-retval is the default.  It yields
significantly smaller code, but the KMSAN runtime interceptors need to
be updated to stop checking shadow state of parameters.  Apply a minimal
workaround for now.

MFC after:	3 days
Sponsored by:	Klara, Inc.
Sponsored by:	Juniper Networks, Inc.

(cherry picked from commit b6c653c974)
2023-10-20 12:02:05 -04:00
Emmanuel Vadot
b4cd14485a i2c: Add Microcrystal RV3032 RTC driver
This is a simple RTC driver for the rv3032 from Microcrystal.
Just the basic functionality is implemented (no timer, alarm etc ..).

Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D41995

(cherry picked from commit 1d6a6a5244)
2023-10-18 16:32:19 +02:00
Emmanuel Vadot
7b824791e7 i2c: Add cadence iic driver
This IP is found in Xilinx SoC, it only been tested on ZynqMP (arm64)
so only enable it there for now.

Differential Revision:	https://reviews.freebsd.org/D41994

(cherry picked from commit 137b58e4d2)
2023-10-18 16:32:17 +02:00
Emmanuel Vadot
c133589105 iicbus: Move opencores i2c driver into controller subdirectory
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D41914

(cherry picked from commit 125f5c5b48)
2023-10-18 16:32:15 +02:00
Emmanuel Vadot
96edbfe36b iicbus: Move i2c sensors drivers into new sensor subdirectory
No reason that they should live directly under iicbus

Sponsored by:   Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D41913

(cherry picked from commit 7c569caa0a)
2023-10-18 16:32:14 +02:00
Emmanuel Vadot
83dcc494a7 iicbus: conf: Fix pcf8574 entry
It lives in the gpio subdirectory

Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D41912

(cherry picked from commit 918a10c9f7)
2023-10-18 16:32:12 +02:00