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 :)
riscv: Fix CONFIG_AS_HAS_INSN for new .insn usage(v1)
-
Miscellaneous fixes and improvements: These are fixes and improvements that don’t fit into a particular category but are important to ClangBuiltLinux.
kbuild: Add '-fms-extensions' to areas with dedicated CFLAGS(v1)lib/crypto: curve25519-hacl64: Fix older clang KASAN workaround for GCC(v1,v2)kbuild: Strip trailing padding bytes from modules.builtin.modinfo(v1)clk: samsung: exynos-clkout: Assign .num before accessing .hws(v1)tty: vt/keyboard: Split apart vt_do_diacrit()(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…ARM: dts: omap: am335x-mba335x: Fix stray '/*' in comment(v1,v2)net: netcp: ethss: Fix type of first parameter in hwtstamp stubs(v1,v2)pinctrl: airoha: Fix AIROHA_PINCTRL_CONFS_DRIVE_E2 in an7583_pinctrl_match_data(v1)backlight: aw99706: Fix unused function warnings from suspend/resume ops(v1)KVM: arm64: Add break to default case in kvm_pgtable_stage2_pte_prot()(v1)drm/mediatek: mtk_hdmi_v2: Fix return type of mtk_hdmi_v2_tmds_char_rate_valid()(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] tools/objtool: Copy the __cleanup unused variable fix for older clangRe: [PATCH] Makefile: Let kernel-doc.py use PYTHON3 overrideRe: [PATCH 2/2] macintosh/via-pmu-backlight: Include linux/of.h and uapi/linux/fb.hRe: [PATCH] scripts: headers_install.sh: Remove two outdated config leak ignore entriesRe: [PATCH v1 1/1] compiler_types: Warn about unused static inline functions on secondRe: [PATCH v2] Makefile: Let kernel-doc.py use PYTHON3 overrideRe: [PATCH] kbuild: install-extmod-build: Properly fix CC expansion when ccache is usedRe: [PATCH] Support conditional deps using "depends on X if Y"Re: [PATCH] selftest/mm: fix pointer comparison in mremap_testRe: [PATCH v2] kbuild: install-extmod-build: Properly fix CC expansion when ccache is usedRe: [PATCH] fortify: Ignore intermediate *.tmp filesRe: [PATCH] modpost: drop '*_probe' from section check whitelistRe: [PATCH v2 00/10] kbuild: userprogs: introduce architecture-specific CC_CAN_LINK and userprog flagsRe: [PATCH v3 00/35] Compiler-Based Capability- and Locking-AnalysisRe: [PATCH] kbuild: add target to build a cpio containing modulesRe: [PATCH] kbuild: Enable GCC diagnostic context for value-tracking warningsRe: [PATCH 1/2] KVM: arm64: Drop useless __GFP_HIGHMEM from kvm struct allocationRe: [PATCH] kbuild: fix compilation of dtb specified on command-line without make ruleRe: [PATCH v2] kbuild: Support directory targets for building DTBsRe: [PATCH v2] kbuild: Enable GCC diagnostic context for value-tracking warningsRe: [PATCH v2] lib/crypto: blake2b: Limit frame size workaround to GCCRe: [PATCH v1] kbuild: Add KBUILD_VMLINUX_LIBS_PRELINKRe: [PATCH v4 3/4] rust: add a Kconfig function to test for support of bindgen optionsRe: [PATCH 1/1] media: ccs: Avoid possible division by zeroRe: [PATCH v2 0/2] kbuild: add target to build a cpio containing modules
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: [PATCH 5.10 171/332] lib/crypto/curve25519-hacl64: Disable KASAN with clang-17 and olderRe: [mainline]Error while running make modules_install commandRe: linux-next: new objtool warningsRe: [PATCH 5.10 239/332] fsdax: switch dax_iomap_rw to use iomap_iter[LoongArch] Add isSafeToMove hook to prevent unsafe instruction motionRe: [akpm-mm:mm-unstable 36/283] mm/hugetlb.c:4753:18: warning: implicit conversion from 'unsigned long long' to 'unsigned long' changes value from 17179869184 to 0Re: [Linaro-TCWG-CI] v6.18-rc1-73-g3ffeb17a9a27a: Failure on aarch64Re: Objtool segfault inside an VM, based on commit 24172e0d7990Re: [PATCH v3 1/4] mm/vmalloc: warn on invalid vmalloc gfp flagsRe: [v2 PATCH] arm64: mm: make linear mapping permission update more robust for patial rangeRe: Re: [PATCH] riscv: fix KUnit test_kprobes crash when building with ClangRe: [PATCH libcrypto 2/2] crypto: chacha20poly1305: statically check fixed array lengthsRe: [tip: sched/core] sched/fair: Skip sched_balance_running cmpxchg when balance is not dueRe: [patch V5 09/20] cpumask: Cache num_possible_cpus()Re: [patch V5 20/20] sched/mmcid: Switch over to the new mechanismRe: linux-next: boot warning from the final treeRe: drivers/media/i2c/ccs/ccs.o: error: objtool: ccs_set_selection(): unexpected end of section .text.ccs_set_selectionRe: Bug#1121211: UBSAN: array-index-out-of-bounds in /build/reproducible-path/linux-6.17.8/drivers/clk/samsung/clk-exynos-clkout.c:178:18Re: [tty:tty-next 27/37] drivers/tty/vt/keyboard.c:1712:7: error: cannot jump from this asm goto statement to one of its possible targetsRe: [REGRESSION] stable-rc/linux-6.12.y: (build) variable 'val' is uninitialized when passed as a const pointer arg...Re: [PATCH v3 04/15] KVM: arm64: Teach ptdump about FEAT_XNX permissionsRe: [PATCH v6 03/30] objtool: Disassemble code with libopcodes instead of running objdumpRe: [tip:core/rseq 25/39] include/linux/rseq_entry.h:132:3: error: invalid operand for instruction
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: Drop 7fa37ba25a1dfc084e24ea9acc14bf1fad8af14c from android-mainlineUse GitHub mirror of rpms/kernel for Fedora configsboot-qemu.py: Increase default memory to 1Gboot-qemu.py: Allow user to supply their own ramdisk
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.