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 :)
-
Kbuild / Kconfig fixes and improvements: These are changes that I have authored as part of maintaining Kbuild and Kconfig.
Documentation: kbuild: Update the debug information notes in reproducible-builds.rst(v1)
-
Miscellaneous fixes and improvements: These are fixes and improvements that don’t fit into a particular category but matter in some way to my other work.
tracing: Adjust cmd_check_undefined to show unexpected undefined symbols(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…ARM: multi_v7_defconfig: Drop duplicate CONFIG_TI_PRUSS=m(v1)powerpc/vdso: Drop -DCC_USING_PATCHABLE_FUNCTION_ENTRY from 32-bit flags with clang(v1)drm/amdgpu/discovery: Add braces to case statements in amdgpu_discovery_table_check()(v1)platform/x86: lenovo: wmi-gamezone: Drop gz_chain_head(v1)drm/xe: Fix format specifier for printing pointer differences(v1)dtc: Remove unused dts_version in dtc-lexer.l(v1)extract-cert: Wrap key_pass with '#ifdef USE_PKCS11_ENGINE'(v1)modpost: Declare extra_warn with unused attribute(v1)perf/arm-cmn: Fix resource_size_t printk specifier in arm_cmn_init_dtc()(v1)
Patch handling, 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 09/13] lib/fonts: Compare font data for equality with font_data_is_equal()Re: [PATCH kbuild] kbuild: Allow to reduce the number of suffixes for clang thin-lto buildRe: [PATCH] integrity: avoid using __weak functionsRe: [PATCH] scripts: kconfig: merge_config.sh: fix unexpected operator warningRe: Patch "ACPI: APEI: GHES: Disable KASAN instrumentation when compile testing with clang < 18" has been added to the 6.12-stable treeRe: [PATCH 0/9] kbuild: uapi: remove usage of toolchain headersRe: [PATCH] kbuild: reduce output spam when building out of treeRe: [PATCH 0/3] check-uapi: improve portability for testing headersRe: [PATCH kbuild v2] kbuild: Reduce the number of compiler-generated suffixes for clang thin-lto buildRe: [PATCH v2] ACPI: CPPC: Move reference performance to capabilitiesRe: [PATCH] scripts: kconfig: merge_config.sh: create tmp file for awkRe: [PATCH 0/3] Fix merge_config.shRe: [PATCH] Documentation/kbuild: fix empty string KBUILD_BUILD_TIMESTAMPRe: [PATCH RFC 0/5] kbuild: uapi: also test UAPI headers against C++ compilersRe: [PATCH v5 0/2] kbuild: distributed build support for Clang ThinLTORe: [REGRESSION][PATCH] drm/amd/display: Fix uninitialized variable which breaks full LTORe: [PATCH v2] drm/amd/display: Fix uninitialized variable use which breaks full LTORe: (subset) [PATCH 1/3] KVM: arm64: fix include path for ring buffer implementationRe: [PATCH] tracing: Generate undef symbols allowlist for simple_ring_bufferRe: [PATCH v2] tracing: Generate undef symbols allowlist for simple_ring_bufferRe: [PATCH] scripts: headers_install.sh: Normalize __ASSEMBLY__ to __ASSEMBLER__Re: [PATCH 09/14] kbuild: Only run objtool if there is at least one commandRe: [PATCH -tip v3 3/4] x86/segment: Use ASM_INPUT_RM in __loadsegment_fs()Re: [PATCH v2 1/3] kbuild: rust: add `CONFIG_RUSTC_CLANG_LLVM_COMPATIBLE`Re: [PATCH] kbuild: pacman-pkg: package unstripped vDSO librariesRe: [PATCH] kbuild: rust: add AutoFDO supportRe: [PATCH v3 15/16] mm: add mmap_action_map_kernel_pages[_full]()Re: [PATCH] bug: shut up format attribute warning for clang as wellRe: [PATCH] sched/topology: Initialize sd_span after assignment to *sdRe: [PATCH] compiler: Simplify generic RELOC_HIDE()Re: [PATCH tip/locking/core] compiler-context-analysis: Add support for multi-argument guarded_byRe: [PATCH] ppc/pnv: generate dtb after machine initialization is completeRe: [PATCH] lib: typecheck: initialize const variable to avoid Clang warningRe: [PATCH v2] kbuild: modules-cpio-pkg: Respect INSTALL_MOD_PATHRe: [PATCH v2] ppc/pnv: generate dtb after machine initialization is completeRe: [PATCH] kbuild: add -fdiagnostics-show-inlining-chain for FORTIFY_SOURCERe: [PATCH v3] kbuild: modules-cpio-pkg: Respect INSTALL_MOD_PATHRe: [PATCH v2] kbuild: add GCC stability warningRe: [PATCH v7 3/3] kbuild: distributed build support for Clang ThinLTORe: [PATCH] kconfig: forbid multiple entries with the same symbol in a choiceRe: [PATCH tip/locking/core] compiler-context-analysis: Bump required Clang version to 23Re: [PATCH 02/15] scripts/sbom: integrate script in make processRe: [PATCH 6.1] net: enetc: fix PF !of_device_is_available() teardown pathRe: [PATCH v2] kbuild: expand inlining hints with -fdiagnostics-show-inlining-chainRe: [PATCH v9 3/3] kbuild: distributed build support for Clang ThinLTORe: [PATCH v2 0/4] kbuild: vdso_install: drop build ID architecture allow-list
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.
Re: KCFLAGS vs KCPPFLAGS for -fdebug-prefix-mapRe: [PATCH v1 4/8] ACPI: x86/rtc-cmos: Use platform device for driver bindingRe: [patch 20/48] x86/apic: Enable TSC coupled programming modeRe: [PATCH v2 09/13] lib/fonts: Compare font data for equality with font_data_is_equal()Re: [PATCH 5.15 000/410] 5.15.202-rc2 reviewRe: linux-next: manual merge of the kvm-x86 tree with the tip treeRe: [PATCH 0/2] kbuild: Switch from '-fms-extensions' to '-fms-anonymous-structs' when availableRe: clang/objtool failures on linux-nextRe: [PATCH v3 1/3] scripts: kconfig: merge_config.sh: refactor from shell/sed/grep to awkRe: [PATCH v2] ACPI: CPPC: Move reference performance to capabilitiesRe: Hosting first-party kernel.org container images[SystemZ] Add a SystemZ specific pre-RA scheduling strategyRe: [PATCH v14 18/30] tracing: Check for undefined symbols in simple_ring_bufferRe: [linux-next:master 5585/5731] error[E0277]: `*const kernel::bindings::vm_uffd_ops` cannot be shared between threads safelyRe: [PATCH v5 1/2] kbuild: move vmlinux.a build rule to scripts/Makefile.vmlinux_aApply e2ffa15b9baa and fde0ab43b9a3 to 6.12NULL pointer dereference when booting ppc64_guest_defconfig in QEMU on -nextRe: [tip: sched/core] sched/topology: Compute sd_weight considering cpuset partitionsRe: [PATCH v2] staging: rtl8723bs: remove reduntant functionsRe: [PATCH v2] ppc/pnv: fix dumpdtb optionRe: [PATCH 6.1 379/481] net: enetc: allocate vf_state during PF probes
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.
Updates patches (March 5, 2026)build-rust.py: Introduce '--configure-set-args'Drop hwmon macsmc patch from mainline and -tipUpdate korg-clang-22 to 22.1.1patches: stable: Drop drivers/hwmon/macsmc-hwmon.c changegenerator: Drop build frequenciesUpdate korg-clang-22 to 22.1.2- Switch to
ruff formatfor Python in ClangBuiltLinux repositories Disable i386 builds with clang < 17 on 6.12
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 two AMD-based devices. 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.
-
I submitted the following pull requests.
Special thanks
Special thanks to Google and the Linux Foundation for sponsoring my work.