[PATCH v2 0/1] iommu/generic_pt: fix GCOV build failure for amdv1
From: Konstantin Khorenko
Date: Thu Apr 09 2026 - 13:01:43 EST
This patch fixes a build failure in drivers/iommu/generic_pt/fmt/iommu_amdv1.o
when -fprofile-update=atomic is added to global CFLAGS_GCOV.
v2: Use __always_inline instead of disabling GCOV for the file, as
suggested by Jason Gunthorpe. The root cause is that
amdv1pt_install_leaf_entry() is "static inline" (not __always_inline),
so GCC may choose not to inline it. Without inlining, the compiler
cannot see constant arguments at the call site and fails to eliminate
the impossible branch in FIELD_PREP(). Forcing inlining via
__always_inline solves the problem without losing GCOV coverage.
v1: https://lore.kernel.org/lkml/20260401142020.1434243-4-khorenko@xxxxxxxxxxxxx/
This is part of a larger effort to add -fprofile-update=atomic to
global CFLAGS_GCOV to fix GCOV counter races that cause crashes on SMP
(posted earlier as a combined series):
https://lore.kernel.org/lkml/20260401142020.1434243-1-khorenko@xxxxxxxxxxxxx/T/#t
That combined series was split per subsystem as requested by reviewers.
The companion patches are:
- net: fix skb_ext BUILD_BUG_ON failures (sent to netdev) [1]
- gcov: add -fprofile-update=atomic globally (sent to gcov/kbuild
maintainers, depends on this patch and the net patches) [2]
[1] https://lore.kernel.org/lkml/20260402140558.1437002-1-khorenko@xxxxxxxxxxxxx/T/#t
[2] https://lore.kernel.org/lkml/20260402141831.1437357-1-khorenko@xxxxxxxxxxxxx/T/#t
Konstantin Khorenko (1):
iommu/generic_pt: use __always_inline for amdv1pt_install_leaf_entry()
drivers/iommu/generic_pt/fmt/amdv1.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--
2.43.5