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 :)
-
Stable backports: 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…
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 1/2] powerpc/64: Move CPU -mtune options into Kconfig
Re: [PATCH 2/2] powerpc/64: Use -mtune=pwr10/9/8 for clang
Re: [PATCH] drm/vmwgfx: Fix src/dst_pitch confusion
Re: [PATCH] kfence, kcsan: avoid passing -g for tests
Re: [PATCH -next v15 19/19] riscv: Enable Vector code to be built
Re: [PATCH] ALSA: ymfpci: remove unused snd_ymfpci_readb function
Re: [PATCH] drm/rockchip: vop2: fix uninitialized variable possible_crtcs
Re: [PATCH -next v16 19/20] riscv: detect assembler support for .option arch
Re: [PATCH v3] purgatory: fix disabling debug info
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.
crash with RISC-V scalable vectorization and kernel address sanitizer
Re: [PATCH -next v14 19/19] riscv: Enable Vector code to be built
Re: [PATCH] power: supply: qcom_battmgr: remove bogus do_div()
Re: [PATCH v2] clk: Mark a fwnode as initialized when using CLK_OF_DECLARE() macro
Re: [PATCH] staging: axis-fifo: initialize timeouts in probe only
Re: [PATCH v3 1/6] drm/rockchip: vop2: initialize possible_crtcs properly
Re: [PATCH net-next v6 1/1] net: dsa: hellcreek: Get rid of custom led_init_default_state_get()
ppc44x_defconfig does not boot with '-mcpu=440'
stack protector boot failure in android-4.14-stable
"Error: non-constant .uleb128 is not supported" in mm/kfence/kfence_test.c
.init.data has both ordered and unordered sections on RISC-V
undefined __efistub_ symbols with CONFIG_EFI_ZBOOT=y
Re: [PATCH 1/3] kvm: vmx: Add IA32_FLUSH_CMD guest support
Re: next-20230321: arm64: Unable to handle kernel paging request at virtual address
Re: Linux 6.3-rc3
Re: [PATCH v8 2/2] drm: add kms driver for loongson display controller
fs/select.o: llvm::ValueHandleBase::RemoveFromUseList(): Assertion `*PrevPtr == this && "List invariant broken"'
kern_levels.h:32:2: error: invalid preprocessing directive
insn.h:399:1 <Spelling=./arch/arm64/include/asm/insn.h:299:66>: current parser token
bpf_iter.c 1. ./include/linux/kernel.h:216:8: current parser token '__printf'
BTF generation does not work with LLVM/lld-16
[IVDescriptors] Add pointer InductionDescriptors with non-constant strides
Re: [PATCH 03/18] wifi: iwlwifi: mvm: report hardware timestamps in RX/TX status
Re: [PATCH v10 11/15] drm/atomic-helper: Set fence deadline for vblank
Re: [PATCH] net: netcp: MAX_SKB_FRAGS is now 'int'
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: android14-6.1: Drop alternatives series
patches: mainline: Drop memintristics series
Add 6.1 builds and update stable anchor to 6.2
Update patches (March 8, 2023)
Copy stable patches to 6.1
Drop stable patches (March 13, 2023)
boot-qemu.py: Rewrite using classes
Add support for mounting a shared folder between the host and guest via virtiofs (v2)
docker: clang-android: Update to r487747 (17.0.0)
boot-qemu.py: Do not add '-no-reboot' unconditionally
Drop mainline patches (March 20, 2023)
Drop android14-6.1 patches
Add powerpc allmodconfig build on linux-next
build-llvm.py: Switch to dict() over dictionary comprehension
Update default PGO kernel to 6.2.8 and update known good revision
Drop majority of Android patches (March 27, 2023)
Drop android12-5.4 patches (March 28, 2022)
Turn x86_64 allyesconfig builds back on
check_logs.py: Print logs if build result is not a pass
Disable x86_64 allyesconfig builds on stable
Update patches (March 30, 2023)
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 Raspberry Pi 4, a Raspberry Pi 3, a SolidRun Honeycomb LX2, an Ampere Altra Developer Platform, an Intel-based desktop, an AMD-based desktop, and an Intel-based laptop. 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 put prebuilt LLVM toolchains on kernel.org for other developers (download link, announcement).
Special thanks
Special thanks to Google and the Linux Foundation for sponsoring my work.