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 matter in some way to my other work.
ARM: Fix get_cycles() after delay_read_timer() conversion(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…swim3: Add missing MODULE_DESCRIPTION(v1)scsi: qla2xxx: Fix size_t format specifier in qla29xx_process_rd_image()(v1)arch_numa: Avoid false positive fortify warning in setup_node_to_cpumask_map()(v1,v2)scsi: ibmvfc: Fix use of uninitialized rport in ibmvfc_do_work()(v1)scripts/sorttable: Mark long_size as __maybe_unused(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] riscv/runtime-const: Disable linker relaxation for RUNTIME_MAGICRe: [PATCH] Documentation: warn users not to use select on choice options in KconfigRe: [PATCH 1/1] scripts: kstack_erase: use relative stackleak plugin pathRe: [PATCH 0/2] alpha: enable building with clangRe: [PATCH] MAINTAINERS: add Julian Braha as Kconfig reviewerRe: [PATCH] arm: mediatek: fix secondary CPU boot on Thumb-2 kernels with ClangRe: [PATCH v3] tee: remove TZMEM_MODE_GENERICRe: [PATCH 0/2] modpost: error logging cleanupsRe: [PATCH] kbuild: let the environment set HOSTPKG_CONFIGRe: [PATCH] Bluetooth: hci_sync: add conditional locking annotationsRe: [PATCH v2] soc: qcom: ubwc: Fix link error when QCOM_SMEM=nRe: [PATCH v4 0/3] soc: qcom: ubwc: Fix link errorRe: [PATCH 2/2] kbuild: rust: keep Rust objects out of Clang LTO with inline helpersRe: [PATCH v6 0/4] soc: qcom: ubwc: Fix link error when QCOM_SMEM=nRe: [PATCH v2] kstack_erase: suppress -grecord-gcc-switches for external module buildsRe: [PATCH] scripts: Make the code use consistent syntaxRe: [PATCH] kconfig: error out for recursive rangeRe: [PATCH 1/1] kbuild: record real-prereqs in .cmd filesRe: [PATCH v3] ACPI: scan: Avoid registering platform devices with resource overlapsRe: [PATCH] kbuild: ubsan: skip UBSAN for external modules by defaultRe: [PATCH 12/27] kbuild: Defer running objtool to link time for all CFG features
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.
RISC-V kCFI boot hang after LLVM commit 434e4e15f6a3Re: [PATCH V17 0/7] Rust Support for powerpcRe: [PATCH 6.12 289/337] mm/slab: prevent unbounded recursion in free path with new kmalloc typeRe: [REGRESSION] mainline/master: (build) in arch/arm/kernel/entry-common.o (/tmp/kci/linux/scripts/Makefile...Re: [PATCH v3] ACPI: scan: Avoid registering platform devices with resource overlapsRe: [GIT pull] timers/cleanups for v7.3-rc1Re: [PATCH v2] fbdev: platinumfb: add error checking for ioremap callsAdd builtin/intrinsic to get current instruction pointer?
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.
Revert accidental LLVM_IAS=1 enablement for sparc64 with clang-22build-llvm.py: Deduplicate '--targets'build-binutils.py: Add support for sparc64Update clang-nightly to 24 and add clang-23Update stable anchor to 7.2
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 developed a solid, working prototype for the third generation of ClangBuiltLinux continuous integration to permit moving to infrastructure that we have full authority over.
Special thanks
Special thanks to Google and the Linux Foundation for sponsoring my work.