Linux kernel patches
-
tools: compiler-gcc.h: Guard error attribute use with __has_attribute
(v1): The minimum version of GCC was raised to 5.1, which helped simplify a lot of code but caused issues for older versions of clang. This helps resolve it. -
Harden clang against unknown flag options
(v2): A follow up. -
ptp: ocp: Avoid operator precedence warning in ptp_ocp_summary_show()
(v1, v2): An interesting warning around operator precedence, which will not be an issue in practice but now that Linus has decreed that warnings are unacceptable, it is important to clean them up! -
locking/ww-mutex: Fix uninitialized use of ret in test_aa()
(v1): More uninitialized variable usage biting us because GCC’s warning is turned off for the kernel. -
kasan: Always respect CONFIG_KASAN_STACK
(v1): Clang’sasan-stack
parameter shows high stack usage so it has been disabled but RISC-V’s implementation was not respecting that so this patch resolves that, meaning RISC-V’sallmodconfig
target now builds completely clean with clang.asan-stack
has been a topic of recent conversation so hopefully that can be resolved soon. -
drm/kmb: Remove set_test_mode_src_osc_freq_target_{hi,low}_bits()
(v1): Intel’s kernel test robot exposed a couple of instances of unused inline functions, which GCC will never warn about. Cleaning up dead code always helps with maintainability in the long run. -
drm/amd: Guard IS_OLD_GCC assignment with CONFIG_CC_IS_GCC
(v1): An instance where clang’s fake GCC version of 4.2.1 caused problems for us. Hopefully as time goes on, we will run into less of these as more people test with clang. -
drm/amd: Initialize remove_mpcc in dcn201_update_mpcc()
(v1): Another uninitialized warning… -
drm/amd: Return NULL instead of false in dcn201_acquire_idle_pipe_for_layer()
(v1): Returning 0 or false when the function returns a pointer will cause a clang warning so that you either use NULL or change the value, just to make sure that is what was intended.
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.
-
9934a5b2ed5aa6e6bbb2e55c3cd98839722c226e breaks x86_64 ThinLTO
-
Re: [PATCH] s390/unwind: use current_frame_address() to unwind current task
-
Re: [PATCH] Revert "Enable '-Werror' by default for all kernel builds"
-
Re: [PATCH] lpfc: Fix compilation errors on kernels with no CONFIG_DEBUG_FS
-
Re: [PATCH v2] gen_compile_commands: fix missing 'sys' package
-
Re: [PATCH v2] lpfc: Fix compilation errors on kernels with no CONFIG_DEBUG_FS
-
Re: [PATCH] hardening: Default to INIT_STACK_ALL_ZERO if CC_HAS_AUTO_VAR_INIT_ZERO
-
Re: [PATCH] lib/zlib_inflate/inffast: Check config in C to avoid unused function warning
-
Re: [PATCH] [RFC/RFT]SCS:Add gcc plugin to support Shadow Call Stack
-
Re: [PATCH v3] lib/zlib_inflate/inffast: Check config in C to avoid unused function warning
-
Re: [PATCH v2] x86/setup: call early_reserve_memory() earlier
-
Re: [PATCH] objtool: Teach get_alt_entry() about more relocation types
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.
-
Re: kernel/sched/core.c:5854:20: warning: unused function 'sched_core_cpu_deactivate'
-
Re: [vmlinux.lds.h] d4c6399900: BUG:unable_to_handle_page_fault_for_address
-
Re: ❌ FAIL: Test report for kernel 5.14.0 (mainline.kernel.org-clang, f1583cb1)
-
Re: ❌ FAIL: Test report for kernel 5.14.0 (mainline.kernel.org-clang, 1dbe7e38)
-
Re: [PATCH] Enable '-Werror' by default for all kernel builds
-
Re: ERROR: modpost: __mulodi4 [drivers/block/nbd.ko] undefined!
-
-Wframe-larger-than= in drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
-
Re: [dborkman:pr/bpf-cgrp 2/4] include/linux/cgroup-defs.h:771:70: warning: unused parameter 'skcd'
-
Re: linux: build faulure: error: "__has_attribute" is not defined
-
Re: ❌ FAIL: Test report for kernel 5.15.0-rc1 (mainline.kernel.org-clang, 80be5998)
-
Re: clang: error: unsupported argument '-mimplicit-it=always' to option 'Wa,'
-
Re: [tip: x86/urgent] x86/setup: Call early_reserve_memory() earlier
-
Re: [Intel-gfx] [PATCH v3 03/13] drm/dp: add LTTPR DP 2.0 DPCD addresses
-
Re: [PATCH v2] platform/x86: amd-pmc: Export Idlemask values based on the APU
-
Re: next/master build: 209 builds: 5 failed, 204 passed, 5 errors, 1677 warnings (next-20210923)
-
Re: [v2 PATCH] crypto: api - Fix built-in testing dependency failures
-
Re: [PATCH v2 2/7] PCI: ACPI: PM: Do not use pci_platform_pm_ops for ACPI
-
Re: [PATCH v7] hugetlbfs: Extend the definition of hugepages parameter to support node allocation
Tooling improvements
-
Disable boot for CONFIG_KASAN_SW_TAGS=y on clang-11 and clang-12
-
check_logs.py: Try multiple times to fetch items with exponential backoff
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.
-
This month, we had a few conferences: the LLVM Distributors Conference, the ClangBuiltLinux meetup, and Linux Plumbers Conference. It was super helpful for interfacing with the greater LLVM and Linux kernel community and reorient ourselves going into the next year. I gave a talk at the ClangBuiltLinux meetup around our continuous integration.
Special thanks to:
- Google and the Linux Foundation for sponsoring my work.