From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755332AbdC1KIN (ORCPT ); Tue, 28 Mar 2017 06:08:13 -0400 Received: from mout.kundenserver.de ([217.72.192.74]:50300 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754222AbdC1KIL (ORCPT ); Tue, 28 Mar 2017 06:08:11 -0400 From: Arnd Bergmann To: Arnd Bergmann , Greg Kroah-Hartman Cc: Dmitry Vyukov , Kees Cook , linux-kernel@vger.kernel.org Subject: [PATCH] lkdtm: turn off kcov for lkdtm_rodata_do_nothing: Date: Tue, 28 Mar 2017 11:57:27 +0200 Message-Id: <20170328095740.3719532-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:VP+a5NA3CiIdX5YR/mYO3hLqXNNdIQHmqrZcF4s052yn2izYEnL 7RYhtWRHwJqUa3eIhR6uT3WLtdwb8J4zQXxi1y3d8e+uDzDDzqlR6+JDx+xaORWf+RJUpyY tu14im5/K1ll7uQRUXS7sMVPrcQ/isdx+cHgA3iKCJxzIgWt9iT84rzeMhm8DC2zhu8OAv5 3urJGop8S+u3Hy7oZBlhg== X-UI-Out-Filterresults: notjunk:1;V01:K0:FqJfuYG+hiI=:fNMhM3FHrny/CmpWzkvtc2 8NQ7GT4kfiOO1XnTlHc05P0+tNGXuu59U6+JD4ykxCEZuj3o6dVZfJ3m5vtyZpi2adzEGenjI j/VMiDnHs2BOaG8qFPZ/z5tjHvAIiWUlZKxRXEZ1GgVZD7H9r+WaZmXpEW+Xl2QKzX78rXWOJ 6mWn9TIucYX6FH0jVyt7s19CMiL3qemzcKRMlUmeFNiLElo3b8dY0c50HqarfjN9WMPYSK562 kvvzW3lr1yrrW5JIzdaNg+kyt/TarcRcwVFGRlO/tBSIA4uCIrA9ZVc7Ab7jMPteHxmk/FtWH JfXIZs5H+CZ9q/rvbUbEzaZ0UoxwjK+rEspybXzbMdOLixUAuNDbbj9PAwQuWkA5q0AbmFPQ9 8dgSlN/cj2KjCFbPS1Gy8DAEO8A0LA7s7t+CAFbH1WSOn9//Y8uN3i3I14NWO0okaxqfYJ16t cvfqMctedeCeGzO0sZ8e4OvUE6mZxRy5yZ3zOxom8nNfSyoGm8W0K9I5KSJ5nymSmDkTUolmD iE+2FN62xvXjIWodu+/nHPdS/aTicTaYVP7CtC19hRxt4A+BYCrBqajgZOYKV1mgKZRZP/JU4 eCLaQUOSLqnGX/xNQcMSu260u+/1bpk9FKVMkDzAesH+y2OQGy2MA2Zd3p9D9j+4hJwXbU/dH eaqgD1W5bi+EHxxDnBMuMfPmM/QTsQVILdjR+p590vBZnrJVPqk+VmMI9Ux6N/Su+KHg= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I ran into a link error on ARM64 for lkdtm_rodata_do_nothing: drivers/misc/built-in.o: In function `lkdtm_rodata_do_nothing': :(.rodata+0x68c8): relocation truncated to fit: R_AARCH64_CALL26 against symbol `__sanitizer_cov_trace_pc' defined in .text section in kernel/built-in.o I did not analyze this further, but my theory is that we would need a trampoline to call __sanitizer_cov_trace_pc(), but the linker (correctly) only adds trampolines for callers in executable sections. Disabling KCOV for this one file avoids the build failure with no other practical downsides I can think of. The problem can only happen on kernels that contain both kcov and lkdtm, so if we want to backport this, it should be in the earliest version that has both (v4.8). Cc: Dmitry Vyukov Cc: Kees Cook Fixes: 5c9a8750a640 ("kernel: add kcov code coverage") Fixes: 9a49a528dcf3 ("lkdtm: add function for testing .rodata section") Signed-off-by: Arnd Bergmann --- drivers/misc/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile index 4925ea8e1952..7a321047bfbe 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -63,6 +63,8 @@ lkdtm-$(CONFIG_LKDTM) += lkdtm_perms.o lkdtm-$(CONFIG_LKDTM) += lkdtm_rodata_objcopy.o lkdtm-$(CONFIG_LKDTM) += lkdtm_usercopy.o +KCOV_INSTRUMENT_lkdtm_rodata.o := n + OBJCOPYFLAGS := OBJCOPYFLAGS_lkdtm_rodata_objcopy.o := \ --set-section-flags .text=alloc,readonly \ -- 2.9.0