Be more conservative with pool and freelist sizes and address potential deadlocks discovered while working on PR kern/60396.
Note that with this change we track the total amount of memory allocated to
both reserved buffers and pools on a per-array basis, and constrain
"openings" to keep it under control on small-memory machines.
1) Per suggestion from oster@, rename the "emergency" freelists that are now
used before dynamic allocation to "reserved" freelists.
2) Eliminate static pool sizes and compute dynamically instead. For now,
most are larger to avoid potential deadlocks discussed below. With
some restructuring of the I/O dispatch model they can probably get smaller.
3) Address an M_WAITOK allocation with PSS_MUTEX held in "forced"
reconstruction. It appears this could deadlock rf_RaidIOThread
and the recon thread. Added another small set of emergency
buffers to cover this case.
4) Reorganize rf_Configure to initialize pools _after_ disk,
[35 lines not shown]
Pull up following revision(s) (requested by riastradh in ticket #1384):
external/bsd/file/dist/src/fsmagic.c: revision 1.19
external/bsd/file/include/config.h: revision 1.22
tests/dev/fss/t_fss.sh: revision 1.8
lib/libutil/stat_flags.c: revision 1.4
lib/libutil/stat_flags.c: revision 1.5
external/bsd/file/dist/configure.ac: revision 1.24
(all via patch)
string_to_flags(3): Support `snap' (SF_SNAPSHOT).
PR bin/60380: find(1) can't find snapshots
string_to_flags(3): Put `snap' under #ifdef SF_SNAPSHOT.
Same as in flags_to_string(3). Not really sure why, but let's keep it
consistent so there's only one question to ponder and not two.
[13 lines not shown]
Pull up following revision(s) (requested by riastradh in ticket #538):
external/bsd/file/dist/src/fsmagic.c: revision 1.19
external/bsd/file/include/config.h: revision 1.22
tests/dev/fss/t_fss.sh: revision 1.8
lib/libutil/stat_flags.c: revision 1.4
lib/libutil/stat_flags.c: revision 1.5
external/bsd/file/dist/configure.ac: revision 1.24
(all via patch)
string_to_flags(3): Support `snap' (SF_SNAPSHOT).
PR bin/60380: find(1) can't find snapshots
string_to_flags(3): Put `snap' under #ifdef SF_SNAPSHOT.
Same as in flags_to_string(3). Not really sure why, but let's keep it
consistent so there's only one question to ponder and not two.
[13 lines not shown]
Pull up following revision(s) (requested by riastradh in ticket #1380):
lib/libc/gen/pthread_atfork.c: revision 1.19
PR/59112: Martin Husemann: switch to using mmap instead of malloc
Pull up following revision(s) (requested by riastradh in ticket #1379):
lib/libc/arch/arm/misc/arm_initfini.c: revision 1.8
lib/libc/arch/arm/misc/arm_initfini.c: revision 1.9
lib/libc/arch/arm/misc/arm_initfini.c: revision 1.10
PR/59063: Martin Husemann: Avoid using malloc through sysctlbyname by doing
the sysctl name to mib translation directly. Thanks martin@ for testing!
use the latest version that does not abort on error.
don't abort, just fail.
Pull up following revision(s) (requested by riastradh in ticket #1378):
external/bsd/nvi/dist/regex/regcomp.c: revision 1.9
PR/59103: RVP: Search of non-ASCII chars. broken when `:set extended' is set
Pull up following revision(s) (requested by riastradh in ticket #1377):
share/man/man9/module.9: revision 1.55
PR 59102: fix signature of module callback function.
revert ohci 1.330:
---
use PR_ZERO on on pool allcoated memory and get rid of memset.
currently, xfer is zeroed using the wrong size.
remove it and simplify code.
reviewed by christos@
---
Taylor pointed out that pool_cache*() does not document or honour
PR_ZERO, so this actually no longer is returning zeroed ohci_xfer
structures. it also did not have the "wrong size", but that is an
understandable mistake -- the cost assignes to "struct usb_xfer *",
but is really a "struct ohci_xfer", which is usb_xfer + more, so
while it appears to be memset()ing beyond the buffer, it isn't.
wrt pool_cache and PR_ZERO, there's a strange conflict between the
[11 lines not shown]
Import unbound-1-26-2 (previous was 1-26-1)
Unbound 1.26.2
This release has a number of security fixes.
The release is signed with the OpenPGP software signing key that is
in use since Jan 1st 2026:
User ID: NLnet Labs releases signing key G2 <releases at nlnetlabs.nl>
Key ID: A144 323D EAAC DF45
Fingerprint: 2310 1869 0C4D 903E F419 146A A144 323D EAAC DF45
The key is available from https://nlnetlabs.nl/signing-keys .
This release consolidates security fixes for issues reported over
a period of time. There are fixes for CVE-2026-35501, CVE-2026-50106,
CVE-2026-96405, CVE-2026-97206 and CVE-2026-109125.
Bug Fixes:
[25 lines not shown]
use PR_ZERO on on pool allcoated memory and get rid of memset.
currently, xfer is zeroed using the wrong size.
remove it and simplify code.
reviewed by christos@