* [PATCH] x86/mm: Disable various instrumentations of mem_encrypt.c
@ 2017-10-10 19:45 Tom Lendacky
2017-10-11 9:57 ` Borislav Petkov
2017-10-11 18:15 ` [tip:x86/urgent] x86/mm: Disable various instrumentations of mm/mem_encrypt.c and mm/tlb.c tip-bot for Tom Lendacky
0 siblings, 2 replies; 3+ messages in thread
From: Tom Lendacky @ 2017-10-10 19:45 UTC (permalink / raw)
To: x86
Cc: Peter Zijlstra, linux-kernel, Ingo Molnar, Borislav Petkov,
H. Peter Anvin, Thomas Gleixner
Some routines in mem_encrypt.c are called very early in the boot process,
e.g. sme_enable(). When CONFIG_KCOV is defined the resulting code added
to sme_enable() (and others) for KCOV instrumentation results in a kernel
crash. Disable the KCOV instrumentation for mem_encrypt.c by adding
KCOV_INSTRUMENT_mem_encrypt.o := n to arch/x86/mm/Makefile.
In order to avoid other possible early boot issues, model mem_encrypt.c
after head64.c in regards to tools. In addition to disabling KCOV as
stated above and a previous patch that disables branch profiling, also
remove the "-pg" CFLAG if CONFIG_FUNCTION_TRACER is enabled and set
KASAN_SANITIZE to "n", each of which are done on a file basis.
Reported-by: kernel test robot <lkp@01.org>
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
---
arch/x86/mm/Makefile | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/arch/x86/mm/Makefile b/arch/x86/mm/Makefile
index 72bf8c0..e1f0958 100644
--- a/arch/x86/mm/Makefile
+++ b/arch/x86/mm/Makefile
@@ -1,5 +1,12 @@
-# Kernel does not boot with instrumentation of tlb.c.
-KCOV_INSTRUMENT_tlb.o := n
+# Kernel does not boot with instrumentation of tlb.c and mem_encrypt.c
+KCOV_INSTRUMENT_tlb.o := n
+KCOV_INSTRUMENT_mem_encrypt.o := n
+
+KASAN_SANITIZE_mem_encrypt.o := n
+
+ifdef CONFIG_FUNCTION_TRACER
+CFLAGS_REMOVE_mem_encrypt.o = -pg
+endif
obj-y := init.o init_$(BITS).o fault.o ioremap.o extable.o pageattr.o mmap.o \
pat.o pgtable.o physaddr.o setup_nx.o tlb.o
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] x86/mm: Disable various instrumentations of mem_encrypt.c
2017-10-10 19:45 [PATCH] x86/mm: Disable various instrumentations of mem_encrypt.c Tom Lendacky
@ 2017-10-11 9:57 ` Borislav Petkov
2017-10-11 18:15 ` [tip:x86/urgent] x86/mm: Disable various instrumentations of mm/mem_encrypt.c and mm/tlb.c tip-bot for Tom Lendacky
1 sibling, 0 replies; 3+ messages in thread
From: Borislav Petkov @ 2017-10-11 9:57 UTC (permalink / raw)
To: Tom Lendacky
Cc: x86, Peter Zijlstra, linux-kernel, Ingo Molnar, H. Peter Anvin,
Thomas Gleixner
On Tue, Oct 10, 2017 at 02:45:04PM -0500, Tom Lendacky wrote:
> Some routines in mem_encrypt.c are called very early in the boot process,
> e.g. sme_enable(). When CONFIG_KCOV is defined the resulting code added
> to sme_enable() (and others) for KCOV instrumentation results in a kernel
> crash. Disable the KCOV instrumentation for mem_encrypt.c by adding
> KCOV_INSTRUMENT_mem_encrypt.o := n to arch/x86/mm/Makefile.
>
> In order to avoid other possible early boot issues, model mem_encrypt.c
> after head64.c in regards to tools. In addition to disabling KCOV as
> stated above and a previous patch that disables branch profiling, also
> remove the "-pg" CFLAG if CONFIG_FUNCTION_TRACER is enabled and set
> KASAN_SANITIZE to "n", each of which are done on a file basis.
>
> Reported-by: kernel test robot <lkp@01.org>
> Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
> ---
> arch/x86/mm/Makefile | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
Reviewed-by: Borislav Petkov <bp@suse.de>
--
Regards/Gruss,
Boris.
Good mailing practices for 400: avoid top-posting and trim the reply.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [tip:x86/urgent] x86/mm: Disable various instrumentations of mm/mem_encrypt.c and mm/tlb.c
2017-10-10 19:45 [PATCH] x86/mm: Disable various instrumentations of mem_encrypt.c Tom Lendacky
2017-10-11 9:57 ` Borislav Petkov
@ 2017-10-11 18:15 ` tip-bot for Tom Lendacky
1 sibling, 0 replies; 3+ messages in thread
From: tip-bot for Tom Lendacky @ 2017-10-11 18:15 UTC (permalink / raw)
To: linux-tip-commits
Cc: bp, linux-kernel, thomas.lendacky, tglx, lkp, hpa, torvalds, bp,
peterz, mingo
Commit-ID: 67bb8e999e0aeac285d22f0e53c856b9df5282c6
Gitweb: https://git.kernel.org/tip/67bb8e999e0aeac285d22f0e53c856b9df5282c6
Author: Tom Lendacky <thomas.lendacky@amd.com>
AuthorDate: Tue, 10 Oct 2017 14:45:04 -0500
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 11 Oct 2017 17:22:59 +0200
x86/mm: Disable various instrumentations of mm/mem_encrypt.c and mm/tlb.c
Some routines in mem_encrypt.c are called very early in the boot process,
e.g. sme_enable(). When CONFIG_KCOV=y is defined the resulting code added
to sme_enable() (and others) for KCOV instrumentation results in a kernel
crash. Disable the KCOV instrumentation for mem_encrypt.c by adding
KCOV_INSTRUMENT_mem_encrypt.o := n to arch/x86/mm/Makefile.
In order to avoid other possible early boot issues, model mem_encrypt.c
after head64.c in regards to tools. In addition to disabling KCOV as
stated above and a previous patch that disables branch profiling, also
remove the "-pg" CFLAG if CONFIG_FUNCTION_TRACER is enabled and set
KASAN_SANITIZE to "n", each of which are done on a file basis.
Reported-by: kernel test robot <lkp@01.org>
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Reviewed-by: Borislav Petkov <bp@suse.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20171010194504.18887.38053.stgit@tlendack-t1.amdoffice.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
arch/x86/mm/Makefile | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/arch/x86/mm/Makefile b/arch/x86/mm/Makefile
index 72bf8c0..e1f0958 100644
--- a/arch/x86/mm/Makefile
+++ b/arch/x86/mm/Makefile
@@ -1,5 +1,12 @@
-# Kernel does not boot with instrumentation of tlb.c.
-KCOV_INSTRUMENT_tlb.o := n
+# Kernel does not boot with instrumentation of tlb.c and mem_encrypt.c
+KCOV_INSTRUMENT_tlb.o := n
+KCOV_INSTRUMENT_mem_encrypt.o := n
+
+KASAN_SANITIZE_mem_encrypt.o := n
+
+ifdef CONFIG_FUNCTION_TRACER
+CFLAGS_REMOVE_mem_encrypt.o = -pg
+endif
obj-y := init.o init_$(BITS).o fault.o ioremap.o extable.o pageattr.o mmap.o \
pat.o pgtable.o physaddr.o setup_nx.o tlb.o
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-10-11 18:21 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-10 19:45 [PATCH] x86/mm: Disable various instrumentations of mem_encrypt.c Tom Lendacky
2017-10-11 9:57 ` Borislav Petkov
2017-10-11 18:15 ` [tip:x86/urgent] x86/mm: Disable various instrumentations of mm/mem_encrypt.c and mm/tlb.c tip-bot for Tom Lendacky
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).