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
-
Android patches: Android is one of the biggest downstream consumers of our work. Making sure that it stays working is incredibly important so that it can reach real users.
-
Build errors: This is a collection of patches that either fix build errors specific to clang or generally, in certain scenarios. We are slowly getting to the point where there are few build errors that are clang specific, which is good, as breakage is more likely to be dealt with by other people so that we can focus on other issues.
-
Other fixes: These are fixes that do not fit into a specific category. The first one was noticed while I was building kernels on a powerful arm64 server and the second came up during testing another patch.
-
-Wbitwise-instead-of-logical
: A new warning in LLVM exposed a few places in the kernel where bitwise operations were being used with boolean expressions with side effects, which may be undesirable. This was one of the last ones in the tree, which is important for keeping the warning enabled.soc/tegra: fuse: Fix bitwise vs. logical OR warning
(v2
)
-
-Wframe-larger-than=
: The kernel cares about stack usage quite a bit so it enables-Wframe-larger-than=
to warn about large amounts of stack usage. These warnings have been present for a while but until-Werror
was enabled, there were often larger fires to fight, as these warnings are usually in configurations that are not going to run in the real world. Getting them cleaned up now is very important for Android so that they can enable-Werror
for all configurations that they care about. -
-Wtypedef-redefinition
: Trying to typedef something twice is almost always a bug. GCC does not warn on this but clang does so we need to clean these warnings up.media: atomisp: Do not define input_system_cfg2400_t twice
(v1
)
LLVM patches
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] nl80211: remove reload flag from regulatory_request
-
Re: [PATCH] kcov: fix generic Kconfig dependencies if ARCH_WANTS_NO_INSTR
-
Assertion `isa<X>(Val) && "cast<Ty>() argument of incompatible type!"' failed
-
Re: [PATCH RFC 0/6] Bump minimum supported version of LLVM to 11.0.0
-
error: hardware TLS register is not supported for the arm sub-architecture
-
Re: [PATCH v2] selftests: vDSO: parse: warning: fix assignment as a condition
-
Re: Makefile: CC_IMPLICIT_FALLTHROUGH passed quoted as argument to gcc
-
Re: [PATCH v5 5/5] powerpc/inst: Optimise copy_inst_from_kernel_nofault()
-
Re: [PATCH] powerpc: platforms: cell: pervasive: fix clang -Wimplicit-fallthrough
-
Re: [PATCH] power: reset: ltc2952: fix float conversion error
-
Re: [PATCH v2] MIPS: Makefile: Remove "ifdef need-compiler" for Kbuild.platforms
-
Re: [PATCH] Kconfig.debug: Make DEBUG_INFO selectable from a choice
-
Re: [PATCH] x86/sgx: Fix NULL pointer dereference on non-SGX systems
-
Re: [patch V3 28/35] PCI/MSI: Simplify pci_irq_get_affinity()
-
Re: [PATCH v2] ARM: avoid literal references in inline assembly
-
Re: [PATCH linux-next] tools: compiler-gcc.h::Keep compatible with non-clang compilers.
-
Re: [PATCH] Fix compilation errors when using special directory
Issue triage 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.
-
llvm-objcopy produces corrupted .debug_str for elf32-x86-64 (X32 ABI) emulation (Z_DATA_ERROR)
-
Both LLVM_IAS=1 and =0 fail with ARCH=powerpc (kernel 5.16rc3)
-
mips: drivers/misc/xilinx_sdfec.c:787:8: error: couldn't allocate input reg for constraint 'r'
-
error: instruction requires a CPU feature not currently enabled in arch/mips/include/asm/mipsregs.h
-
RISC-V relocation R_RISCV_HI20 out of range with CONFIG_CMODEL_MEDLOW=y
-
Re: [PATCH v6 21/21] cxl/core: Split decoder setup into alloc + add
-
Please merge c4582a689c2c74e0635309979176c7ada086f066 into release/13.x
-
Assertion 'Symbol' failed with -fpatchable-function-entry=2 + -Oz AArch64
-
"cannot insert node between set or sequence node and its filter children" in the Linux kernel
-
error: couldn't allocate input reg for constraint 'r' on MIPS when building the Linux kernel
-
llvm-objcopy: "error: invalid symbol index" with mips64el-linux-gnuabi64
-
Re: [PATCH v2] arm64/xor: use EOR3 instructions when available
-
ld.lld: error: section exceeds available address space (MIPS vmlinuz.bin)
-
Re: ANNOUNCE: pahole v1.23 (BTF tags and alignment inference)
-
-Wmissing-braces in drivers/firmware/efi/libstub/efi-stub-helper.c
-
Re: [LKP] Re: [x86/mm/64] f154f29085: BUG:kernel_reboot-without-warning_in_boot_stage - clang KCOV?
-
Re: [PATCH v13 2/2] x86/sgx: Add an attribute for the amount of SGX memory in a NUMA node
-
Re: [patch V3 28/35] PCI/MSI: Simplify pci_irq_get_affinity()
-
Re: [Intel-gfx] [PATCH v3 4/4] drm/i915/fbc: Register per-crtc debugfs files
-
error: hardware TLS register is not supported for the arm sub-architecture
-
Re: [hyperv:hyperv-next 4/5] drivers/hv/vmbus_drv.c:2082:29: warning: shift count >= width of type
-
'-outline-atomics' is not a recognized feature for this target
-
Re: [PATCH 09/10] kthread: Ensure struct kthread is present for all kthreads
-
Re: [next] arm: current.h:53:6: error: out of range pc-relative fixup value
-
Re: [PATCH v2 05/15] scsi: hisi_sas: Fix some issues related to asd_sas_port->phy_list
-
x86 Thin LTO + allyesconfig causes ld.lld: error: kernel image bigger than KERNEL_IMAGE_SIZE
-
[Clang/Test]: Rename enable_noundef_analysis to disable-noundef-analysis and turn it off by default
Tooling improvements
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 3 and 4, HP desktop, ASUS laptop, and Hyper-V and VMware platforms on my workstation. 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.
-
As I brought up last month, I finalized containerizing certain aspects of my environment scripts so that no matter what machine I am working on, I can have consistent access to recent versions of compilers and other development tools, independent of the host operating system. I believe this is extremely important for reproducing issues as well as avoiding issues such as broken dependencies or upgrades because all the tools are in a container, which is a lot easier to reset and start over from than the host operating system.
-
LLVM moved from bugs.llvm.org to GitHub Issues, which necessitated updating any LLVM bug links in our issue tracker (similar to what I did for Linux kernel mailing list links in October). To ensure this does not happen again in the future, I documented best practices for links in our wiki.
Special thanks to:
- Google and the Linux Foundation for sponsoring my work.