* [PATCH RESEND v1 1/1] x86/kernel: Increase kcov coverage under arch/x86/kernel folder [not found] <cover.1690771380.git.pengfei.xu@intel.com> @ 2023-07-31 3:04 ` Pengfei Xu 2023-08-07 19:58 ` Andrew Morton 0 siblings, 1 reply; 3+ messages in thread From: Pengfei Xu @ 2023-07-31 3:04 UTC (permalink / raw) To: dvyukov, nogikh, linux-kernel Cc: Pengfei Xu, Heng Su, syzkaller, keescook, mingo, Mehta Sohil, kirill.shutemov, akpm Currently kcov instrument is disabled for object files under arch/x86/kernel folder. For object files under arch/x86/kernel, actually just disabling the kcov instrument of files:"head32.o or head64.o and sev.o" could achieve successful booting and provide kcov coverage for object files that do not disable kcov instrument. The additional kcov coverage collected from arch/x86/kernel folder helps kernel fuzzing efforts to find bugs. Link to related improvement discussion is below: https://groups.google.com/g/syzkaller/c/Dsl-RYGCqs8/m/x-tfpTyFBAAJ Related ticket is as follow: https://bugzilla.kernel.org/show_bug.cgi?id=198443 Reviewed-by: Dmitry Vyukov <dvyukov@google.com> Tested-by: Dmitry Vyukov <dvyukov@google.com> Signed-off-by: Pengfei Xu <pengfei.xu@intel.com> --- arch/x86/kernel/Makefile | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile index 4070a01c11b7..00df34c263cc 100644 --- a/arch/x86/kernel/Makefile +++ b/arch/x86/kernel/Makefile @@ -33,11 +33,10 @@ KCSAN_SANITIZE := n KMSAN_SANITIZE_head$(BITS).o := n KMSAN_SANITIZE_nmi.o := n -# If instrumentation of this dir is enabled, boot hangs during first second. -# Probably could be more selective here, but note that files related to irqs, -# boot, dumpstack/stacktrace, etc are either non-interesting or can lead to -# non-deterministic coverage. -KCOV_INSTRUMENT := n +# If instrumentation of the following files is enabled, boot hangs during +# first second. +KCOV_INSTRUMENT_head$(BITS).o := n +KCOV_INSTRUMENT_sev.o := n CFLAGS_irq.o := -I $(srctree)/$(src)/../include/asm/trace -- 2.31.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH RESEND v1 1/1] x86/kernel: Increase kcov coverage under arch/x86/kernel folder 2023-07-31 3:04 ` [PATCH RESEND v1 1/1] x86/kernel: Increase kcov coverage under arch/x86/kernel folder Pengfei Xu @ 2023-08-07 19:58 ` Andrew Morton 2023-08-09 5:35 ` Pengfei Xu 0 siblings, 1 reply; 3+ messages in thread From: Andrew Morton @ 2023-08-07 19:58 UTC (permalink / raw) To: Pengfei Xu Cc: dvyukov, nogikh, linux-kernel, Heng Su, syzkaller, keescook, mingo, Mehta Sohil, kirill.shutemov On Mon, 31 Jul 2023 11:04:18 +0800 Pengfei Xu <pengfei.xu@intel.com> wrote: > Currently kcov instrument is disabled for object files under arch/x86/kernel > folder. > For object files under arch/x86/kernel, actually just disabling the kcov > instrument of files:"head32.o or head64.o and sev.o" could achieve > successful booting and provide kcov coverage for object files that do not > disable kcov instrument. > The additional kcov coverage collected from arch/x86/kernel folder helps > kernel fuzzing efforts to find bugs. > > Link to related improvement discussion is below: > https://groups.google.com/g/syzkaller/c/Dsl-RYGCqs8/m/x-tfpTyFBAAJ > Related ticket is as follow: > https://bugzilla.kernel.org/show_bug.cgi?id=198443 > > ... > > --- a/arch/x86/kernel/Makefile > +++ b/arch/x86/kernel/Makefile > @@ -33,11 +33,10 @@ KCSAN_SANITIZE := n > KMSAN_SANITIZE_head$(BITS).o := n > KMSAN_SANITIZE_nmi.o := n > > -# If instrumentation of this dir is enabled, boot hangs during first second. > -# Probably could be more selective here, but note that files related to irqs, > -# boot, dumpstack/stacktrace, etc are either non-interesting or can lead to > -# non-deterministic coverage. > -KCOV_INSTRUMENT := n > +# If instrumentation of the following files is enabled, boot hangs during > +# first second. > +KCOV_INSTRUMENT_head$(BITS).o := n > +KCOV_INSTRUMENT_sev.o := n > > CFLAGS_irq.o := -I $(srctree)/$(src)/../include/asm/trace This patch exposes (but probably doesn't cause) an objtool warning: arch/x86/kernel/traps.o: warning: objtool: ibt_selftest+0x18: sibling call from callable instruction with modified stack frame gcc-12.2.0, x86_64 allmodconfig. ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH RESEND v1 1/1] x86/kernel: Increase kcov coverage under arch/x86/kernel folder 2023-08-07 19:58 ` Andrew Morton @ 2023-08-09 5:35 ` Pengfei Xu 0 siblings, 0 replies; 3+ messages in thread From: Pengfei Xu @ 2023-08-09 5:35 UTC (permalink / raw) To: Andrew Morton Cc: dvyukov, nogikh, linux-kernel, Heng Su, syzkaller, keescook, mingo, Mehta Sohil, kirill.shutemov, peterz Hi Andrew, On 2023-08-07 at 12:58:03 -0700, Andrew Morton wrote: > On Mon, 31 Jul 2023 11:04:18 +0800 Pengfei Xu <pengfei.xu@intel.com> wrote: > > > Currently kcov instrument is disabled for object files under arch/x86/kernel > > folder. > > For object files under arch/x86/kernel, actually just disabling the kcov > > instrument of files:"head32.o or head64.o and sev.o" could achieve > > successful booting and provide kcov coverage for object files that do not > > disable kcov instrument. > > The additional kcov coverage collected from arch/x86/kernel folder helps > > kernel fuzzing efforts to find bugs. > > > > Link to related improvement discussion is below: > > https://groups.google.com/g/syzkaller/c/Dsl-RYGCqs8/m/x-tfpTyFBAAJ > > Related ticket is as follow: > > https://bugzilla.kernel.org/show_bug.cgi?id=198443 > > > > ... > > > > --- a/arch/x86/kernel/Makefile > > +++ b/arch/x86/kernel/Makefile > > @@ -33,11 +33,10 @@ KCSAN_SANITIZE := n > > KMSAN_SANITIZE_head$(BITS).o := n > > KMSAN_SANITIZE_nmi.o := n > > > > -# If instrumentation of this dir is enabled, boot hangs during first second. > > -# Probably could be more selective here, but note that files related to irqs, > > -# boot, dumpstack/stacktrace, etc are either non-interesting or can lead to > > -# non-deterministic coverage. > > -KCOV_INSTRUMENT := n > > +# If instrumentation of the following files is enabled, boot hangs during > > +# first second. > > +KCOV_INSTRUMENT_head$(BITS).o := n > > +KCOV_INSTRUMENT_sev.o := n > > > > CFLAGS_irq.o := -I $(srctree)/$(src)/../include/asm/trace > > This patch exposes (but probably doesn't cause) an objtool warning: > > arch/x86/kernel/traps.o: warning: objtool: ibt_selftest+0x18: sibling call from callable instruction with modified stack frame Thanks for pointing out the problem! I found: v6.5-rc5 mainline kernel met the problem also: " vmlinux.o: warning: objtool: ibt_selftest+0x11: sibling call from callable instruction with modified stack frame " Yes, it has something to do with the patch above, becasue after installed above patch on top of v6.5-rc5 kernel, the offset changed from 0x11 to 0x1d: " vmlinux.o: warning: objtool: ibt_selftest+0x1d: sibling call from callable instruction with modified stack frame " I'm still not quite sure the reason of warning from ibt_selftest function. Anyway, I will keep looking into this issue. Best Regards, Thanks! > > gcc-12.2.0, x86_64 allmodconfig. > ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-08-09 5:33 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <cover.1690771380.git.pengfei.xu@intel.com>
2023-07-31 3:04 ` [PATCH RESEND v1 1/1] x86/kernel: Increase kcov coverage under arch/x86/kernel folder Pengfei Xu
2023-08-07 19:58 ` Andrew Morton
2023-08-09 5:35 ` Pengfei Xu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox