1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-01 08:27:59 +00:00
Commit Graph

293339 Commits

Author SHA1 Message Date
Roger Pau Monné
c1287a3bb1 x86/xen: ignore error to fetch memory map in xen_arch_init_physmem()
Some implementations of Xen don't expose the XENMEM_memory_map hypercall.
Shallow the error from XENMEM_memory_map in xen_arch_init_physmem() and just
return 0. This will fallback to using the non-arch specific mechanism for
allocating scratch space.

Reported by:	cperciva
Reviewed by:	Elliott Mitchell
Fixes:	69c47485b5 ('x86/xen: use UNUSABLE e820 regions for external mappings')
Sponsored by:	Cloud Software Group
Differential revision:	https://reviews.freebsd.org/D46205
2024-08-02 20:12:55 -07:00
Warner Losh
b45d64fd0c loader: Minor comentary tweak
Reword slightly to cleanup awkward constructs.

Sponsored by:		Netflix
2024-08-02 17:50:47 -06:00
Alan Cox
f076dd3ef0 imgact_elf: Optimize pagesizes[] loop
Except for elements whose value is zero, the elements of pagesizes[] are
always sorted in increasing order, so once a loop starting from the end
of the array has found a non-zero element, it has found the largest
valued element and can stop iterating.

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D46215
2024-08-02 18:26:11 -05:00
Alan Cox
f6ed52c1f0 vm: Stop reducing vm_pageout_page_count at startup
Attempting to reduce vm_pageout_page_count at startup when the machine
has less than 8MB of physical memory is pointless, since we haven't run
on machines with so little memory in ages.

Reviewed by:	kib, markj
Differential Revision:	https://reviews.freebsd.org/D46206
2024-08-02 14:41:36 -05:00
Mark Johnston
2e4781cb12 xen/netfront: Decouple XENNET tags from mbuf lifetimes
netmap's generic mode tries to improve performance by minimizing mbuf
allocations.  In service of this goal, it maintains an extra reference
to the mbuf and polls the counter to see if the driver has released its
reference by calling m_freem().  As a result, the extref destructor is
not called when expected by the netfront driver, and mbufs tags are not
freed.

Modify the tx path to release its mbuf tags promptly when reclaiming tx
descriptors.  They are drawn from a fixed-size pool, so otherwise are
quickly exhausted when a netfront interface is in netmap generic mode.

Co-authored by:	royger
MFC after:	2 weeks
Fixes:	dabb3db7a8 ("xen/netfront: deal with mbuf data crossing a page boundary")
Sponsored by:	Cloud Software Group
Sponsored by:	Klara, Inc.
Sponsored by:	Zenarmor
2024-08-02 18:05:37 +00:00
Brooks Davis
e5d6af4fe7 sysv ipc: remove {msg,sem,shm}sys() declerations
These syscall muxes are under COMPAT7 or earlier and AFACT they were
only ever used in libc.  The which arguments seems to have never had a
published API and it was a mistake that they were exported or declared.

Reviewed by:	kib, jhb
Differential Revision:	https://reviews.freebsd.org/D46209
2024-08-02 18:57:16 +01:00
Christos Margiolis
b58d9db4d7 sound: Fix VCHANs' starting and ending points in feeder chain
sndstat(4) falsely reports "hardware" as the starting point of
recording, and ending point of playback VCHANs. Recording VCHANs get
their input from the primary recording channel, and playback VCHANs send
their input to the primary playback channel.

Sponsored by:	The FreeBSD Foundation
MFC after:	2 days
Reviewed by:	dev_submerge.ch, markj
Differential Revision:	https://reviews.freebsd.org/D46177
2024-08-02 15:53:16 +03:00
Roger Pau Monné
1b5e5ff68c xen/pvh: fix initialization of environment
Xen PVH entry point requires to modify the environment provided by the boot
loader, so that the ACPI RSDP is re-written to use the Xen generated RSDP
instead of the native one.

The current logic in the PVH entry point reserves a single page (4K) in order
to copy the contents of the environment passed from the boot loader, so that
the bootloader provided "acpi.rsdp" is dropped and a Xen specific one is added
afterwards.

This however doesn't scale well, as it's possible for the environment to be
bigger than 4K.  Bumping the buffer, or attempting to peek at the size of the
metadata all seem to just add more complexity to a sensitive path.  Instead
introduce a new ACPI hook that allows setting the RSDP address directly, and
use it from the PVH entry point to set the position of the Xen generated RSDP.

This allows to reduce the logic in the PVH metadata processing, as there's no
need to parse and filter the bootloader provided environment.

Note that modifying the environment blob in-place is likely to not work.  The
RSDP address is provided as a string, it's possible the new RSDP location is
higher than the current one, and the string with the new location would overrun
the space used by the previous one.

Sponsored by: Cloud Software Group
PR: 277200
MFC: 3 days
Reviewed by: markj kib
Differential revision: https://reviews.freebsd.org/D46089
2024-08-02 12:41:52 +02:00
Doug Moore
6d86bdf1c4 vm_pageout: shrink pageout array
The array passed to vm_pageout_flush, and constructed in a middle-out
fashion, can never use array element zero. Shrink the array by one,
and reduce indices by one, to save that bit of stack space. In the
vm_object version, make the accounting look more like the pageout
version.

Reported by:	alc
Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D46208
2024-08-01 21:36:44 -05:00
Brian Atkinson
c8184d714b
Block cloning conditionally destroy ARC buffer
dmu_buf_will_clone() calls arc_buf_destroy() if there is an associated
ARC buffer with the dbuf. However, this can only be done conditionally.
If the previous dirty record's dr_data is pointed at db_dbf then
destroying it can lead to NULL pointer deference when syncing out the
previous dirty record.

This updates dmu_buf_fill_clone() to only call arc_buf_destroy() if the
previous dirty records dr_data is not pointing to db_buf. The block
clone wil still set the dbuf's db_buf and db_data to NULL, but this will
not cause any issues as any previous dirty record dr_data will still be
pointing at the ARC buffer.

Reviewed-by: Allan Jude <allan@klarasystems.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Brian Atkinson <batkinson@lanl.gov>
Closes #16337
2024-08-01 18:22:43 -07:00
Simon J. Gerraty
b77f618568 Add examples to veriexec(8)
Add missing flags to veriexec(8) as well as some examples to
help explain usage.

Also add veriexec.4

Sponsored by:	Juniper Networks, Inc.

Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D46207
2024-08-01 14:59:52 -07:00
Warner Losh
46ea2ffc3f stand: Reduce limit to 500k for x86 loader
The largest loader that works for PXE boot is about 500k. PXE needs low
memory for packets and other driver state, so the largest safe size for
the loader is about 500k. Reduce the size from 560k to 500k so we don't
accidentally break PXE in the future.

Add a comment for people with special needs. If you control the
hardware, it can be safe to have boot loaders as large as 580k or 600k
in some cases. Since the BIOS loader is becoming more and more of a
legacy item, the build variable LOADERSIZE isn't documented. This change
doesn't change that: there's been little demand for this documentation
and in general, users shouldn't change it lightly.

PR: 257018
Sponsored by: Netflix
2024-08-01 15:30:26 -06:00
Kyle Evans
de866aa352 ssp: switch to _limits.h for the upper bound of size_t
The definitions in _stdint.h has some complications around visibility
that _limits.h does not have.  Switch to __SIZE_T_MAX to avoid those.

This fixes the devel/gperf, devel/glib20 and math/mpfr builds with
_FORTIFY_SOURCE enabled to unlock a large fraction of the ports tree to
build.

Reported by:	Shawn Webb (HardenedBSD)
Sponsored by:	Klara, Inc.
Sponsored by:	Stormshield
2024-08-01 15:42:17 -05:00
Olivier Certner
28391f188c
kern_malloc: Restore working KASAN runtime after free() and zfree() folding
In the zfree() case, the explicit_bzero() calls zero all the allocation,
including the redzone which malloc() has marked as invalid.  So calling
kasan_mark() before those is in fact necessary.

This fixes a crash at boot when 'ldconfig' is run and tries to get
random bytes through getrandom() (relevant part of the stack is
read_random_uio() -> zfree() -> explicit_bzero()) for kernels with KASAN
compiled in.

Approved by:    markj (mentor)
Fixes:		4fab5f0054 ("kern_malloc: fold free and zfree together into one __always_inline func")
MFC after:      10 days
MFC with:       4fab5f0054
Sponsored by:   The FreeBSD Foundation
2024-08-01 22:35:14 +02:00
Tino Reichardt
c092bddfe7
Fix sa.c to build on FreeBSD again. (#16403)
Fix multiple build errors on FreeBSD.

The main reason is, that the variable 'dxattr_obj' is used
uninitialized within the start of the 'out label'.

Signed-off-by: Tino Reichardt <milky-zfs@mcmilk.de>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
2024-08-01 13:04:08 -07:00
Zhenlei Huang
a48f7a2eb9 fibs: Suppress the WARNING message for setups with multiple fibs
Change 2d39824195 switched net.add_addr_allfibs default to 0. The
warning message is for potential users of the feature. Well since all
supported releases have 0 as default, those potential users may have
already gotten the notification, emitting this WARNING every time
increasing the fib number is less useful but rather confusing to other
users. So let's suppress it right now.

PR:		280097
Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D45971
2024-08-02 01:48:58 +08:00
Warner Losh
f21a6a6a8f vmm: Build with proper ldscript on aarch64
A new instance of using ld with -T to bring in the kernel ld script
crept into the tree after I originally did the refactoring. It too needs
-L ${SYSDIR}/conf added.

Fixes: 37d6d682af
Sponsored by: Netflix
2024-07-31 23:47:13 -06:00
Warner Losh
a3c8c061e2 kernel: Add new dwarf symbols
Add new symbols defined in dwarf 4 and dwarf 5.

Submitted by:		Matt Macy (in D17982, done differently)
Sponsored by:		Netflix
Reviewed by:		kib, markj, emaste
Differential Revision:	https://reviews.freebsd.org/D44072
2024-07-31 22:23:25 -06:00
Warner Losh
37d6d682af kernel: Move the debug stuff into a common script
Move a copy of amd64's debug code into debug.ldscript. Make all the
kernels use this. This has the effect of modernizing the STABS for
powerpc as the others were almost already in sync. For the ones that
weren't this adds the DWARF 3 debug symbols from i386/amd64.

Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D44071
2024-07-31 22:23:24 -06:00
Jitendra Patidar
d60debbf59
Fix sa_add_projid to lookup and update SA_ZPL_DXATTR (avoid DXATTR loss) (#16288)
sa_add_projid() gets called via zfs_setattr() for setting project id
on old file/dir, which were created before upgrading to project quota
feature. This function does lookup for all possible SA and update them
all together along with project ID at needed fixed offset. But its
missing lookup and update of SA_ZPL_DXATTR, effectively it losses
SA_ZPL_DXATTR.

Closes #16287
Signed-off-by: Jitendra Patidar <jitendra.patidar@nutanix.com>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Rob Norris <rob.norris@klarasystems.com>
2024-07-31 18:41:49 -07:00
Chunwei Chen
c21dc56ea3
Fix zdb_dump_block for little endian (#16310)
The endian macros were changed but zdb_dump_block wasn't updated
accordingly.

Signed-off-by: Chunwei Chen <david.chen@nutanix.com>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
Reviewed-by: Allan Jude <allan@klarasystems.com>
2024-07-31 18:33:39 -07:00
c1ick
ec580bc520
zfs: add bounds checking to zil_parse (#16308)
Make sure log record don't stray beyond valid memory region.

There is a lack of verification of the space occupied by fixed members
of lr_t in the zil_parse.

We can create a crafted image to trigger an out of bounds read by
following these steps:
    1) Do some file operations and reboot to simulate abnormal exit
       without umount
    2) zil_chain.zc_nused: 0x1000
    3) First lr_t
       lr_t.lrc_txtype: 0x0
       lr_t.lrc_reclen: 0x1000-0xb8-0x1
       lr_t.lrc_txg: 0x0
       lr_t.lrc_seq: 0x1
    4) Update checksum in zil_chain.zc_eck

Fix:
Add some checks to make sure the remaining bytes are large enough to
hold an log record.

Signed-off-by: XDTG <click1799@163.com>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
2024-07-31 17:17:04 -07:00
Mark Johnston
4c5188bbeb bhyve: Assert success in a couple of libvmmapi calls
- In vmexit_smccc(), copy an assertion from amd64.
- In fbsdrun_addcpu(), make sure that our vm_suspend_cpu() call is
  succesful.

Reviewed by:	jhb
MFC after:	2 weeks
Sponsored by:	Innovate UK
Differential Revision:	https://reviews.freebsd.org/D46197
2024-07-31 22:41:30 +00:00
Mark Johnston
2e2b8afa52 bhyve: Sleep for a short period after VM_EXITCODE_DEBUG exits
As on amd64, APs will repeatedly exit until they are brought online, so this
hack helps avoid burning CPU time during guest bootup.

Reviewed by:	jhb
MFC after:	2 weeks
Sponsored by:	Innovate UK
Differential Revision:	https://reviews.freebsd.org/D46195
2024-07-31 22:41:28 +00:00
Mark Johnston
b4fb947923 bhyve: Escape binary data sent in reply packets
Per https://sourceware.org/gdb/current/onlinedocs/gdb.html/Overview.html#Binary-Data
certain bytes must be escaped.  The XML register definitions we have so far do
not run afoul of that rule, but the stub should handle them anyway.

Reviewed by:	jhb
MFC after:	2 weeks
Sponsored by:	Innovate UK
Differential Revision:	https://reviews.freebsd.org/D46194
2024-07-31 22:41:13 +00:00
Dimitry Andric
357378bbde Fix enum warnings in qat
This fixes a number of clang 19 warnings:

    sys/dev/qat/qat_api/common/compression/dc_session.c:154:15: error: comparison of different enumeration types ('enum _CpaBoolean' and 'icp_qat_hw_compression_delayed_match_t') [-Werror,-Wenum-compare]
      154 |         if (CPA_TRUE == pService->comp_device_data.enableDmm) {
          |             ~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    sys/dev/qat/qat_api/common/compression/dc_session.c:285:17: error: comparison of different enumeration types ('enum _CpaBoolean' and 'icp_qat_hw_compression_delayed_match_t') [-Werror,-Wenum-compare]
      285 |                     (CPA_TRUE == pService->comp_device_data.enableDmm) ?
          |                      ~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The `enableDmm` field of variable `comp_device_data` is of type
`icp_qat_hw_compression_delayed_match_t`, not `CpaBoolean`. In this
case, we can seamlessly replace the value with
`ICP_QAT_HW_COMPRESSION_DELAYED_MATCH_ENABLED`, which is numerically
equal to `CPA_TRUE`.

MFC after:	3 days
2024-07-31 21:31:55 +02:00
Dimitry Andric
1bd66fac35 Fix enum warning in isci
This fixes a clang 19 warning:

    sys/dev/isci/scil/scif_sas_smp_remote_device.c:197:26: error: comparison of different enumeration types ('SCI_IO_STATUS' (aka 'enum _SCI_IO_STATUS') and 'enum _SCI_STATUS') [-Werror,-Wenum-compare]
      197 |    if (completion_status == SCI_FAILURE_RETRY_REQUIRED)
          |        ~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~

The `completion_status` variable is of type `SCI_IO_STATUS`, not
`SCI_STATUS`. In this case, we can seamlessly replace the value with
`SCI_IO_FAILURE_RETRY_REQUIRED`, which is numerically equal to
`SCI_FAILURE_RETRY_REQUIRED`.

MFC after:	3 days
2024-07-31 21:31:50 +02:00
Dimitry Andric
67be1e195a Fix enum warning in iavf
This fixes a clang 19 warning:

    sys/dev/iavf/iavf_lib.c:514:39: error: comparison of different enumeration types ('enum virtchnl_vsi_type' and 'enum iavf_vsi_type') [-Werror,-Wenum-compare]
      514 |                 if (sc->vf_res->vsi_res[i].vsi_type == IAVF_VSI_SRIOV)
          |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~

The `vsi_type` field of `struct virtchnl_vsi_resource` is of type `enum
virtchnl_vsi_type`, not `enum iavf_vsi_type`. In this case, we can
seamlessly replace the value with `VIRTCHNL_VSI_SRIOV`, which is
numerically equal to `IAVF_VSI_SRIOV`.

MFC after:	3 days
2024-07-31 21:31:46 +02:00
Dimitry Andric
8ce3e489a5 Fix incorrect -I option in sys/conf/Makefile.arm
In commit 8e53cd7099 the intent was to add sys/dts/include to the
compiler include path, but this was spelled incorrectly, leading to an
error with clang 19:

  cc: error: no such include directory: '$/dts/include' [-Werror,-Wmissing-include-dirs]

Use the spelling -I$S/dts/include instead.

MFC after:	3 days
2024-07-31 21:31:21 +02:00
Dimitry Andric
1d5a5500ad Fix enum warning in keyserv
This fixes a clang 19 warning:

    usr.sbin/keyserv/crypt_server.c:237:53: error: comparison of different enumeration types ('des_mode' (aka 'enum des_mode') and 'enum desmode') [-Werror,-Wenum-compare]
      237 |         if (_my_crypt != &_arcfour_crypt && argp->des_mode == CBC) {
          |                                             ~~~~~~~~~~~~~~ ^  ~~~

The type of `argp->des_mode` (aka `desargs::des_mode`) is `enum
des_mode` from `/usr/include/rpcsvc/crypt.h`, not `enum desmode` from
`/usr/include/rpc/des.h` (which is used in `struct desparams`).

Luckily the integer values of `enum desmode`'s `CBC` and `ECB` are
identical to those of `enum des_mode`'s `CBC_DES` and `ECB_DES`, so
replace both values.

MFC after:	3 days
2024-07-31 21:28:42 +02:00
John Baldwin
09ed116dc5 ObsoleteFiles.inc: Don't remove recently added mixer(8) tests
An earlier set of mixer(8) tests were removed leading to this entry,
but now the entry is removing the new tests.

Fixes:		94a86f3f69 mixer(8): Add tests
2024-07-31 15:26:00 -04:00
John Baldwin
a4b248b883 ObsoleteFiles.inc: Remove usr/share/examples/IPv6
Reported by:	Mark Millard <marklmi@yahoo.com>
Fixes:		4339f1e667 share/examples/IPv6/USAGE: remove
2024-07-31 15:25:55 -04:00
John Baldwin
c04ef1bfb4 ObsoleteFiles.inc: Add missing .gz suffix to various manpage entries
Reported by:	Mark Millard <marklmi@yahoo.com>
2024-07-31 15:25:51 -04:00
John Baldwin
20cd6bbc10 ObsoleteFiles.inc: Remove dtrace/amd64/kinst test directory
Reported by:	Mark Millard <marklmi@yahoo.com>
Fixes:		911f026039 dtrace: move kinst tests to common
2024-07-31 15:25:47 -04:00
John Baldwin
66158bda90 ObsoleteFiles.inc: Remove CAM.4 MLINK
Reported by:	Mark Millard <marklmi@yahoo.com>
Fixes:		a00f9e4e81 scsi: Stop installing both cam.4 and CAM.4
2024-07-31 15:25:40 -04:00
John Baldwin
b313bf154a ObsoleteFiles.inc: Remove /rescue/gbde
Reported by:	Mark Millard <marklmi@yahoo.com>
Fixes:		6ac1f02be3 Add GBDE to ObsoleteFiles.inc
2024-07-31 15:25:27 -04:00
Mitchell Horne
b7312c3df8 riscv: Svpbmt extension support
The Svpbmt extension provides specification of "Page-Based Memory
Types", or memory attributes (e.g. cacheability constraints).

Extend the pmap code to apply memory attributes when creating/updating
PTEs. This is done in a way which has no effect on CPUs lacking Svpbmt
support, and is non-hostile to alternate encodings of memory attributes
-- a future change will enable this for T-HEAD CPUs, which implement
this PTE feature in an different (incompatible) way.

Reviewed by:	jhb
Tested by:	br
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D45471
2024-07-31 12:28:13 -03:00
Mitchell Horne
46bc4963e2 riscv: implement pmap_demote_l1()
For use in pmap_change_attr_locked(), where we might need to demote L1
pages in the DMAP.

Reviewed by:	markj
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D45628
2024-07-31 12:28:13 -03:00
John Baldwin
f44ff2aba2 bhyve: Treat the COMMAND register for PCI passthru devices as emulated
Don't pass through writes of the command register through to the
physical device.  These registers do not need to be in sync, and in
some cases (e.g. when the guest is sizing the BAR and temporarily
disables decoding), the states need to diverge.

PR:		205549
Reviewed by:	corvink
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D46179
2024-07-31 10:50:33 -04:00
Dag-Erling Smørgrav
b4e4512d46 filemon: Not an option.
MFC after:	3 days
2024-07-31 02:39:32 +02:00
Dimitry Andric
6f25b46721 Fix enum warning in heimdal
This fixes a clang 19 warning:

crypto/heimdal/lib/krb5/deprecated.c:75:17: error: comparison of different enumeration types ('krb5_keytype' (aka 'enum ENCTYPE') and 'enum krb5_keytype_old') [-Werror,-Wenum-compare]
   75 |     if (keytype != KEYTYPE_DES || context->etypes_des == NULL)
      |         ~~~~~~~ ^  ~~~~~~~~~~~

In https://github.com/heimdal/heimdal/commit/3bebbe5323 this was solved
by adding a cast. That commit is rather large, so I'm only applying the
one-liner here.

MFC after:	3 days
2024-07-30 21:24:17 +02:00
Dag-Erling Smørgrav
057453ffdf filemon: Document how to build into the kernel.
MFC after:	3 days
Reviewed by:	olce, imp
Differential Revision:	https://reviews.freebsd.org/D46184
2024-07-30 21:04:30 +02:00
Alexander Motin
d4b5517ef9
Linux: Report reclaimable memory to kernel as such (#16385)
Linux provides SLAB_RECLAIM_ACCOUNT and __GFP_RECLAIMABLE flags to
mark memory allocations that can be freed via shinker calls.  It
should allow kernel to tune and group such allocations for lower
memory fragmentation and better reclamation under pressure.

This patch marks as reclaimable most of ARC memory, directly
evictable via ZFS shrinker, plus also dnode/znode/sa memory,
indirectly evictable via kernel's superblock shrinker.

Signed-off-by:	Alexander Motin <mav@FreeBSD.org>
Sponsored by:	iXsystems, Inc.
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Allan Jude <allan@klarasystems.com>
2024-07-30 11:40:47 -07:00
Bojan Novković
d9ce4c0b66 vm_page: Fix inconsistent use of VM_NOFREE_IMPORT_ORDER in vm_page_alloc_nofree_domain
Pass VM_NOFREE_IMPORT_ORDER to vm_phys_alloc_pages instead of
VM_LEVEL_0_ORDER when allocating a higher-order page for
the NOFREE page allocator.

Reported by:	alc
Fixes:	a8693e8
2024-07-30 19:25:37 +02:00
Konstantin Belousov
aff225414b ipsec_accel: consistently provide arguments name in typedefs
Sponsored by:	NVidia networking
2024-07-30 19:52:18 +03:00
Kyle Evans
9333e1cbd0 include: ssp: hide ppoll redirect behind __BSD_VISIBLE
This mirrors ppoll's visibility in sys/poll.h and fixes a build issue
with some _POSIX_C_SOURCE requests due to missing the sigset_t typedef.

Reported by:	eduardo
Sponsored by:	Klara, Inc.
Sponsored by:	Stormshield
2024-07-30 11:36:58 -05:00
Ed Maste
5c2bc3db20 Remove "All Rights Reserved" from FreeBSD Foundation copyrights
These ones were unambiguous cases where the Foundation was the only
listed copyright holder.

Sponsored by:	The FreeBSD Foundation
2024-07-30 12:16:36 -04:00
Bojan Novković
1206cf04a7 sys: Bump __FreeBSD_version to mark new malloc(9) flags
This bump is meant to cover the addition of the M_NEVERFREED flag.
2024-07-30 17:38:25 +02:00
Bojan Novković
ddc09a10ea pmap_growkernel: Use VM_ALLOC_NOFREE when allocating pagetable pages
This patch modifies pmap_growkernel in all pmaps to use VM_ALLOC_NOFREE
when allocating new pagetable pages. This should help reduce longterm
fragmentation as these pages are never released after
they are allocated.

Differential Revision:	https://reviews.freebsd.org/D45998
Reviewed by:	alc, markj, kib, mhorne
Tested by:	alc
2024-07-30 17:38:24 +02:00
Bojan Novković
3f32a7e4ee vm: Add a KVA arena for M_NEVERFREED allocations
This patch adds a new KVA arena for separating M_NEVERFREED allocations.
Separating KVAs for pages that are never freed should facilitate
superpage promotion in the kernel.

Differential Revision:	https://reviews.freebsd.org/D45997
Reviewed by:	alc, kib, markj
Tested by:	alc
2024-07-30 17:38:24 +02:00