[PATCH v3 19/20] arm64: entry: don't instrument entry code with KCOV
Will Deacon
will at kernel.org
Fri Jun 4 10:16:28 PDT 2021
On Tue, May 25, 2021 at 07:33:01PM +0100, Mark Rutland wrote:
> The code in entry-common.c runs at exception entry and return
> boundaries, where portions of the kernel environment aren't available.
> For example, RCU may not be watching, and lockdep state may be
> out-of-sync with the hardware. Due to this, it is not sound to
> instrument this code.
>
> We generally avoid instrumentation by marking the entry functions as
> `noinstr`, but currently this doesn't inhibit KCOV instrumentation.
> Prevent this by disabling KCOV for the entire compilation unit.
>
> Signed-off-by: Mark Rutland <mark.rutland at arm.com>
> Cc: Catalin Marinas <catalin.marinas at arm.com>
> Cc: James Morse <james.morse at arm.com>
> Cc: Marc Zyngier <maz at kernel.org>
> Cc: Will Deacon <will at kernel.org>
> ---
> arch/arm64/kernel/Makefile | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile
> index 6cc97730790e..294063032428 100644
> --- a/arch/arm64/kernel/Makefile
> +++ b/arch/arm64/kernel/Makefile
> @@ -14,6 +14,8 @@ CFLAGS_REMOVE_return_address.o = $(CC_FLAGS_FTRACE)
> CFLAGS_REMOVE_syscall.o = -fstack-protector -fstack-protector-strong
> CFLAGS_syscall.o += -fno-stack-protector
Can you stick a comment here please? Just summarising what you have in the
commit message would be handy.
Thanks,
Will
> +KCOV_INSTRUMENT_entry.o := n
More information about the linux-arm-kernel
mailing list