[Midnightbsd-cvs] [MidnightBSD/src] 44f964: kqueue: Fix a race when adding an fd-based knote t...
Dag-Erling Smørgrav
noreply at github.com
Thu May 21 10:54:33 EDT 2026
Branch: refs/heads/master
Home: https://github.com/MidnightBSD/src
Commit: 44f964c895fa84a9299323d6d2d23195a98aade5
https://github.com/MidnightBSD/src/commit/44f964c895fa84a9299323d6d2d23195a98aade5
Author: Mark Johnston <markj at FreeBSD.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M sys/kern/kern_event.c
M sys/sys/filedesc.h
Log Message:
-----------
kqueue: Fix a race when adding an fd-based knote to a queue
When registering a new kevent backed by a file descriptor, we first look
up the file description with fget(), then lock the kqueue, then see if a
corresponding knote is already registered. If not, and KN_ADD is
specified, we add the knote to the kqueue.
closefp_impl() interlocks with this process by calling knote_fdclose(),
which locks each kqueue and checks to see if the fd is registered with a
knote. But, if userspace closes an fd while a different thread is
registering it, i.e., after fget() succeeds but before the kqueue is
locked, then we may end up with a mismatch in the knote table, where the
knote kn_fp field points to a different file description than the knote
ident.
Fix the problem by double-checking before registering a knote. Add a
new fget_noref_unlocked() helper for this purpose. It is a clone of
fget_noref(). We could simply use fget_noref(), but I like having an
explicit unlocked variant.
PR: 293382
Reviewed by: kib
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D55852
(cherry picked from commit 8f3227f527567aef53da845ab78da8e16d9051c1)
Commit: 9697539d81134d354c95c516574781966e82e718
https://github.com/MidnightBSD/src/commit/9697539d81134d354c95c516574781966e82e718
Author: Michael Osipov <michaelo at FreeBSD.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M stand/efi/loader/main.c
M stand/man/loader.efi.8
M usr.sbin/efibootmgr/efibootmgr.8
Log Message:
-----------
loader.efi.8/efibootmgr.8: Don't use contradicting term 'EFI BIOS'
Both (U)EFI and BIOS are completely different things, be precise and don't use
them together.
Reviewed by: imp
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D56329
(cherry picked from commit 4f684e929de1275b1099b17b2a2cff0d3f4af223)
Commit: 62b0872d799756e53456a1b0b88578cac2147ede
https://github.com/MidnightBSD/src/commit/62b0872d799756e53456a1b0b88578cac2147ede
Author: Andre Albsmeier <mail at fbsd2.e4m.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M usr.sbin/daemon/daemon.c
Log Message:
-----------
daemon(8): Add "--output-file -o" to list of options enabling supervision mode
This is the small internal doc fix from https://reviews.freebsd.org/D46313
Reviewed by: michaelo
Approved by: (blanket; comment fix)
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D55325
(cherry picked from commit e9a69948a8837601d71e556550a272ca85c03e48)
Commit: eaa5f65982697bd3723a0316159e2d7ca5ad7f55
https://github.com/MidnightBSD/src/commit/eaa5f65982697bd3723a0316159e2d7ca5ad7f55
Author: Michael Osipov <michaelo at FreeBSD.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M share/man/man4/ciss.4
Log Message:
-----------
ciss.4: List all devices supported by ciss(4)
PR: 285744
Reviewed by: ziaee
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D56285
(cherry picked from commit 54f5d20492d231b5c2ddc6f1d94dbffa1707d820)
Commit: c08e9346d4ec0a49ec598e0a58092bb859a2c2b5
https://github.com/MidnightBSD/src/commit/c08e9346d4ec0a49ec598e0a58092bb859a2c2b5
Author: Yuichiro NAITO <naito.yuichiro at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M sys/dev/ixgbe/if_ix.c
M sys/dev/ixgbe/if_sriov.c
M sys/dev/ixgbe/ixgbe_sriov.h
Log Message:
-----------
ixgbe: Fix MRQC register value.
Focus on the MRQE field of the MRQC register, which is 4 bits wide,
and we use these 3 types of values.
- IXGBE_MRQC_RSSEN 0x1 (non VF mode)
- IXGBE_MRQC_VMDQRSS32EN 0xA (less than 33 VFs)
- IXGBE_MRQC_VMDQRSS64EN 0xB (less than 65 VFs)
If we always take a bitwise OR with IXGBE_MRQC_RSSEN,
IXGBE_MRQC_VMDQRSS32EN will never be chosen.
Select these 3 types of values for the proper case.
Signed-off-by: Yuichiro NAITO <naito.yuichiro at gmail.com>
Pull Request: https://github.com/freebsd/freebsd-src/pull/2132
(cherry picked from commit 938c076b9b0bc458a3877b52535527d37199fc09)
Commit: 33bd51b4aeb082073a3d4a57d4c25a8982ba4d90
https://github.com/MidnightBSD/src/commit/33bd51b4aeb082073a3d4a57d4c25a8982ba4d90
Author: Dag-Erling Smørgrav <des at FreeBSD.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M usr.bin/du/tests/du_test.sh
Log Message:
-----------
du: Set BLOCKSIZE before running tests
Several testcases assume BLOCKSIZE=K, so set it at the top of the
script. This fixes an issue where the tests would sometimes fail
when run under sudo.
MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D56476
(cherry picked from commit d618ba314d1452c1cb4360e15ae1c80adac48306)
Commit: a08c1b14391da971ba3502e05e7f0438c83c179e
https://github.com/MidnightBSD/src/commit/a08c1b14391da971ba3502e05e7f0438c83c179e
Author: Michael Osipov <michaelo at FreeBSD.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M sys/geom/label/g_label.c
Log Message:
-----------
glabel(8): Fix debug message for already existing labels
Remove the duplicate (incorrect) name.
PR: 294542
Reviewed by: markj
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D56400
(cherry picked from commit 92c69c791c436eb966fab806393b70e53cde6874)
Commit: 9f5d99a600034d2be25408ba25692307c7301845
https://github.com/MidnightBSD/src/commit/9f5d99a600034d2be25408ba25692307c7301845
Author: Christos Longros <chris.longros at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M sbin/ping/ping6.c
Log Message:
-----------
ping6: treat setsockopt failures as fatal
ping6 needs IPV6_RECVPKTINFO and IPV6_RECVHOPLIMIT to process
incoming replies. When these options fail, replies are silently
dropped and ping6 appears to hang. Use err(3) instead of warn(3)
so the user gets a clear error and immediate exit.
Signed-off-by: Christos Longros <chris.longros at gmail.com>
Reviewed by: pouria, jlduran, glebius
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D56237
(cherry picked from commit 9a4a9f623bbaf991b3ba580593d47f2ee9f7b03b)
Commit: b6bc4cfda2705a578b5a8768e5913c3f86b244f0
https://github.com/MidnightBSD/src/commit/b6bc4cfda2705a578b5a8768e5913c3f86b244f0
Author: Cy Schubert <cy at FreeBSD.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M sbin/ipf/ippool/ippool.5
Log Message:
-----------
ippool(5): Correct example in man page
The example provided puts the semicolon in the wrong place. It must
come after the file:// specification, not in it.
(cherry picked from commit f5d0b30e4af1163bdc18a893b17236517b67790a)
Commit: ccc0d7293ea3c57470ce3846818d78f20d957383
https://github.com/MidnightBSD/src/commit/ccc0d7293ea3c57470ce3846818d78f20d957383
Author: Michael Osipov <michaelo at FreeBSD.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M usr.sbin/mfiutil/Makefile
M usr.sbin/mfiutil/mfi_drive.c
Log Message:
-----------
mfiutil(8): "show drives" truncates information
Improve mfi_pd_inq_string() by
* Reusing buffer sizes from cam/cam.h according to SCSI specification + NULL byte
* Don't truncate vendor-specific information by escaping into a too small buffer
* Use cam_strvis() from libcam instead of old, outdated local copy
* Recaculate size of inq_string based on the reused buffer sizes and
format statements
PR: 294354
Reviewed by: imp
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D56328
(cherry picked from commit 850eb149e7ab0733fcf9469a607dca223ff467ad)
Commit: 0c56e718a6cf1e8157d8683344c459a99bf9181e
https://github.com/MidnightBSD/src/commit/0c56e718a6cf1e8157d8683344c459a99bf9181e
Author: Alice Cariboni <alice.cariboni at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M share/man/man7/tuning.7
Log Message:
-----------
tuning.7: Fix suds typo in manual pages
MFC after: 3 days
Fixes: fc32c802158f Add two new manual pages
Differential Revision: https://reviews.freebsd.org/D55814
(cherry picked from commit f9160912415eef078c32317e02695bc0cc775d39)
Commit: 0590ba4cbd6677da8eaf29644ab2d13f49beb5c2
https://github.com/MidnightBSD/src/commit/0590ba4cbd6677da8eaf29644ab2d13f49beb5c2
Author: Dan Mahoney <github at gushi.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M share/termcap/termcap
Log Message:
-----------
termcap: fix screen entry standout mode (so/se) capabilities
so=\E[3m (italic) is incorrect, should be so=\E[7m (reverse video).
se=\E[23m (italic off) is incorrect, should be se=\E[27m (reverse off).
mr=\E[7m (reverse video) is correctly defined in the same entry.
screen-256color inherits from screen via tc=screen and is fixed
transitively.
PR: 294499
Pull Request: https://github.com/freebsd/freebsd-src/pull/2139
Signed-off-by: Dan Mahoney <freebsd at gushi.org>
(cherry picked from commit 2bff747bb04db6beb19678abc45edd96be0a1347)
Commit: 35f52c675597854866f58016a8eb8ddcefa4f593
https://github.com/MidnightBSD/src/commit/35f52c675597854866f58016a8eb8ddcefa4f593
Author: John W <jwdevel at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M sys/dev/ahci/ahci_pci.c
Log Message:
-----------
ahci(4): Add another device ID for Marvell 9128 SATA controller: 0x91a3
This was encountered on a Gigabyte GA-P55A-UD4 motherboard identifying itself
as:
ahci0 at pci0:2:0:0: class=0x01018f rev=0x11 hdr=0x00 vendor=0x1b4b device=0x91a3 subvendor=0x1458 subdevice=0xb000
vendor = 'Marvell Technology Group Ltd.'
class = mass storage
subclass = ATA
The physical chip has "88SE9128-NAA2" printed on it.
Similar code has been in Linux for a long time:
https://github.com/torvalds/linux/commit/50be5e3657cd2851a297dc0b3fd459f25829d29b
Co-authored-by: Michael Osipov <michaelo at FreeBSD.org>
PR: 288526
Reviewed by: jhb
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D56464
(cherry picked from commit c72edc2b2eb283450df8db05cf9321aee7de0bcb)
Commit: b1c5e5fce9b8a77362487d33429c211e30c50e00
https://github.com/MidnightBSD/src/commit/b1c5e5fce9b8a77362487d33429c211e30c50e00
Author: Dag-Erling Smørgrav <des at FreeBSD.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M secure/caroot/MAca-bundle.pl
M secure/caroot/Makefile
M secure/caroot/blacklisted/Makefile
M secure/caroot/trusted/Makefile
Log Message:
-----------
caroot: Generate both trusted and untrusted
Until now, the untrusted directory has been maintained manually. Modify
the script used to maintain the trusted directory so it can handle both.
While here, clean it up a bit.
MFC after: 1 week
Reviewed by: mandree, markj
Differential Revision: https://reviews.freebsd.org/D51774
(cherry picked from commit b88b0bb784c7fdcfb8174806e822c1f8983c223f)
Commit: e5888bed8d9414ec1228cdbea85d203c5d088dad
https://github.com/MidnightBSD/src/commit/e5888bed8d9414ec1228cdbea85d203c5d088dad
Author: Dag-Erling Smørgrav <des at FreeBSD.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
R secure/caroot/MAca-bundle.pl
M secure/caroot/Makefile
A secure/caroot/ca-extract.pl
Log Message:
-----------
caroot: Rename script and normalize license
MFC after: 1 week
Reviewed by: mandree, markj
Differential Revision: https://reviews.freebsd.org/D51775
(cherry picked from commit 0886019bf853bd30b70aa4b8cdb059830ca6aaad)
Commit: c73ff032583b05e181a42b0c6f7e2925ef55532c
https://github.com/MidnightBSD/src/commit/c73ff032583b05e181a42b0c6f7e2925ef55532c
Author: Dag-Erling Smørgrav <des at FreeBSD.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M secure/caroot/Makefile
M secure/caroot/blacklisted/Camerfirma_Chambers_of_Commerce_Root.pem
M secure/caroot/blacklisted/Camerfirma_Global_Chambersign_Root.pem
M secure/caroot/blacklisted/Certum_Root_CA.pem
M secure/caroot/blacklisted/Chambers_of_Commerce_Root_-_2008.pem
M secure/caroot/blacklisted/D-TRUST_Root_CA_3_2013.pem
M secure/caroot/blacklisted/E-Tugra_Global_Root_CA_ECC_v3.pem
M secure/caroot/blacklisted/E-Tugra_Global_Root_CA_RSA_v3.pem
M secure/caroot/blacklisted/EC-ACC.pem
M secure/caroot/blacklisted/EE_Certification_Centre_Root_CA.pem
M secure/caroot/blacklisted/Entrust_Root_Certification_Authority_-_G4.pem
M secure/caroot/blacklisted/GeoTrust_Primary_Certification_Authority.pem
M secure/caroot/blacklisted/GeoTrust_Primary_Certification_Authority_-_G2.pem
M secure/caroot/blacklisted/GeoTrust_Primary_Certification_Authority_-_G3.pem
M secure/caroot/blacklisted/GeoTrust_Universal_CA.pem
M secure/caroot/blacklisted/GeoTrust_Universal_CA_2.pem
M secure/caroot/blacklisted/Global_Chambersign_Root_-_2008.pem
M secure/caroot/blacklisted/Hellenic_Academic_and_Research_Institutions_RootCA_2011.pem
M secure/caroot/blacklisted/LuxTrust_Global_Root_2.pem
M secure/caroot/blacklisted/Network_Solutions_Certificate_Authority.pem
M secure/caroot/blacklisted/OISTE_WISeKey_Global_Root_GA_CA.pem
M secure/caroot/blacklisted/SecureSign_RootCA11.pem
M secure/caroot/blacklisted/Security_Communication_RootCA3.pem
M secure/caroot/blacklisted/Staat_der_Nederlanden_Root_CA_-_G3.pem
M secure/caroot/blacklisted/SwissSign_Platinum_CA_-_G2.pem
M secure/caroot/blacklisted/SwissSign_Silver_CA_-_G2.pem
M secure/caroot/blacklisted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G4.pem
M secure/caroot/blacklisted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G6.pem
M secure/caroot/blacklisted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G4.pem
M secure/caroot/blacklisted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G6.pem
M secure/caroot/blacklisted/Taiwan_GRCA.pem
M secure/caroot/blacklisted/TrustCor_ECA-1.pem
M secure/caroot/blacklisted/TrustCor_RootCert_CA-1.pem
M secure/caroot/blacklisted/TrustCor_RootCert_CA-2.pem
M secure/caroot/blacklisted/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.pem
M secure/caroot/blacklisted/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.pem
M secure/caroot/blacklisted/VeriSign_Universal_Root_Certification_Authority.pem
M secure/caroot/blacklisted/Verisign_Class_1_Public_Primary_Certification_Authority_-_G3.pem
M secure/caroot/blacklisted/Verisign_Class_2_Public_Primary_Certification_Authority_-_G3.pem
M secure/caroot/blacklisted/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem
M secure/caroot/blacklisted/thawte_Primary_Root_CA.pem
M secure/caroot/blacklisted/thawte_Primary_Root_CA_-_G2.pem
M secure/caroot/blacklisted/thawte_Primary_Root_CA_-_G3.pem
M secure/caroot/ca-extract.pl
M secure/caroot/trusted/ACCVRAIZ1.pem
M secure/caroot/trusted/AC_RAIZ_FNMT-RCM.pem
M secure/caroot/trusted/AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem
M secure/caroot/trusted/ANF_Secure_Server_Root_CA.pem
M secure/caroot/trusted/Actalis_Authentication_Root_CA.pem
M secure/caroot/trusted/AffirmTrust_Commercial.pem
M secure/caroot/trusted/AffirmTrust_Networking.pem
M secure/caroot/trusted/AffirmTrust_Premium.pem
M secure/caroot/trusted/AffirmTrust_Premium_ECC.pem
M secure/caroot/trusted/Amazon_Root_CA_1.pem
M secure/caroot/trusted/Amazon_Root_CA_2.pem
M secure/caroot/trusted/Amazon_Root_CA_3.pem
M secure/caroot/trusted/Amazon_Root_CA_4.pem
M secure/caroot/trusted/Atos_TrustedRoot_2011.pem
M secure/caroot/trusted/Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem
M secure/caroot/trusted/Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem
M secure/caroot/trusted/Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem
M secure/caroot/trusted/BJCA_Global_Root_CA1.pem
M secure/caroot/trusted/BJCA_Global_Root_CA2.pem
M secure/caroot/trusted/Baltimore_CyberTrust_Root.pem
M secure/caroot/trusted/Buypass_Class_2_Root_CA.pem
M secure/caroot/trusted/Buypass_Class_3_Root_CA.pem
M secure/caroot/trusted/CA_Disig_Root_R2.pem
M secure/caroot/trusted/CFCA_EV_ROOT.pem
M secure/caroot/trusted/COMODO_Certification_Authority.pem
M secure/caroot/trusted/COMODO_ECC_Certification_Authority.pem
M secure/caroot/trusted/COMODO_RSA_Certification_Authority.pem
M secure/caroot/trusted/Certainly_Root_E1.pem
M secure/caroot/trusted/Certainly_Root_R1.pem
M secure/caroot/trusted/Certigna.pem
M secure/caroot/trusted/Certigna_Root_CA.pem
M secure/caroot/trusted/Certum_EC-384_CA.pem
M secure/caroot/trusted/Certum_Trusted_Network_CA.pem
M secure/caroot/trusted/Certum_Trusted_Network_CA_2.pem
M secure/caroot/trusted/Certum_Trusted_Root_CA.pem
M secure/caroot/trusted/CommScope_Public_Trust_ECC_Root-01.pem
M secure/caroot/trusted/CommScope_Public_Trust_ECC_Root-02.pem
M secure/caroot/trusted/CommScope_Public_Trust_RSA_Root-01.pem
M secure/caroot/trusted/CommScope_Public_Trust_RSA_Root-02.pem
M secure/caroot/trusted/Comodo_AAA_Services_root.pem
M secure/caroot/trusted/D-TRUST_BR_Root_CA_1_2020.pem
M secure/caroot/trusted/D-TRUST_BR_Root_CA_2_2023.pem
M secure/caroot/trusted/D-TRUST_EV_Root_CA_1_2020.pem
M secure/caroot/trusted/D-TRUST_EV_Root_CA_2_2023.pem
M secure/caroot/trusted/D-TRUST_Root_Class_3_CA_2_2009.pem
M secure/caroot/trusted/D-TRUST_Root_Class_3_CA_2_EV_2009.pem
M secure/caroot/trusted/DigiCert_Assured_ID_Root_CA.pem
M secure/caroot/trusted/DigiCert_Assured_ID_Root_G2.pem
M secure/caroot/trusted/DigiCert_Assured_ID_Root_G3.pem
M secure/caroot/trusted/DigiCert_Global_Root_CA.pem
M secure/caroot/trusted/DigiCert_Global_Root_G2.pem
M secure/caroot/trusted/DigiCert_Global_Root_G3.pem
M secure/caroot/trusted/DigiCert_High_Assurance_EV_Root_CA.pem
M secure/caroot/trusted/DigiCert_TLS_ECC_P384_Root_G5.pem
M secure/caroot/trusted/DigiCert_TLS_RSA4096_Root_G5.pem
M secure/caroot/trusted/DigiCert_Trusted_Root_G4.pem
M secure/caroot/trusted/Entrust_Root_Certification_Authority.pem
M secure/caroot/trusted/Entrust_Root_Certification_Authority_-_EC1.pem
M secure/caroot/trusted/Entrust_Root_Certification_Authority_-_G2.pem
M secure/caroot/trusted/Entrust_net_Premium_2048_Secure_Server_CA.pem
M secure/caroot/trusted/FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem
M secure/caroot/trusted/GDCA_TrustAUTH_R5_ROOT.pem
M secure/caroot/trusted/GLOBALTRUST_2020.pem
M secure/caroot/trusted/GTS_Root_R1.pem
M secure/caroot/trusted/GTS_Root_R2.pem
M secure/caroot/trusted/GTS_Root_R3.pem
M secure/caroot/trusted/GTS_Root_R4.pem
M secure/caroot/trusted/GlobalSign_ECC_Root_CA_-_R4.pem
M secure/caroot/trusted/GlobalSign_ECC_Root_CA_-_R5.pem
M secure/caroot/trusted/GlobalSign_Root_CA.pem
M secure/caroot/trusted/GlobalSign_Root_CA_-_R3.pem
M secure/caroot/trusted/GlobalSign_Root_CA_-_R6.pem
M secure/caroot/trusted/GlobalSign_Root_E46.pem
M secure/caroot/trusted/GlobalSign_Root_R46.pem
M secure/caroot/trusted/Go_Daddy_Class_2_CA.pem
M secure/caroot/trusted/Go_Daddy_Root_Certificate_Authority_-_G2.pem
M secure/caroot/trusted/HARICA_TLS_ECC_Root_CA_2021.pem
M secure/caroot/trusted/HARICA_TLS_RSA_Root_CA_2021.pem
M secure/caroot/trusted/Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem
M secure/caroot/trusted/Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem
M secure/caroot/trusted/HiPKI_Root_CA_-_G1.pem
M secure/caroot/trusted/Hongkong_Post_Root_CA_3.pem
M secure/caroot/trusted/ISRG_Root_X1.pem
M secure/caroot/trusted/ISRG_Root_X2.pem
M secure/caroot/trusted/IdenTrust_Commercial_Root_CA_1.pem
M secure/caroot/trusted/IdenTrust_Public_Sector_Root_CA_1.pem
M secure/caroot/trusted/Izenpe_com.pem
M secure/caroot/trusted/Microsec_e-Szigno_Root_CA_2009.pem
M secure/caroot/trusted/Microsoft_ECC_Root_Certificate_Authority_2017.pem
M secure/caroot/trusted/Microsoft_RSA_Root_Certificate_Authority_2017.pem
M secure/caroot/trusted/NAVER_Global_Root_Certification_Authority.pem
M secure/caroot/trusted/NetLock_Arany__Class_Gold__F__tan__s__tv__ny.pem
M secure/caroot/trusted/OISTE_WISeKey_Global_Root_GB_CA.pem
M secure/caroot/trusted/OISTE_WISeKey_Global_Root_GC_CA.pem
M secure/caroot/trusted/QuoVadis_Root_CA_1_G3.pem
M secure/caroot/trusted/QuoVadis_Root_CA_2.pem
M secure/caroot/trusted/QuoVadis_Root_CA_2_G3.pem
M secure/caroot/trusted/QuoVadis_Root_CA_3.pem
M secure/caroot/trusted/QuoVadis_Root_CA_3_G3.pem
M secure/caroot/trusted/SSL_com_EV_Root_Certification_Authority_ECC.pem
M secure/caroot/trusted/SSL_com_EV_Root_Certification_Authority_RSA_R2.pem
M secure/caroot/trusted/SSL_com_Root_Certification_Authority_ECC.pem
M secure/caroot/trusted/SSL_com_Root_Certification_Authority_RSA.pem
M secure/caroot/trusted/SSL_com_TLS_ECC_Root_CA_2022.pem
M secure/caroot/trusted/SSL_com_TLS_RSA_Root_CA_2022.pem
M secure/caroot/trusted/SZAFIR_ROOT_CA2.pem
M secure/caroot/trusted/Sectigo_Public_Server_Authentication_Root_E46.pem
M secure/caroot/trusted/Sectigo_Public_Server_Authentication_Root_R46.pem
M secure/caroot/trusted/SecureSign_Root_CA12.pem
M secure/caroot/trusted/SecureSign_Root_CA14.pem
M secure/caroot/trusted/SecureSign_Root_CA15.pem
M secure/caroot/trusted/SecureTrust_CA.pem
M secure/caroot/trusted/Secure_Global_CA.pem
M secure/caroot/trusted/Security_Communication_ECC_RootCA1.pem
M secure/caroot/trusted/Security_Communication_RootCA2.pem
M secure/caroot/trusted/Starfield_Class_2_CA.pem
M secure/caroot/trusted/Starfield_Root_Certificate_Authority_-_G2.pem
M secure/caroot/trusted/Starfield_Services_Root_Certificate_Authority_-_G2.pem
M secure/caroot/trusted/SwissSign_Gold_CA_-_G2.pem
M secure/caroot/trusted/T-TeleSec_GlobalRoot_Class_2.pem
M secure/caroot/trusted/T-TeleSec_GlobalRoot_Class_3.pem
M secure/caroot/trusted/TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem
M secure/caroot/trusted/TWCA_CYBER_Root_CA.pem
M secure/caroot/trusted/TWCA_Global_Root_CA.pem
M secure/caroot/trusted/TWCA_Root_Certification_Authority.pem
M secure/caroot/trusted/Telekom_Security_TLS_ECC_Root_2020.pem
M secure/caroot/trusted/Telekom_Security_TLS_RSA_Root_2023.pem
M secure/caroot/trusted/TeliaSonera_Root_CA_v1.pem
M secure/caroot/trusted/Telia_Root_CA_v2.pem
M secure/caroot/trusted/TrustAsia_Global_Root_CA_G3.pem
M secure/caroot/trusted/TrustAsia_Global_Root_CA_G4.pem
M secure/caroot/trusted/Trustwave_Global_Certification_Authority.pem
M secure/caroot/trusted/Trustwave_Global_ECC_P256_Certification_Authority.pem
M secure/caroot/trusted/Trustwave_Global_ECC_P384_Certification_Authority.pem
M secure/caroot/trusted/TunTrust_Root_CA.pem
M secure/caroot/trusted/UCA_Extended_Validation_Root.pem
M secure/caroot/trusted/UCA_Global_G2_Root.pem
M secure/caroot/trusted/USERTrust_ECC_Certification_Authority.pem
M secure/caroot/trusted/USERTrust_RSA_Certification_Authority.pem
M secure/caroot/trusted/XRamp_Global_CA_Root.pem
M secure/caroot/trusted/certSIGN_ROOT_CA.pem
M secure/caroot/trusted/certSIGN_Root_CA_G2.pem
M secure/caroot/trusted/e-Szigno_Root_CA_2017.pem
M secure/caroot/trusted/ePKI_Root_Certification_Authority.pem
M secure/caroot/trusted/emSign_ECC_Root_CA_-_C3.pem
M secure/caroot/trusted/emSign_ECC_Root_CA_-_G3.pem
M secure/caroot/trusted/emSign_Root_CA_-_C1.pem
M secure/caroot/trusted/emSign_Root_CA_-_G1.pem
M secure/caroot/trusted/vTrus_ECC_Root_CA.pem
M secure/caroot/trusted/vTrus_Root_CA.pem
Log Message:
-----------
caroot: Clean up
* Get certdata.txt directly from the NSS Mercurial repository, rather
than from the Mozilla Firefox repository which imports it from NSS at
irregular intervals.
* Instead of always fetching the latest certdata.txt, fetch a specific
version. For this commit, we set this to the version that was last
imported in May 2025.
* Add a refrence to the MPL to the generated files.
* Regenerate with latest OpenSSL. This is purely cosmetic; mostly, the
certificate names now contain less unnecessary whitespace and some
elements are quoted.
MFC after: 1 week
Reviewed by: michaelo, kevans
Differential Revision: https://reviews.freebsd.org/D56620
(cherry picked from commit ce33d6396aadb0613f1e74661bdbec571f836a60)
Commit: bc78917b8ec4034fbf68d87b6e9c11f6837811b6
https://github.com/MidnightBSD/src/commit/bc78917b8ec4034fbf68d87b6e9c11f6837811b6
Author: Dag-Erling Smørgrav <des at FreeBSD.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M ObsoleteFiles.inc
M secure/caroot/Makefile
A secure/caroot/blacklisted/Atos_TrustedRoot_Root_CA_ECC_G2_2020.pem
A secure/caroot/blacklisted/Atos_TrustedRoot_Root_CA_RSA_G2_2020.pem
A secure/caroot/blacklisted/COMODO_Certification_Authority.pem
R secure/caroot/blacklisted/Camerfirma_Chambers_of_Commerce_Root.pem
R secure/caroot/blacklisted/Camerfirma_Global_Chambersign_Root.pem
A secure/caroot/blacklisted/Certigna.pem
R secure/caroot/blacklisted/Chambers_of_Commerce_Root_-_2008.pem
A secure/caroot/blacklisted/Comodo_AAA_Services_root.pem
A secure/caroot/blacklisted/D-Trust_SBR_Root_CA_1_2022.pem
A secure/caroot/blacklisted/D-Trust_SBR_Root_CA_2_2022.pem
A secure/caroot/blacklisted/DIGITALSIGN_GLOBAL_ROOT_ECDSA_CA.pem
A secure/caroot/blacklisted/DIGITALSIGN_GLOBAL_ROOT_RSA_CA.pem
A secure/caroot/blacklisted/DigiCert_Assured_ID_Root_CA.pem
A secure/caroot/blacklisted/DigiCert_Global_Root_CA.pem
A secure/caroot/blacklisted/DigiCert_High_Assurance_EV_Root_CA.pem
A secure/caroot/blacklisted/DigiCert_SMIME_ECC_P384_Root_G5.pem
A secure/caroot/blacklisted/DigiCert_SMIME_RSA4096_Root_G5.pem
R secure/caroot/blacklisted/E-Tugra_Global_Root_CA_ECC_v3.pem
R secure/caroot/blacklisted/E-Tugra_Global_Root_CA_RSA_v3.pem
R secure/caroot/blacklisted/EC-ACC.pem
R secure/caroot/blacklisted/EE_Certification_Centre_Root_CA.pem
A secure/caroot/blacklisted/Entrust_Root_Certification_Authority.pem
A secure/caroot/blacklisted/Entrust_Root_Certification_Authority_-_EC1.pem
A secure/caroot/blacklisted/Entrust_Root_Certification_Authority_-_G2.pem
A secure/caroot/blacklisted/Entrust_net_Premium_2048_Secure_Server_CA.pem
A secure/caroot/blacklisted/GTS_Root_R2.pem
R secure/caroot/blacklisted/GeoTrust_Primary_Certification_Authority.pem
R secure/caroot/blacklisted/GeoTrust_Primary_Certification_Authority_-_G2.pem
R secure/caroot/blacklisted/GeoTrust_Primary_Certification_Authority_-_G3.pem
R secure/caroot/blacklisted/GeoTrust_Universal_CA.pem
R secure/caroot/blacklisted/GeoTrust_Universal_CA_2.pem
A secure/caroot/blacklisted/GlobalSign_Root_CA.pem
A secure/caroot/blacklisted/GlobalSign_Secure_Mail_Root_E45.pem
A secure/caroot/blacklisted/GlobalSign_Secure_Mail_Root_R45.pem
R secure/caroot/blacklisted/Global_Chambersign_Root_-_2008.pem
A secure/caroot/blacklisted/Go_Daddy_Class_2_CA.pem
A secure/caroot/blacklisted/HARICA_Client_ECC_Root_CA_2021.pem
A secure/caroot/blacklisted/HARICA_Client_RSA_Root_CA_2021.pem
R secure/caroot/blacklisted/Hellenic_Academic_and_Research_Institutions_RootCA_2011.pem
A secure/caroot/blacklisted/LAWtrust_Root_CA2__4096_.pem
R secure/caroot/blacklisted/LuxTrust_Global_Root_2.pem
R secure/caroot/blacklisted/Network_Solutions_Certificate_Authority.pem
A secure/caroot/blacklisted/OISTE_Client_Root_ECC_G1.pem
A secure/caroot/blacklisted/OISTE_Client_Root_RSA_G1.pem
A secure/caroot/blacklisted/QuoVadis_Root_CA_2.pem
A secure/caroot/blacklisted/QuoVadis_Root_CA_3.pem
A secure/caroot/blacklisted/SSL_com_Client_ECC_Root_CA_2022.pem
A secure/caroot/blacklisted/SSL_com_Client_RSA_Root_CA_2022.pem
A secure/caroot/blacklisted/Sectigo_Public_Email_Protection_Root_E46.pem
A secure/caroot/blacklisted/Sectigo_Public_Email_Protection_Root_R46.pem
R secure/caroot/blacklisted/SecureSign_RootCA11.pem
R secure/caroot/blacklisted/Security_Communication_RootCA3.pem
A secure/caroot/blacklisted/Starfield_Class_2_CA.pem
A secure/caroot/blacklisted/SwissSign_Gold_CA_-_G2.pem
R secure/caroot/blacklisted/SwissSign_Platinum_CA_-_G2.pem
A secure/caroot/blacklisted/SwissSign_RSA_SMIME_Root_CA_2022_-_1.pem
R secure/caroot/blacklisted/SwissSign_Silver_CA_-_G2.pem
R secure/caroot/blacklisted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G4.pem
R secure/caroot/blacklisted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G6.pem
R secure/caroot/blacklisted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G4.pem
R secure/caroot/blacklisted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G6.pem
A secure/caroot/blacklisted/TWCA_Global_Root_CA_G2.pem
R secure/caroot/blacklisted/Taiwan_GRCA.pem
A secure/caroot/blacklisted/Telekom_Security_SMIME_ECC_Root_2021.pem
A secure/caroot/blacklisted/Telekom_Security_SMIME_RSA_Root_2023.pem
A secure/caroot/blacklisted/TrustAsia_SMIME_ECC_Root_CA.pem
A secure/caroot/blacklisted/TrustAsia_SMIME_RSA_Root_CA.pem
R secure/caroot/blacklisted/TrustCor_ECA-1.pem
R secure/caroot/blacklisted/TrustCor_RootCert_CA-1.pem
R secure/caroot/blacklisted/TrustCor_RootCert_CA-2.pem
R secure/caroot/blacklisted/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.pem
R secure/caroot/blacklisted/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.pem
R secure/caroot/blacklisted/VeriSign_Universal_Root_Certification_Authority.pem
R secure/caroot/blacklisted/Verisign_Class_1_Public_Primary_Certification_Authority_-_G3.pem
R secure/caroot/blacklisted/Verisign_Class_2_Public_Primary_Certification_Authority_-_G3.pem
R secure/caroot/blacklisted/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem
R secure/caroot/blacklisted/thawte_Primary_Root_CA.pem
R secure/caroot/blacklisted/thawte_Primary_Root_CA_-_G2.pem
R secure/caroot/blacklisted/thawte_Primary_Root_CA_-_G3.pem
R secure/caroot/trusted/AffirmTrust_Commercial.pem
R secure/caroot/trusted/AffirmTrust_Networking.pem
R secure/caroot/trusted/AffirmTrust_Premium.pem
R secure/caroot/trusted/AffirmTrust_Premium_ECC.pem
R secure/caroot/trusted/Baltimore_CyberTrust_Root.pem
R secure/caroot/trusted/COMODO_Certification_Authority.pem
R secure/caroot/trusted/Certigna.pem
R secure/caroot/trusted/CommScope_Public_Trust_ECC_Root-01.pem
R secure/caroot/trusted/CommScope_Public_Trust_ECC_Root-02.pem
R secure/caroot/trusted/CommScope_Public_Trust_RSA_Root-01.pem
R secure/caroot/trusted/CommScope_Public_Trust_RSA_Root-02.pem
R secure/caroot/trusted/Comodo_AAA_Services_root.pem
R secure/caroot/trusted/DigiCert_Assured_ID_Root_CA.pem
R secure/caroot/trusted/DigiCert_Global_Root_CA.pem
R secure/caroot/trusted/DigiCert_High_Assurance_EV_Root_CA.pem
R secure/caroot/trusted/Entrust_Root_Certification_Authority.pem
R secure/caroot/trusted/Entrust_Root_Certification_Authority_-_EC1.pem
R secure/caroot/trusted/Entrust_Root_Certification_Authority_-_G2.pem
R secure/caroot/trusted/Entrust_net_Premium_2048_Secure_Server_CA.pem
R secure/caroot/trusted/FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem
R secure/caroot/trusted/GLOBALTRUST_2020.pem
R secure/caroot/trusted/GTS_Root_R2.pem
R secure/caroot/trusted/GlobalSign_Root_CA.pem
R secure/caroot/trusted/Go_Daddy_Class_2_CA.pem
A secure/caroot/trusted/OISTE_Server_Root_ECC_G1.pem
A secure/caroot/trusted/OISTE_Server_Root_RSA_G1.pem
R secure/caroot/trusted/QuoVadis_Root_CA_2.pem
R secure/caroot/trusted/QuoVadis_Root_CA_3.pem
R secure/caroot/trusted/SecureTrust_CA.pem
R secure/caroot/trusted/Secure_Global_CA.pem
R secure/caroot/trusted/Starfield_Class_2_CA.pem
R secure/caroot/trusted/SwissSign_Gold_CA_-_G2.pem
A secure/caroot/trusted/SwissSign_RSA_TLS_Root_CA_2022_-_1.pem
R secure/caroot/trusted/TeliaSonera_Root_CA_v1.pem
A secure/caroot/trusted/TrustAsia_TLS_ECC_Root_CA.pem
A secure/caroot/trusted/TrustAsia_TLS_RSA_Root_CA.pem
R secure/caroot/trusted/Trustwave_Global_Certification_Authority.pem
R secure/caroot/trusted/Trustwave_Global_ECC_P256_Certification_Authority.pem
R secure/caroot/trusted/Trustwave_Global_ECC_P384_Certification_Authority.pem
R secure/caroot/trusted/XRamp_Global_CA_Root.pem
R secure/caroot/trusted/certSIGN_ROOT_CA.pem
A secure/caroot/trusted/e-Szigno_TLS_Root_CA_2023.pem
Log Message:
-----------
caroot: Regenerate
Regenerate using certificate data from NSS 3.123.1.
MFC after: 1 week
Reviewed by: kevans
(cherry picked from commit 07b52233e8b74c5ac884b9c9a894f57fad8dbd00)
Commit: 8f9279e7dc94c15836358dec888249b0165ccb0f
https://github.com/MidnightBSD/src/commit/8f9279e7dc94c15836358dec888249b0165ccb0f
Author: Jessica Clarke <jrtc27 at FreeBSD.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M stand/efi/loader/arch/arm/exec.c
M stand/efi/loader/arch/arm64/exec.c
M stand/efi/loader/arch/riscv/exec.c
Log Message:
-----------
loader.efi: Defer efi_translate(e_entry) until after bi_load
bi_load itself loads various things into the staging area which can
cause it to grow, which may result in the staging area moving, including
the kernel. Therefore the address we get for the kernel entry point
prior to bi_load may not be correct afterwards when we actually call it,
and so we must defer the translation.
On arm and riscv (but not arm64, which predates both of them in
loader.efi and did not gain a copy of arm's added printf when arm
support was added) we also printf this entry point to the console, which
we can no longer do since bi_load calls ExitBootServices, so remove this
printf that, in practice, seems to not be so useful, given nobody ever
felt the need to add it to arm64. If anyone really feels this is an
important printf to have then bi_load will need to be split so we can
call printf after all the loading and potential reallocation of the
staging area, but before ExitBootServices is called.
We may also want to make this code more uniform and shared between the
three architectures here, since there isn't much architecture-specific
about this (and something like the RISC-V boot hart protocol could
easily be made an MD hook).
Reviewed by: imp
Fixes: 0cafabf97fae ("Add support for arm64 to loader.efi and boot1.efi")
Fixes: ea7796a9ae6b ("EFI: don't call printf after ExitBootServices, since it uses Boot Services")
Fixes: 2192efc03bc4 ("RISC-V boot1.efi and loader.efi support")
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D56431
(cherry picked from commit ab1d659e78e454995b7c2b4566e035269b215e48)
Commit: 8db26bf90b832923f8cc4766d90e310d3b2600d9
https://github.com/MidnightBSD/src/commit/8db26bf90b832923f8cc4766d90e310d3b2600d9
Author: Jessica Clarke <jrtc27 at FreeBSD.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M sys/arm64/include/pcpu.h
Log Message:
-----------
arm64: Ditch arm64-specific unsound PCPU optimisation
The current arm64 PCPU implementation uses a global register asm
variable to use x18, which we reserve with -ffixed-x18, from C. Inside a
critical_enter() or sched_pin(), it is vital that any PCPU reads use the
right PCPU pointer, as often the whole point of the critical_enter() or
sched_pin() is to ensure consistent PCPU use (e.g. for SMR it relies on
zpcpu giving the same SMR state). critical_enter() and sched_pin() both
include atomic_interrupt_fence(), i.e. asm volatile("" ::: "memory"),
barriers to ensure that memory accesses don't get moved by the compiler
outside the critical section, which on most architectures will also
order the read of the PCPU pointer itself (whether due to the read being
another asm volatile statement, or due to using a segment-relative
memory access as on x86). However, this approach on arm64 is in no sense
a memory access, and therefore the register access is not ordered with
respect to the the critical_enter() or sched_pin(), or more specifically
the curthread->td_critnest++ / curthread->td_pinned++ within.
In practice upstream today this works out ok because the read of x18 is
inlined into the actual PCPU_GET/ADD/SET memory accesses (i.e. you will
get something like ldr xN, [x18, #imm-or-xM] for PCPU_GET, etc.), and
since *that* instruction is ordered properly due to being a memory
access, the x18 ends up being read in the right place. However, that is
not in any way guaranteed, it just relies on the hope that compiler
optimisations will be perfect at inlining the use. Moreover, PCPU_PTR is
definitely not a memory access in this world, it's just pointer
arithmetic on x18, and so that has nothing ordering it. This can be
observed with the following test function compiled into the kernel:
void
pcpu_test(void)
{
extern void __weak_symbol use_pcpu_ptr(void *);
critical_enter();
use_pcpu_ptr(PCPU_PTR(curthread));
critical_exit();
}
Obviously, this is a bit contrived as you could just read curthread
directly via its atomic definition that bypasses any worries about PCPU
atomicity, but it illustrates the point. With the in-tree LLVM*, this
ends up being compiled for me to:
paciasp
stp x29, x30, [sp, #-0x10]!
mov x29, sp
ldr x8, [x18]
ldr w9, [x8, #0x4fc]
mov x0, x18
add w9, w9, #0x1
str w9, [x8, #0x4fc]
bl use_pcpu_ptr
...
Note that, although the PCPU_PTR was within the critical section in the
C source, the read of x18 into x0, the argument register passed to
use_pcpu_ptr, has been hoisted to before the str, which is storing the
new, incremented, value of td_critnest to curthread, and so there is a
window within which we have to hope the thread is not preempted and
migrated to a different CPU, otherwise it will pass a pointer to the
wrong CPU's pc_curthread PCPU member.
Initially it would seem as though the solution to this would be to add
an additional barrier to critical_enter() / sched_pin() to ensure the
register reads could not be hoisted like this. However, I have not been
able to find a sequence that works reliably across both GCC and Clang,
independent of optimisation level. Using inline asm with x18 marked as a
clobber, using "=r"(pcpup), and using "+r"(pcpup) all run into various
issues; some combinations don't actually seem to be a barrier, and for
Clang at -O0 some combinations will actually generate writes to x18**,
at which point you then have to hope that the kernel is compiled with
optimisations, and that the redundant writes are optimised away such
that x18 is just passed through. But that just gets us back to hoping
optimisation works, which isn't a solution to the problem, it just
trades one point of fragility for another.
In talking to GCC developers, who seemed rather horrified by the
implications of trying to do this (which is effectively "register
volatile", a combination that's explicitly forbidden), we could not find
a solution to this, and so I have concluded that the only reliable to
have a sound PCPU implementation is to ditch this optimisation and
follow other non-x86 architectures in using inline asm in one form or
another; specifically, this adopts riscv's approach of just calling
get_pcpu(), which, curiously, was already implemented in inline asm here
on arm64, rather than reading pcpup.
Anyone who feels strongly enough about PCPU performance is welcome to
try to find a working approach, but such proposals should be heavily
scrutinised to be certain that they won't come back to bite us in
future. In particular, this caused a lot of problems downstream in
CheriBSD's experimental compartmentalised kernel, which is trialling
interposing on PCPU accesses in order to restrict access within
compartments. As a result, even PCPU_GET/SET/ADD can look like PCPU_PTR,
as they pass an opaque PCPU reference to wrapper functions, and so this
case gets hit all over the kernel, giving highly-confusing panics with
locks that aren't owned by the current thread or SMR use allegedly not
within an smr_enter().
The ia64 port encountered the same issue and reached the same conclusion
in e31ece45b7a4 ("Fix the PCPU access macros."), though went to the
trouble of trying to fold the offset into the inline assembly (assuming
it fit, with no fallback if not, since it's using the add pseudo-op that
will be expanded to either adds with a 14-bit immediate or, if somehow
that doesn't fit, addl with a 22-bit immediate). Curiously though it
left pcpup around as a footgun. sparc64 had similar code but was never
fixed. It also defined a curpcb in the same manner which was presumably
similarly broken, but looks to have been entirely unreferenced from C,
only referenced in actual assembly files. Alpha also had the same
design, but it was removed whilst critical_enter() was extern rather
than static inline so uses of the pointer could not have been hoisted,
and whilst sched_pin() didn't have any form of atomic_interrupt_fence()
to even try to make PCPU well-ordered.
* At time of writing, when that was LLVM 19, not verified at time of
commit with LLVM 21.
** For "+r"(pcpup), Clang's initial code generation is to do:
mov xTtmp1, x18
mov x18, xTmp1
/* asm (empty) */
mov xTmp2, x18
mov x18, xTmp2
since its interpretation of what that means is "read the value of
pcpup, and make sure that value is in x18 for the duration of the
assembly due to the asm("x18") on pcpup", and similarly for the output
side.
Reviewed by: andrew, jhb
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D56601
(cherry picked from commit 551d47c5677a5eaf0a1ed2ea3b2b1406b192764d)
Commit: e61c266ce6d54aa5de2fa42c25f8d560d2011e94
https://github.com/MidnightBSD/src/commit/e61c266ce6d54aa5de2fa42c25f8d560d2011e94
Author: Michael Osipov <michaelo at FreeBSD.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M sys/dev/mfi/mfi.c
M sys/dev/mrsas/mrsas.c
Log Message:
-----------
mfi(4)/mrsas(4): Print driver versions consistently
Reviewed by: ziaee, des
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D54519
(cherry picked from commit 93122ead724b3ba0ccdaedadcd371ec53f9a9844)
Commit: 2e08531221ca38449df6b992606fe467b7467608
https://github.com/MidnightBSD/src/commit/2e08531221ca38449df6b992606fe467b7467608
Author: Dag-Erling Smørgrav <des at FreeBSD.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M usr.bin/lockf/tests/lockf_test.sh
Log Message:
-----------
lockf: Test that lockf does not spin on fd
PR: 294832
MFC after: 1 week
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D56723
(cherry picked from commit 0733afdb4dad58cfe7ad7f5994e26bf148d78199)
Compare: https://github.com/MidnightBSD/src/compare/d421b7a61bc7...2e08531221ca
To unsubscribe from these emails, change your notification settings at https://github.com/MidnightBSD/src/settings/notifications
More information about the Midnightbsd-cvs
mailing list