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: AutoFDO: Update split machine function argument for upstream rename(v1)
-
Kbuild / Kconfig fixes and improvements: These are changes that I have authored as part of maintaining Kbuild and Kconfig.
-
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…
LLVM patches
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 v4] scripts/config: honor $KBUILD_OUTPUT by defaultRe: [PATCH v4 1/3] scripts: add TOML config to container toolRe: [PATCH] kbuild: add header check facility as a manually run static analyzerRe: [PATCH] .gitignore: drop Module.markersRe: [PATCH] .gitignore: ignore pacman package signaturesRe: [PATCH] arm_mpam: make the mon_sel guard conditional only[Clang][Sema] Suppress -Wconstant-conversion in unselected conditional operandsRe: [PATCH] kbuild: Makefile.lib: fix offsets generation with debug infoRe: [PATCH v5] scripts/config: honor $KBUILD_OUTPUT by defaultRe: [PATCH] kbuild: install-extmod-build: install kernel/kallsyms_internal.hRe: [PATCH] sparc64: Define p4d_page() instead of stubbing it to NULLRe: [PATCH v1 0/3] <linux/mod_devicetable.h> deprecation continuesRe: [PATCH v1 2/3] efi/libstub: Build the x86 stub from KBUILD_CFLAGSRe: [PATCH] gen_init_cpio: stop parsing on lines with a missing argument listRe: [PATCH] checkkconfigsymbols.py: Parse Git status output line by lineRe: kconfig: cleanup stale comment about 'keys' arrayRe: [PATCH v2] kconfig: fix infinite loop in conf_choice() when no choice value is visibleRe: [PATCH v2] kconfig: use the value argument in sym_get_near_range_bound()Re: [PATCH v2] clang-tools: Import os for broken pipe handlingRe: [PATCH] landlock: Move the domain layer counter out of the anonymous unionRe: [PATCH v2 0/2] kbuild: Give jobserver-exec recipes the jobserverRe: [PATCH 1/2] Compiler Attributes: Add __require_explicit_initialization macroRe: [PATCH RFC] kbuild: enable pipefail for commands where possibleRe: [PATCH] gen_compile_commands: honor the build directory for modulesRe: [PATCH 6.12 696/869] kcfi: Rename CONFIG_CFI_CLANG to CONFIG_CFIRe: [PATCH] scsi: fnic: Annotate fnic_nvme functions with __must_hold()Revert "[clang][ThreadSafety] Do not read a C field's address as a pointer to member (#231604) (PR #233614)Re: [PATCH] kbuild: improve sanity check for ARCH variable on x86Re: [PATCH] kbuild: pass -fno-pic when probing for -mfentryRe: [PATCH 1/2] kbuild: Move testing of '-mfentry' back to Makefile from Kconfig[clang][ThreadSafety] Resolve fields named from nested struct/union membersRe: [PATCH bpf-next] bpf, x86: Use emit_rsb_call() to call bpf_unwind_target()Re: [PATCH] kbuild: prevent building single targets twiceRe: [PATCH] x86/build/64: Prevent native builds from generating SSE/AVX codeRe: [PATCH] x86/kcfi: Don't emit KCFI_REFERENCE() in modulesRe: [PATCH v2 1/9] Compiler Attributes: Add __must_init macroRe: [RFC PATCH 16/20] coverage: add MC/DC measurementRe: [PATCH 0/4] Get rid of all NEON intrinsics stdint.h type hacks
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: linux-next: manual merge of the random tree with the kbuild treeMany instances of "no BTF func for kfunc ..." and "unresolved symbol ..." from resolve_btfids after pahole 1.32 upgradeRe: [PATCH v2] random: vDSO: Avoid call to memset() when zeroing reserved in __cvdso_getrandom_data()Re: linux-next: manual merge of the bpf-next tree with the kbuild treeRe: Use of `gawk -M' in kernel build scriptsRe: linux-next: manual merge of the kbuild tree with the rust treeRe: linux-next: manual merge of the kbuild tree with the mm-nonmm-unstable treeFalse positive -Wconstant-conversion after signed char array enablement[Clang][AArch64] Diagnose invalid FPM scale argumentsRe: [PATCH v2 10/14] hv: vmbus: pin buffer pages across UIO mmap to close the reclaim raceBuild breakage from renamed '-split-machine-functions' plugin optionRe: linux-next: manual merge of the efi tree with the kbuild treeRe: linux-next: manual merge of the kapi tree with the kbuild treeRe: <inline asm>:1:275: error: invalid instruction mnemonic 'brk'Re: [PATCH v4 26/54] scsi: fnic: Enable lock context analysisRe: [PATCH v2] kbuild: Makefile.lib: fix offsets generation with debug info-Wthread-safety-precise in crypto/scompress.c after LLVM commit 217e229a1f32785fccdd3b3f51429f0d309dea45Missing -Wc23-extensions after 4c9fd71e18f211bfe7d43ef841b429a8ef94a140Re: linux-next: manual merge of the kbuild-current tree with the origin treeRe: linux-next: manual merge of the rust tree with the kbuild-fixes treeRe: [PATCH v4 bpf-next 2/6] bpf, x86: Support unwind_goto and unwind_exitRe: error[E0080]: evaluation panicked: assertion failed: size_of::<isize>() == size_of::<isize_atomic_repr>()Re: vmlinux.o: warning: objtool: mtk_timer_probe+0x23: no-cfi indirect call!Re: [PATCH 36/98] blk-mq: quiesce a queue that joins a quiesced tag setresolve_btfids segmentation fault with CONFIG_DEBUG_INFO_BTF_INLINE
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 stable anchor to 7.3Bump PGO kernel to 7.3 and bump known good revisiontc_build: llvm: Add libclang to distribution components for kernel and rust profiles
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 submitted the following pull requests to Linus.
-
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.