HardenedBSD/src ed635f0lib/clang/libllvm Makefile

Merge branch 'freebsd/14-stable/main' into hardened/14-stable/master
DeltaFile
+0-10lib/clang/libllvm/Makefile
+0-101 files

HardenedBSD/src 06b09aelib/clang/libllvm Makefile

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+0-10lib/clang/libllvm/Makefile
+0-101 files

HardenedBSD/src 1fbba4flib/clang/libllvm Makefile

Remove TableGen objects from libllvm, fixing bad option registrations

In 986e05bc2a18 I revamped the build for all the llvm subprojects. Among
others I added objects under contrib/llvm-project/llvm/lib/TableGen, but
I missed that upstream explicitly removes these when building the shared
llvm library:

https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm/tools/llvm-shlib/CMakeLists.txt#L23

In 2e47f35be5dc I converted libllvm to a shared library. From that point
onwards, some of the global command line option objects registered in
llvm/lib/TableGen/Main.cpp conflict with similar objects in tools like
llvm-cov, llvm-as, etc.

This results in an error when running these tools: "CommandLine Error:
Option 'o' registered more than once!", followed by a fatal exit.

Fix this by removing the TableGen objects from libllvm. Note that we no
longer install any of the tblgen binaries, these are only used during

    [6 lines not shown]
DeltaFile
+0-10lib/clang/libllvm/Makefile
+0-101 files

HardenedBSD/src 9636482lib/clang/libllvm Makefile

Remove TableGen objects from libllvm, fixing bad option registrations

In 986e05bc2a18 I revamped the build for all the llvm subprojects. Among
others I added objects under contrib/llvm-project/llvm/lib/TableGen, but
I missed that upstream explicitly removes these when building the shared
llvm library:

https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm/tools/llvm-shlib/CMakeLists.txt#L23

In 2e47f35be5dc I converted libllvm to a shared library. From that point
onwards, some of the global command line option objects registered in
llvm/lib/TableGen/Main.cpp conflict with similar objects in tools like
llvm-cov, llvm-as, etc.

This results in an error when running these tools: "CommandLine Error:
Option 'o' registered more than once!", followed by a fatal exit.

Fix this by removing the TableGen objects from libllvm. Note that we no
longer install any of the tblgen binaries, these are only used during

    [6 lines not shown]
DeltaFile
+0-10lib/clang/libllvm/Makefile
+0-101 files

HardenedBSD/src 003ca02sys/cam/scsi scsi_xpt.c, sys/dev/ufshci ufshci_sim.c ufshci_private.h

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+157-82sys/cam/scsi/scsi_xpt.c
+141-2sys/dev/ufshci/ufshci_sim.c
+16-0sys/dev/ufshci/ufshci_private.h
+13-1sys/dev/ufshci/ufshci_dev.c
+6-6sys/dev/ufshci/ufshci_ctrlr.c
+10-0sys/dev/ufshci/ufshci.h
+343-9112 files not shown
+364-9518 files

HardenedBSD/src e2a8e82share/man/man9 exterror.9, sys/dev/nvme nvme_ns.c

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+82-0share/man/man9/exterror.9
+32-0sys/kern/sys_generic.c
+23-0sys/sys/exterrvar.h
+13-4sys/kern/vfs_bio.c
+7-7sys/dev/nvme/nvme_ns.c
+12-2sys/geom/geom_subr.c
+169-139 files not shown
+219-2915 files

HardenedBSD/src 3140755sys/dev/ufshci ufshci_sim.c ufshci_dev.c

ufshci: Add a check for WLUN during driver initialization

This patch checks whether wlun is registered as a periph device.
It also implements a function to issue an SSU.

Reviewed by:            imp (mentor)
Sponsored by:           Samsung Electronics
Differential Revision:  https://reviews.freebsd.org/D53923
DeltaFile
+113-1sys/dev/ufshci/ufshci_sim.c
+13-1sys/dev/ufshci/ufshci_dev.c
+14-0sys/dev/ufshci/ufshci_private.h
+6-6sys/dev/ufshci/ufshci_ctrlr.c
+4-0sys/dev/ufshci/ufshci_sysctl.c
+150-85 files

HardenedBSD/src 8c35de4sbin/camcontrol camcontrol.c, sys/cam cam_periph.c

cam/scsi: Add power condition support to START STOP UNIT

This patch adds a power_condition parameter to the
scsi_start_stop() function and sets the power condition via SSU.

Reviewed by:            imp (mentor)
Sponsored by:           Samsung Electronic
Differential Revision:  https://reviews.freebsd.org/D53922
DeltaFile
+3-1sys/cam/scsi/scsi_all.c
+2-1sys/cam/scsi/scsi_all.h
+2-0sys/cam/scsi/scsi_cd.c
+1-0sys/dev/mpr/mpr_sas_lsi.c
+1-0sbin/camcontrol/camcontrol.c
+1-0sys/cam/cam_periph.c
+10-21 files not shown
+11-27 files

HardenedBSD/src 5e0d065sys/dev/ufshci ufshci.h ufshci_sim.c

ufshci: Enable WLUN scan

QEMU ufs device does not implement WLUN, so QUIRK is added.

Reviewed by:            imp (mentor)
Sponsored by:           Samsung Electronics
Differential Revision:  https://reviews.freebsd.org/D53921
DeltaFile
+8-0sys/dev/ufshci/ufshci.h
+5-1sys/dev/ufshci/ufshci_sim.c
+2-1sys/dev/ufshci/ufshci_pci.c
+2-0sys/dev/ufshci/ufshci_private.h
+17-24 files

HardenedBSD/src ba96377sys/cam cam_xpt_internal.h cam_ccb.h, sys/cam/scsi scsi_xpt.c scsi_all.h

cam/scsi: Support well known logical unit

This patch adds an additional state to probe well-known logical units
before probing normal logical units.

Reviewed by:            imp (mentor)
Sponsored by:           Samsung Electronics
Differential Revision:  https://reviews.freebsd.org/D53920
DeltaFile
+157-82sys/cam/scsi/scsi_xpt.c
+1-1sys/cam/scsi/scsi_all.h
+1-0sys/cam/cam_xpt_internal.h
+1-0sys/cam/cam_ccb.h
+1-0sys/cam/cam_xpt.c
+161-835 files

HardenedBSD/src 3e3d7e5sys/dev/ufshci ufshci_sim.c ufshci.h

ufshci: add helper to convert SCSI LUN to UPIU LUN formats

Reviewed by:            imp (mentor)
Sponsored by:           Samsung Electronics
Differential Revision:  https://reviews.freebsd.org/D53919
DeltaFile
+24-1sys/dev/ufshci/ufshci_sim.c
+2-0sys/dev/ufshci/ufshci.h
+26-12 files

HardenedBSD/src 398dd92sys/sys param.h

sys/param.h: bump __FreeBSD_version for struct bio and buf layout change

on stable/15.  This is direct commit to the branch.

Sponsored by:   The FreeBSD Foundation
DeltaFile
+1-1sys/sys/param.h
+1-11 files

HardenedBSD/src a0e3492share/man/man9 exterror.9

exterror.9: explain buffers and bios usage of extended errors

(cherry picked from commit c0a38339fec37a5b6367f138f059a12d6d716fd4)
DeltaFile
+82-0share/man/man9/exterror.9
+82-01 files

HardenedBSD/src 0083165sys/sys bio.h

sys/bio.h: print BIO_EXTERR flag

(cherry picked from commit 8794e3718ec3b2a05a70e9c0afd6ab5cac503cdb)
DeltaFile
+2-1sys/sys/bio.h
+2-11 files

HardenedBSD/src a4fadc6sys/geom geom_vfs.c

geom/geom_vfs.c: use EXTERROR_KE() in g_vfs_strategy for ENXIOs

(cherry picked from commit 515fa5ff2e4db907379c284fb7e7df77b4096948)
DeltaFile
+2-0sys/geom/geom_vfs.c
+2-01 files

HardenedBSD/src 35a54c8sys/geom geom_subr.c, sys/kern vfs_bio.c

exterr: print exterr for struct buf and bio in ddb show commands

(cherry picked from commit 7d495be8d4bd3a0e315233346b2f7267b8390612)
DeltaFile
+4-0sys/geom/geom_subr.c
+2-0sys/kern/vfs_bio.c
+1-0sys/sys/exterr_cat.h
+7-03 files

HardenedBSD/src 72bbd18sys/kern sys_generic.c, sys/sys exterrvar.h

exterr: add exterr_db_print(), to be used by several ddb dumpers

(cherry picked from commit 9521b0b91ea31b7f31b3800772ac6502c822ae56)
DeltaFile
+13-0sys/kern/sys_generic.c
+1-0sys/sys/exterrvar.h
+14-02 files

HardenedBSD/src 05e683fsys/sys exterrvar.h

exterror(9): add SETEXTERROR_KE() macro

(cherry picked from commit 7746b51dae12b09266d02f02f8d3b772282ddaf1)
DeltaFile
+20-0sys/sys/exterrvar.h
+20-01 files

HardenedBSD/src 0e1fcecsys/kern sys_generic.c, sys/sys exterrvar.h

exterror(9): add two helpers

(cherry picked from commit 069e2fb5506f8301cd9e2da1946c718bd268c50c)
DeltaFile
+19-0sys/kern/sys_generic.c
+2-0sys/sys/exterrvar.h
+21-02 files

HardenedBSD/src cdf37c5sys/dev/mmc mmcsd.c, sys/dev/nvme nvme_ns.c

sys/: rename bio_error variable to abio_error

(cherry picked from commit 58e5f3b84df0aeaaf4b56a5e48bcb4b3e1d9c097)
DeltaFile
+7-7sys/dev/nvme/nvme_ns.c
+5-5sys/kern/vfs_aio.c
+4-4sys/dev/mmc/mmcsd.c
+16-163 files

HardenedBSD/src cb85c2esys/geom geom_subr.c geom_disk.c, sys/kern vfs_bio.c

exterror(9): add infra for bufs and bios

MFC note: this commit changes the layout for both struct buf and bio.
As such, it breaks KBI for VFS, which by itself often happens after X.0,
so this is not a precedent.

Discussed with: mckusick
Approved by:    re (cperciva)

(cherry picked from commit 6c406b5b93125d030f0e63716ff389ce1a6ec4c5)
DeltaFile
+11-4sys/kern/vfs_bio.c
+8-2sys/geom/geom_subr.c
+8-2sys/geom/geom_disk.c
+9-1sys/sys/buf.h
+6-1sys/geom/geom_vfs.c
+6-1sys/sys/bio.h
+48-112 files not shown
+54-118 files

HardenedBSD/src b5161ecinclude stdbit.h, lib/libc/stdbit stdc_first_trailing_one.3 stdc_bit_width.3

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+124-0include/stdbit.h
+120-0share/man/man3/stdbit.3
+110-0lib/libc/stdbit/stdc_first_trailing_one.3
+104-0lib/libc/stdbit/stdc_bit_width.3
+101-0lib/libc/tests/gen/limits_test.c
+98-0lib/libc/stdbit/stdc_has_single_bit.3
+657-065 files not shown
+3,203-471 files

HardenedBSD/src e260f93share/mk bsd.lib.mk, sys/vm vm_object.c

Merge branch 'freebsd/14-stable/main' into hardened/14-stable/master
DeltaFile
+14-0share/mk/bsd.lib.mk
+2-1sys/vm/vm_object.c
+16-12 files

HardenedBSD/src 9fa9f1bshare/mk bsd.lib.mk, sys/vm vm_object.c

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+15-0share/mk/bsd.lib.mk
+2-1sys/vm/vm_object.c
+17-12 files

HardenedBSD/src 7e35682share/mk bsd.lib.mk

bsd.lib.mk: document INTERNALLIB and PRIVATELIB

(cherry picked from commit e60861eb41ca9d141a0d967db3ecbe2b2909c300)
DeltaFile
+14-0share/mk/bsd.lib.mk
+14-01 files

HardenedBSD/src feac4c3sys/vm vm_object.c

vm_object_page_remove(): clear pager even if there is no resident pages

(cherry picked from commit 72a447d0bc768c7fe8a9c972f710c75afebd581b)
DeltaFile
+2-1sys/vm/vm_object.c
+2-11 files

HardenedBSD/src 10f12fbsys/vm vm_object.c

vm_object_page_remove(): clear pager even if there is no resident pages

(cherry picked from commit 72a447d0bc768c7fe8a9c972f710c75afebd581b)
DeltaFile
+2-1sys/vm/vm_object.c
+2-11 files

HardenedBSD/src ba5ef9dshare/mk bsd.lib.mk

bsd.lib.mk: document INTERNALLIB and PRIVATELIB

(cherry picked from commit e60861eb41ca9d141a0d967db3ecbe2b2909c300)
DeltaFile
+15-0share/mk/bsd.lib.mk
+15-01 files

HardenedBSD/src 6296500include stdbit.h, lib/libc/stdbit Symbol.map stdc_bit_ceil.c

libc: implement C23 <stdbit.h> functions

This new header complies with ISO/IEC 9899:2024 (C23).

Contrary to glibc, we do not provide inline definitions in
<stdbit.h> as we expect our system compiler to soon recognise
these as builtins anyway.

Relnotes:       yes
MFC after:      1 month
Reviewed by:    adrian
Approved by:    markj (mentor)
Differential Revision:  https://reviews.freebsd.org/D53657
DeltaFile
+124-0include/stdbit.h
+85-0lib/libc/stdbit/Symbol.map
+71-0lib/libc/stdbit/stdc_bit_ceil.c
+60-0lib/libc/stdbit/stdc_leading_zeros.c
+60-0lib/libc/stdbit/stdc_leading_ones.c
+57-0lib/libc/stdbit/stdc_first_leading_zero.c
+457-013 files not shown
+973-219 files

HardenedBSD/src d790b16lib/libc/stdbit stdc_first_trailing_one.3 stdc_bit_width.3

libc/stdbit: add man pages for stdbit functions

This adds man pages for each group of functions in <stdbit.h>.
The man pages have cross references to one-another.
Cross references from external man pages to these will be added
in a later commit.

Reviewed by:    pauamma at gundo.com, kib
Approved by:    markj (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D53659
DeltaFile
+110-0lib/libc/stdbit/stdc_first_trailing_one.3
+104-0lib/libc/stdbit/stdc_bit_width.3
+98-0lib/libc/stdbit/stdc_has_single_bit.3
+93-0lib/libc/stdbit/stdc_first_leading_one.3
+93-0lib/libc/stdbit/stdc_first_trailing_zero.3
+92-0lib/libc/stdbit/stdc_first_leading_zero.3
+590-09 files not shown
+1,283-015 files