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 :)
-
CFI fixes: Kernel Control Flow Integrity (kCFI) was recently merged into mainline so it is important to keep the kernel free of new CFI failures. A new warning in clang will flag this so these patches fix all the warnings so that we turn it on and have all the automation warn people when they introduce a new instance of the warning.
drm/amdgpu: Fix type of second parameter in trans_msg() callback
(v1
)drm/amdgpu: Fix type of second parameter in odn_edit_dpm_table() callback
(v1
)drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid()
(v1
)drm/mediatek: Fix return type of mtk_hdmi_bridge_mode_valid()
(v1
)drm/meson: Fix return type of meson_encoder_cvbs_mode_valid()
(v1
)drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()
(v1
)HSI: ssi_protocol: Fix return type of ssip_pn_xmit()
(v1
)hamradio: baycom_epp: Fix return type of baycom_send_packet()
(v1
)net: ethernet: ti: Fix return type of netcp_ndo_start_xmit()
(v1
)scsi: elx: libefc: Fix second parameter type in state callbacks
(v1
)s390/ctcm: Fix return type of ctc{mp,}m_tx()
(v1
,v2
)s390/netiucv: Fix return type of netiucv_tx()
(v1
,v2
)s390/lcs: Fix return type of lcs_start_xmit()
(v1
,v2
)counter: Adjust final parameter type in function and signal callbacks
(v1
)counter: stm32-timer-cnt: Adjust final parameter type of stm32_count_direction_read()
(v1
)counter: ti-ecap-capture: Adjust final parameter type of ecap_cnt_pol_{read,write}()
(v1
)counter: 104-quad-8: Adjust final parameter type of certain callback functions
(v1
)net: ethernet: renesas: Fix return type of rswitch_start_xmit()
(v1
)drm: xlnx: Fix return type of zynqmp_dp_bridge_mode_valid
(v2
)net: mana: Fix return type of mana_start_xmit()
(v3
)
-
Miscellaneous fixes: These are fixes and improvements that don’t fit into a particular category but are important to ClangBuiltLinux.
-
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…bpf: Add explicit cast to 'void *' for __BPF_DISPATCHER_UPDATE()
(v1
)cpufreq: ACPI: Remove unused variables 'acpi_cpufreq_online' and 'ret'
(v1
)ARM: Drop '-mthumb' from AFLAGS_ISA
(v1
,v2
)media: rzg2l-cru: Remove unnecessary shadowing of ret in rzg2l_csi2_s_stream()
(v1
)mm: Fix '.data.once' orphan section warning
(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 v4 1/1] drm/amd/display: add DCN support for ARM64
[Clang][Sema] Add -Wincompatible-function-pointer-types-strict
Re: [PATCH] MIPS: fix duplicate definitions for exported symbols
Re: KVM vs AMD: Re: [PATCH v3 48/59] x86/retbleed: Add SKL return thunk
Re: [PATCH v2 0/8] KVM: SVM: fixes for vmentry code
Re: [PATCH] locking: fix kernel/locking/ inline asm error
Re: [PATCH] kbuild: revive parallel execution for .tmp_initcalls.lds rule
Re: [linux-nvme:nvme-6.2 26/41] drivers/nvme/host/core.c:5122:6: error: assigning to 'int' from incompatible type 'void'
Re: [PATCH v2 1/2] drm/amdgpu: Temporarily disable broken Clang builds due to blown stack-frame
Re: [PATCH v2 2/2] Kconfig.debug: Provide a little extra FRAME_WARN leeway when KASAN is enabled
Re: [PATCH] ASoC: qcom: lpass-sc7180: Add maybe_unused tag for system PM ops
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.
-Wframe-larger-than instances in drivers/gpu/drm/amd/display/dc/dml with ARCH=arm64
CFI: Function type mismatches reported by -Wincompatible-function-pointer-types-strict
CFI: Implement -Wincompatible-function-pointer-types-strict
[AArch64] Improve codegen for shifted mask op
Re: [PATCH 11/13] x86_64: Remove pointless set_64bit() usage
[LLD] Enable --no-undefined-version by default.
ld.lld switch to '--no-undefined-version' breaks RISC-V and x86 vDSO builds
Re: [PATCH v4 2/4] ARM: use .arch directives instead of assembler command line flags
Re: [PATCHv5 04/13] zram: Introduce recompress sysfs knob
Re: x86: clang: acpi-cpufreq.c:970:24: error: variable 'ret' is uninitialized when used here [-Werror,-Wuninitialized]
-Wshift-overflow in drivers/pwm/pwm-tegra.c
Re: linux-next: manual merge of the drm-misc tree with the origin tree
Re: [PATCH] arm64/mm: Drop redundant BUG_ON(!pgtable_alloc)
Re: [PATCH bpf-next v10 16/24] bpf: Introduce single ownership BPF linked list API
Re: [PATCH v8 3/6] staging: media: Add support for the Allwinner A31 ISP
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.
Drop patches for arm64-fixes tree
Increase 'tuxsuite plan' step timeout to eight hours
Update stable anchor to 6.0
Re-enable OpenSUSE's RISC-V configuration
patches/next: Update bpf patch
Disable ppc44x_defconfig builds on stable
Drop arm64 patches (November 7th, 2022)
Remove -next patches (November 9th, 2022)
Disable s390 builds with LLVM 14 on mainline and -next
patches: mainline: Drop BPF patch
Add more checks for potential TuxSuite problems
boot-utils: Python updates
continuous-integration2: Python updates
tc-build: Python updates
boot-utils: Update to latest main
tc-build: Eliminate os.path usage and more f-strings
Adjust location of raised timeout in GitHub Actions workflow files
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.
-
I ran two ClangBuiltLinux meetings this month, which involves reporting what happened in the past two weeks to people who might not follow the project that closes. I review emails and issues to sumarize everything clearly.
-
I spent some time during the quieter parts of the month improving my personal automation for tasks such as writing these reports and setting up test/virtual machines and spot instance servers to be more robust and easier to maintain, modify, and debug. It makes me more confident in making sure the steps complete without any problems.
Special thanks to:
- Google and the Linux Foundation for sponsoring my work.