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 :)
drm/tidss: dispc: Explicitly include bitfield.h
(v1
)mfd: tps6594: Explicitly include bitfield.h
(v1
)md/md-llbitmap: Use DIV_ROUND_UP_SECTOR_T
(v1
)tpm: loongson: Add bufsiz parameter to tpm_loongson_send()
(v1
)nfsd: Avoid strlen conflict in nfsd4_encode_components_esc()
(v1
,v2
,v3
)Fixes for pmac32_defconfig after fb.h removal from backlight.h
(v1
)
-
Miscellaneous fixes and improvements: These are fixes and improvements that don’t fit into a particular category but are important to ClangBuiltLinux.
nilfs2: fix CFI failure when accessing /sys/fs/nilfs2/features/*
(v1
)
-
Stable backports and fixes: It is important to make sure that the stable trees are as free from issues as possible, as those are the trees that devices and users use; for example, Android and Chrome OS regularly merge from stable, so if there is a problem that will impact those trees that we fixed in mainline, it should be backported.
-
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…compiler-clang.h: Define __SANITIZE_*__ macros only when undefined
(v1
)objtool: Ignore __pi___cfi_ prefixed symbols
(v1
)drm/pixpaper: Fix return type of pixpaper_mode_valid()
(v1
)drm/omap: Mark dispc_save_context() with noinline_for_stack
(v1
)mei: late_bind: Fix -Wincompatible-function-pointer-types-strict
(v1
)btrfs: Fix PAGE_SIZE format specifier in open_ctree()
(v1
)Kconfig fixes for QCOM clk drivers when targeting ARCH=arm
(v1
)
LLVM patches
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 00/17] ASoC: Intel: avs: Adjust platform names
Re: [PATCH 5.4 00/23] 5.4.298-rc1 review
Re: [PATCH 2/2] kbuild: userprogs: also inherit byte order and ABI from kernel
Re: [PATCH v2 1/9] compiler_types.h: Move __nocfi out of compiler-specific header
Re: [PATCH v2 3/9] x86/cfi: Document the "cfi=" bootparam options
Re: [PATCH v2 4/9] x86/cfi: Standardize on common "CFI:" prefix for CFI reports
Re: [PATCH v2 18/22] phy: apple: Add Apple Type-C PHY
Re: [PATCH 1/3] Compiler Attributes: Add __assume macro
Re: [PATCH v1 1/1] kexec: Remove unused code in kimage_load_cma_segment()
Re: [PATCH net-next V2] net/mlx5: Improve write-combining test reliability for ARM64 Grace CPUs
Re: [patch V2 2/6] kbuild: Disable asm goto on clang < 17
Re: [PATCH v7 3/8] kbuild: keep .modinfo section in vmlinux.unstripped
Re: [PATCH v2 2/4] compiler_types: Add __assume macro
Re: [PATCH v8 0/8] Add generated modalias to modules.builtin.modinfo
Re: [PATCH] LoongArch: Fix build error for LTO with LLVM-18
Re: [PATCH next] modpost: Initialize builtin_modname to stop SIGSEGVs
Re: [PATCH] dmaengine: mmp_pdma: fix DMA mask handling
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.
clang-22 -Walloc-size in mm/kfence/kfence_test.c in 6.6 and 6.1
Re: next-20250903 x86_64 clang-20 allyesconfig mmp_pdma.c:1188:14: error: shift count >= width of type [-Werror,-Wshift-count-overflow]
Re: [PATCH -v1 1/2] x86/microcode: Add microcode= cmdline parsing
Re: linux-next: manual merge of the kbuild tree with Lnus' tree
Re: [jirislaby:devel 28/53] drivers/tty/vt/keyboard.c:1789:7: error: cannot jump from this asm goto statement to one of its possible targets
[InstCombine] Strip leading zero indices from GEP
Re: [Linaro-TCWG-CI] llvmorg-22-init-6898-gdf430c33a71f: Failure on aarch64
Re: [drm-xe:drm-xe-next 11/13] drivers/gpu/drm/xe/xe_migrate.c:422:3: error: cannot jump from this indirect goto statement to one of its possible targets
Re: [GIT PULL] Immutable branch between MFD, Char and Crypto due for the v6.18 merge window
Re: [jgunthorpe:iommu_pt_vtd 8/34] ERROR: modpost: "__udivdi3" [drivers/iommu/generic_pt/fmt/iommu_amdv1.ko] undefined!
PPC: Split 64bit target feature into 64bit and 64bit-support
Re: [linux-next:master 9765/10654] drivers/gpu/drm/xe/tests/xe_pci.c:214:2: error: initializer element is not a compile-time constant
Re: [PATCH v1 1/2] LoongArch: Make LTO case independent in Makefile
Re: [PATCH V2] LoongArch: Align ACPI structures if ARCH_STRICT_ALIGN enabled
Re: linux-next: manual merge of the drm-xe tree with the drm-fixes tree
Re: [RFC PATCH v3 6/9] NFSv4/flexfiles: Commit path updates for striped layouts
Re: [PATCH] rv: Fix wrong type cast in enabled_monitors_next()
Re: [PATCH v2 2/5] KVM: Export KVM-internal symbols for sub-modules only
Re: [PATCH v5] tpm: Prevent local DOS via tpm/tpm0/ppi/*operations
Re: Tool directory build problem..
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.
patches: tip: Drop drm/msm -Wsometimes-uninitialized patch
Update patches (September 4, 2025)
Revert "generator: yml: Disable CONFIG_DEBUG_INFO_COMPRESSED_ZSTD in Android configs"
patches: tip: Drop mt7996 -Wuninitialized-const-pointer change
patches: Remove android15-6.6 (September 8, 2025)
Disable ARM allyesconfig on 5.15 with clang-11 and clang-12
patches: Drop backport of 87b07a1fbc6b5c23d3b3584ab4288bc9106d3274
build-llvm.py: Add ability to override "true" arguments
tc_build: kernel: Use virtconfig for arm64 profiling target
tc_build: Enable '--conservative-instrumentation' for BOLT on Apple Silicon
tc_build: llvm: Handle some more deprecated BOLT option values
Update stable anchor to 6.17
Handle CONFIG_CFI_CLANG → CONFIG_CFI
Disable arm64 big endian builds on -next and mainline
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.