Occasionally, I will forget to link something from the mailing list in this post. To see my full mailing list activity (patches, reviews, and reports), you can view it on lore.kernel.org.
Linux kernel patches
-
Build errors: These are patches to fix various build errors that I found through testing different configurations with LLVM or were exposed by our continuous integration setup. The kernel needs to build in order to be run :)
-
Miscellaneous fixes and improvements: These are fixes and improvements that don’t fit into a particular category but are important to ClangBuiltLinux.
scripts/Makefile.extrawarn: Respect CONFIG_WERROR / W=e for hostprogs(v1)kbuild: Fixes for fallout from recent modules.builtin.modinfo series(v1)kbuild: Use '--strip-unneeded-symbol' for removing module device table symbols(v1)powerpc/vmlinux.lds: Drop .interp description(v1)jfs: Rename _inline to avoid conflict with clang's '-fms-extensions'(v1)KMSAN: Restore dynamic check for '-fsanitize=kernel-memory'(v1)kbuild: Rename Makefile.extrawarn to Makefile.warn(v1)kbuild: uapi: Drop types.h check from headers_check.pl(v1)
-
Warning fixes: These are patches to fix various warnings that appear with LLVM. I used to go into detail about the different warnings and what they mean, but the important takeaway for this section is that the kernel should build warning free, as all developers should be using
CONFIG_WERROR, which will turn these all into failures. Maybe these should be in the build failures section…PCI: rcar-host: Add OF Kconfig dependency to avoid objtool no-cfi warning(v1,v2)i2c: designware: Remove i2c_dw_remove_lock_support()(v1)smb: client: Fix format specifiers for size_t in parse_dfs_referrals()(v1)net/mlx5e: Return 1 instead of 0 in invalid case in mlx5e_mpwrq_umr_entry_size()(v1)usb: uhci: Work around bogus clang shift overflow warning from DMA_BIT_MASK(64)(v1,v2)HID: intel-ish-hid: Fix -Wcast-function-type-strict in devm_ishtp_alloc_workqueue()(v1)
Patch review and input
For the next sections, I link directly to my first response in the thread when possible but there are times where the link is to the main post. My responses can be seen inline by going to the bottom of the thread and clicking on my name.
Reviewing patches that are submitted is incredibly important, as it helps ensure good code quality due to catching mistakes before the patches get accepted and it can help get patches accepted faster, as some maintainers will blindly pick up patches that have been reviewed by someone that they trust.
Re: [PATCH v2] kbuild: uapi: Strip comments before size type checkRe: [PATCH] net/mlx5: fix pre-2.40 binutils assembler errorRe: [PATCH 2/2] kbuild: userprogs: also inherit byte order and ABI from kernelRe: [PATCH AUTOSEL 6.17-5.4] x86/build: Remove cc-option from stack alignment flagsRe: [PATCH] tools headers: kcfi: rename missed CONFIG_CFI_CLANGRe: [PATCH v2] kbuild: uapi: Strip comments before size type checkRe: [PATCH v2 4/5] kbuild: uapi: upgrade check_sizetypes() warning to errorRe: [PATCH v2] gen_init_cpio: Ignore fsync() returning EINVAL on pipesRe: [PATCH] scripts/clang-tools: Handle included .c files in gen_compile_commandsRe: [PATCH v2 1/1] tick/nohz: avoid showing '(null)' if nohz_full= not setRe: [PATCH] kbuild: uapi: reuse KBUILD_USERCFLAGSRe: [PATCH] kbuild: Use objtree for module signing key pathRe: [PATCH v9 2/4] tracing: Add a tracepoint verification check at build timeRe: [PATCH v9 4/4] tracing: Add warnings for unused tracepoints for modules[support] Don't require VFS in `SourceMgr` for loading includesRe: [PATCH] scripts: Add check-build-warnings.pl for tracking kernel build warningsRe: [PATCH 2/2] drm/xe/configfs: fix clang warnings for missing parameter nameRe: [PATCH] modpost: drop '*_probe' from section check whitelistRe: [PATCH 1/2] Kbuild: enable -fms-extensionsRe: [PATCH] fs/pipe: stop duplicating union pipe_index declarationRe: [PATCH] kbuild: align modinfo section for Secureboot Authenticode EDK2 compatRe: [PATCH v1] pinctrl: mpfs-iomux0: fix compile-time constant warning for LLVM prior to 17Re: [PATCH] dma-mapping: Allow use of DMA_BIT_MASK(64) in global scopeRe: [PATCH] drm/tiny: pixpaper: Prevent inlining of send helpers to reduce stack usageRe: [PATCH v2] scripts/clang-tools: Handle included .c files in gen_compile_commands
Issue triage, input, and reporting
The unfortunate thing about working at the intersection of two projects is we will often find bugs that are not strictly related to the project, which require some triage and reporting back to the original author of the breakage so that they can be fixed and not impact our own testing. Some of these bugs fall into that category while others are issues strictly related to this project.
BUILD_BUG_ON failed: !__builtin_constant_p(tmo == libeth_xsktmo) with ARCH=arm allmodconfigRe: [PATCH net-next V6] net/mlx5: Improve write-combining test reliability for ARM64 Grace CPUsRe: [PATCH v4 1/2] platform/x86: Add Uniwill laptop driverSemantic conflict around CONFIG_CFI_CLANG between Linus's tree and x86/coreRe: next-20251002: S390: gcc-8-defconfig: symbol `.modinfo' required but not present - no symbolsPresence of multiple versions in /usr/lib/gcc/x86_64-linux-gnu in sparc images causes clang warningCrash with full LTO when linking Nouveau driver after LLVM commit bbdcba9b851abRe: [REGRESSION][BISECTED] kbuild: CFLAGS=-w no longer worksRe: [tip:x86/core 1/1] vmlinux.o: warning: objtool: rcar_pcie_probe+0x13e: no-cfi indirect call!Re: Building a allyesconfig kernel fails because macros are being redefinedRe: [PATCH] arch/powerpc: Remove .interp section in vmlinuxApply 2f13daee2a72 ("lib/crypto/curve25519-hacl64: Disable KASAN with clang-17 and older") to 6.12Add support for flag output operand "=@cc" for SystemZ.Re: clang 15 build errorRe: [BUG] kbuild: modules.builtin is empty on architectures without CONFIG_ARCH_VMLINUX_NEEDS_RELOCS[support] Use VFS in `SourceMgr` for loading includesRe: [PATCHv6] io_uring: add support for IORING_SETUP_SQE_MIXEDRe: [PATCH 6.17 000/563] 6.17.3-rc1 reviewRe: [PATCH v3 4/4] leds: Add virtualcolor LED group driver[ARM][KCFI] Add backend support for Kernel Control-Flow IntegrityRe: Can't boot kernel 6.17.4+ via rEFIndRe: [Linaro-TCWG-CI] v6.17.3-130-g86f364ee5842: Failure on aarch64Re: [PATCH V3 2/5] ublk: implement NUMA-aware memory allocationRe: [PATCH v3] riscv: asm: use .insn for making custom instructionsRe: [tip: objtool/core] objtool/klp: Add --debug option to show cloning decisionsRe: [PATCH] btrfs: make ASSERT no-op in release builds
Tooling improvements
These are changes to various tools that we use, such as our continuous integration setup, booting utilities, toolchain building scripts, or other closely related projects such as AOSP’s distribution of LLVM and TuxMake.
Update PGO kernel to 6.17 and bump known good revisionpatches: Drop 7fa37ba25a1dfc084e24ea9acc14bf1fad8af14c from mainline and -tipDrop support for LLVM 13 and 14 from mainlineUpdate patches (October 13, 2025)Python linting updates and fixes[boot-utils] .github/workflows: Lint with Python 3.13 and 3.14[tc-build] .github/workflows: Lint with Python 3.14patches: Drop 7fa37ba25a1dfc084e24ea9acc14bf1fad8af14c from stable and 6.12Update patches (October 30, 2025)
Behind the scenes
-
Every day that there is a new linux-next release, I rebase and build a few different kernel trees then boot and runtime test them on several different machines, including a SolidRun Honeycomb LX2, an Ampere Altra Developer Platform, four Intel-based devices, and an AMD-based device. This is not always visible because I do not report anything unless there is something broken but it can take up to a few hours each day, depending on the amount of churn and issues uncovered.
-
I continue to upload prebuilt, fast versions of LLVM for kernel developers and our continuous integration to use.
Special thanks
Special thanks to Google and the Linux Foundation for sponsoring my work.