mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-05-24 10:39:52 +00:00
![]() When booting a kernel compiled with CONFIG_CFI_CLANG on a machine with an RX 6700 XT, there is a CFI failure in kfd_destroy_mqd_cp(): [ 12.894543] CFI failure at kfd_destroy_mqd_cp+0x2a/0x40 [amdgpu] (target: hqd_destroy_v10_3+0x0/0x260 [amdgpu]; expected type: 0x8594d794) Clang's kernel Control Flow Integrity (kCFI) makes sure that all indirect call targets have a type that exactly matches the function pointer prototype. In this case, hqd_destroy()'s third parameter, reset_type, should have a type of 'uint32_t' but every implementation of this callback has a third parameter type of 'enum kfd_preempt_type'. Update the function pointer prototype to match reality so that there is no more CFI violation. Link: https://github.com/ClangBuiltLinux/linux/issues/1738 Signed-off-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
||
---|---|---|
.. | ||
asic_reg | ||
ivsrcid | ||
aldebaran_ip_offset.h | ||
amd_acpi.h | ||
amd_pcie.h | ||
amd_pcie_helpers.h | ||
amd_shared.h | ||
arct_ip_offset.h | ||
atom-bits.h | ||
atom-names.h | ||
atom-types.h | ||
atombios.h | ||
atomfirmware.h | ||
atomfirmwareid.h | ||
beige_goby_ip_offset.h | ||
cgs_common.h | ||
cik_structs.h | ||
cyan_skillfish_ip_offset.h | ||
dimgrey_cavefish_ip_offset.h | ||
discovery.h | ||
displayobject.h | ||
dm_pp_interface.h | ||
kgd_kfd_interface.h | ||
kgd_pp_interface.h | ||
mes_api_def.h | ||
mes_v11_api_def.h | ||
navi10_enum.h | ||
navi10_ip_offset.h | ||
navi12_ip_offset.h | ||
navi14_ip_offset.h | ||
pptable.h | ||
renoir_ip_offset.h | ||
sienna_cichlid_ip_offset.h | ||
soc15_hw_ip.h | ||
soc15_ih_clientid.h | ||
soc21_enum.h | ||
v9_structs.h | ||
v10_structs.h | ||
v11_structs.h | ||
vangogh_ip_offset.h | ||
vega10_enum.h | ||
vega10_ip_offset.h | ||
vega20_ip_offset.h | ||
vi_structs.h | ||
yellow_carp_offset.h |