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
-
Miscellaneous fixes and improvements: These are fixes and improvements that don’t fit into a particular category but are important to ClangBuiltLinux.
-
Stable backport requests: 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…MIPS: tlbex: Explicitly compare _PAGE_NO_EXEC against 0(v1)usb: cdns3: Don't use priv_dev uninitialized in cdns3_gadget_ep_enable()(v1)ASoC: mchp-spdiftx: Fix clang -Wbitfield-constant-conversion(v1)ASoC: codes: src4xxx: Avoid clang -Wsometimes-uninitialized in src4xxx_hw_params()(v1,v2)mm: pagewalk: Restore err initialization in walk_hugetlb_range()(v1)net/mlx5e: Do not use err uninitialized in mlx5e_rep_add_meta_tunnel_rule()(v1)drm/msm/dsi: Remove use of device_node in dsi_host_parse_dt()(v1)powerpc/papr_scm: Ensure rc is always initialized in papr_scm_pmu_register()(v1)drm/amd/display: Reduce stack usage for clang(v1)powerpc/math_emu/efp: Include module.h(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] Makefile.extrawarn: re-enable -Wformat for clangRe: [PATCH] soc: sof: fix clang -Wformat warningsRe: [PATCH resend] ASoC: SOF: ipc3-topology: Fix clang -Wformat warningRe: [PATCH] x86: assemble with -Wa,--noexecstack to avoid BFD 2.39 warningRe: [PATCH] selftests: add missing ')' in lib.mkRe: [PATCH] selftests: fix LLVM build for i386 and x86_64Migrate from tuxsuite build-sets to plansRe: [PATCH v2] powerpc/kexec: Fix build failure from uninitialised variableRe: [PATCH v2] RISC-V: Clean up the Zicbom block size probingRe: [PATCH] ntb_perf: Fix 64-bit division on 32-bit architectures[TypePromotion] Don't promote PHI + ZExt if wider than RegisterBitWidthRe: [PATCH] platform/x86/amd/pmf: Fix clang unused variable warningRe: [PATCH v2] asm goto: eradicate CC_HAS_ASM_GOTORe: [Intel-gfx] [PATCH v1] drm/i915: fix null pointer dereferenceRe: [PATCH 7/6] mm: pagewalk: add back missing variable initializationsRISCV: permit unaligned nop-slide padding emissionRe: [PATCH] wifi: rtw88: fix uninitialized use of primary channel index[Local] Allow creating callbr with duplicate successorsRe: [PATCH 1/3] Makefile.compiler: s/KBUILD_CFLAGS/KBUILD_AFLAGS/ for as-optionRe: [PATCH 2/2] powerpc: remove old code for binutils < 2.25[PATCH v2 0/5] fix debug info for asm and DEBUG_INFO_SPLIT
Issue triage, reporting, and input
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: arm ixp4xx_defconfig build failure with linux-next and mainlineimplement -mindirect-branch-cs-prefixAdd support for clang-15Re: [GIT PULL] USB / Thunderbolt driver changes for 6.0-rc1-Wframe-larger-than in drivers/gpu/drm/amd/display/dc/dml/dcn3{0,1,2}/display_mode_vba_3{0,1,2}.cRe: mainline build failure for x86_64 allmodconfig with clangRe: [PATCH v5 09/14] iio: magnetometer: yas530: Introduce "chip_info" structureRe: [PATCH kernel v2] pseries/iommu/ddw: Fix kdump to work in absence of ibm,dma-windowRe: [PATCH v2 00/12] PolarFire SoC reset controller & clock cleanupsRe: mainline build failure for arm64 allmodconfig with clangRe: build failure of next-20220811 due to d79b32c2e4a4 ("vdpa_sim_blk: add support for discard and write-zeroes")Fortify source failure in drivers/infiniband/core/cma.c with s390 allmodconfig__aeabi_uldivmod in drivers/mtd/mtdswap.ko after LLVM commit 164067918725d1ee8875e38213b6aee9be13383eRe: [stable:linux-5.15.y 5373/9027] arch/x86/kvm/hyperv.c:2185:5: warning: stack frame size (1036) exceeds limit (1024) in 'kvm_hv_hypercall'Re: fs/ntfs/aops.c:378:12: warning: stack frame size (2216) exceeds limit (1024) in 'ntfs_read_folio'Re: arch/riscv/include/asm/jump_label.h:42:3: error: invalid operand for inline asm constraint 'i'Re: [TCWG CI] Regression caused by llvm: [TypePromotion] Search from ZExt + PHIRe: [PATCH v2] ASoC: codecs: add uspport for the TI SRC4392 codecRe: [TCWG CI] Regression caused by llvm: Fix -Wbitfield-constant-conversion on 1-bit signed bitfieldRe: [PATCH v2 net 13/17] net: Fix data-races around sysctl_fb_tunnels_only_for_init_net.[cmake] Use `CMAKE_INSTALL_LIBDIR` tooRe: [PATCH v4 03/11] platform/x86/amd/pmf: Add support SPS PMF featureunable to write nop sequence of ... bytes after LLVM commit 73a9dfcee24df959b59a46d75dcbdc0bcfb50fe6Re: ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries)[DebugInfo] Extend the InstrRef LDV to support DbgValues with many OpsRe: [PATCH 5.19 000/362] 5.19.4-rc2 reviewRe: [next] x86: fs/hugetlbfs/inode.c:673:16: error: variable 'm_index' is uninitialized when used here [-Werror,-Wuninitialized]Re: ld.lld: error: undefined symbol: drm_gem_fb_get_objRe: [PATCH -next 2/3] mm/zswap: delay the initializaton of zswap until the first enablementRe: build failure of next-20220830 due to 5f8cdece42ff ("drm/msm/dsi: switch to DRM_PANEL_BRIDGE")Re: powerpc-linux-objdump: Warning: Unrecognized form: 0x23
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.
Disable CONFIG_FPE_NWFPE for ARCH=arm all{mod,yes}config for nowboot-utils: Rewrite in PythonBump llvm_tot anchor and LLVM_TOT_VERSIONREADME: Fix badges after #389Update boot-utils for Python rewriteboot-uml.py: Fix stray 'i' in decomp_rootfs()boot-utils: Update to fix 'boot-uml.py'boot-utils.py: Fix searching for Linux kernel version numbersboot-utils: Update for another 'boot-qemu.py' fixFix mainline and next builds (August 8, 2022)patches: next: Drop rtc patchutils.py: Adjust for new builds.json output with 'tuxsuite plan'docker: clang-android: Update to r458507 (15.0.1)Fix -tip (August 10, 2022)patches: mainline: Add a couple in-flight -Wformat fixesUpdate stable anchor to 5.19Clean up generator.yml (August 10th, 2022)patches: mainline: Drop -Wformat patchesRemove CONFIG_PPC_DISABLE_WERROR from powernv_defconfigutils.py: Update binutils to 2.39patches: mainline/tip: Drop i915 patchpatches: Add pending -Wbitfield-constant-conversion mchp-spdiftx.c patchpatches: Add mchp-spdiftx.c to -tip treesStop disabling CONFIG_WERROR for arm64Improve notes for August 10th, 2022Add support for LLVM 15patches: arm64: Add a couple more patches to fix warningsRevert "patches: arm64: Add a couple more patches to fix warnings"patches: arm64: Update mchp-spdiftx.c patchDisable CONFIG_WERROR for HexagonAdd support for android14-5.15
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 Windows Subsystem for Linux instance, a Raspberry Pi 3 and 4, an Intel-based desktop, an AMD-based desktop, an Intel-based laptop, and a SolidRun Honeycomb LX2. 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.
Special thanks to:
- Google and the Linux Foundation for sponsoring my work.