Re: [PATCH 0/2] Fix CFI failures with GCOV_PROFILE_ALL

Peter Zijlstra
2023-06-23T09:13:39Z

On Fri, Jun 23, 2023 at 12:11:41AM +0000, Sami Tolvanen wrote:
> Hi folks,
>
> The following two patches fix CFI failures with GCOV_PROFILE_ALL,
> where the compiler injects indirectly called functions to object
> files that otherwise contain no executable code, and are not
> processed by objtool or don't have CFI enabled. This results in
> missing or incorrect type hashes during boot and when modules are
> loaded.
>
> Sami Tolvanen (2):
> kbuild: Fix CFI failures with GCOV
> kbuild: Disable GCOV for *.mod.o
>
> init/Makefile | 1 +
> scripts/Makefile.modfinal | 2 +-
> scripts/Makefile.vmlinux | 1 +
> 3 files changed, 3 insertions(+), 1 deletion(-)
>

Urgh, tricky stuff this.

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>

And yes, objtool essentially assumes vmlinux.o is complete and does LTO
like passes. Is there something kbuild can do to ensure noting else gets
linked in after this?