From: Jakub Kicinski Date: Sun, 12 Apr 2026 22:29:06 +0000 (-0700) Subject: Merge branch 'net-fix-skb_ext-build_bug_on-failures-with-gcov' X-Git-Tag: v7.1-rc1~173^2~16 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8806d502e0a7e7d895b74afbd24e8550a65a2b17;p=thirdparty%2Fkernel%2Flinux.git Merge branch 'net-fix-skb_ext-build_bug_on-failures-with-gcov' Konstantin Khorenko says: ==================== net: fix skb_ext BUILD_BUG_ON failures with GCOV This mini-series fixes build failures in net/core/skbuff.c when the kernel is built with CONFIG_GCOV_PROFILE_ALL=y. This is part of a larger effort to add -fprofile-update=atomic to global CFLAGS_GCOV (posted earlier as a combined series): https://lore.kernel.org/lkml/20260401142020.1434243-1-khorenko@virtuozzo.com/T/#t That combined series was split per subsystem as requested by Jakub. The companion patches are: - iommu: use __always_inline for amdv1pt_install_leaf_entry() (sent to iommu maintainers) - gcov: add -fprofile-update=atomic globally (sent to gcov/kbuild maintainers, depends on this series and the iommu patch) Patch 1/2 fixes a pre-existing build failure with CONFIG_GCOV_PROFILE_ALL: GCOV counters prevent GCC from constant-folding the skb_ext_total_length() loop. It also removes the CONFIG_KCOV_INSTRUMENT_ALL preprocessor guard from d6e5794b06c0: that guard was a precaution in case KCOV instrumentation also prevented constant folding, but KCOV's -fsanitize-coverage=trace-pc does not interfere with GCC's constant folding (verified experimentally with GCC 14.2 and GCC 16.0.1), so the guard is unnecessary. Patch 2/2 is an additional fix needed when -fprofile-update=atomic is added to CFLAGS_GCOV: __no_profile on the __always_inline function alone is insufficient because after inlining, the code resides in the caller's profiled body. The caller (skb_extensions_init) needs __no_profile and noinline to prevent re-exposure to GCOV instrumentation. ==================== Link: https://patch.msgid.link/20260410162150.3105738-1-khorenko@virtuozzo.com Signed-off-by: Jakub Kicinski --- 8806d502e0a7e7d895b74afbd24e8550a65a2b17