Take an effort to recode the arm64 vdso code from assembler to C previously submitted by Andrew Pinski <apin...@cavium.com>, rework it for use in both arm and arm64, overlapping any optimizations for each architecture. But instead of landing it in arm64, land the result into lib/vdso and unify both implementations to simplify future maintenance.
Make sure kasan and ubsan profiling, and kcov instrumentation, is turned off for VDSO code. Signed-off-by: Mark Salyzyn <saly...@android.com> Tested-by: Mark Salyzyn <saly...@android.com> Cc: James Morse <james.mo...@arm.com> Cc: Russell King <li...@armlinux.org.uk> Cc: Catalin Marinas <catalin.mari...@arm.com> Cc: Will Deacon <will.dea...@arm.com> Cc: Andy Lutomirski <l...@amacapital.net> Cc: Dmitry Safonov <dsafo...@virtuozzo.com> Cc: John Stultz <john.stu...@linaro.org> Cc: Mark Rutland <mark.rutl...@arm.com> Cc: Laura Abbott <labb...@redhat.com> Cc: Kees Cook <keesc...@chromium.org> Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> Cc: Andy Gross <andy.gr...@linaro.org> Cc: Kevin Brodsky <kevin.brod...@arm.com> Cc: Andrew Pinski <apin...@cavium.com> Cc: Thomas Gleixner <t...@linutronix.de> Cc: linux-kernel@vger.kernel.org Cc: linux-arm-ker...@lists.infradead.org Cc: Jeremy Linton <jeremy.lin...@arm.com> Cc: android-ker...@android.com v2: - Added this to the split up of first CL, based on comments in second CL v4: - update commit message to reflect overall reasoning v5: - rebase --- arch/arm/vdso/Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/arm/vdso/Makefile b/arch/arm/vdso/Makefile index f4efff9d3afb..1125e3fb8006 100644 --- a/arch/arm/vdso/Makefile +++ b/arch/arm/vdso/Makefile @@ -27,8 +27,11 @@ CFLAGS_REMOVE_vdso.o = -pg CFLAGS_REMOVE_vgettimeofday.o = -pg -Os CFLAGS_vgettimeofday.o = -O2 -# Disable gcov profiling for VDSO code +# Disable gcov, kasan, ubsan and kcov profiling for VDSO code GCOV_PROFILE := n +KASAN_SANITIZE := n +UBSAN_SANITIZE := n +KCOV_INSTRUMENT := n # Prevents link failures: __sanitizer_cov_trace_pc() is not linked in. KCOV_INSTRUMENT := n -- 2.19.0.605.g01d371f741-goog