lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 14 Jan 2016 14:35:56 +0200
From:	"Kirill A. Shutemov" <kirill@...temov.name>
To:	Dmitry Vyukov <dvyukov@...gle.com>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	David Drysdale <drysdale@...gle.com>,
	Kees Cook <keescook@...gle.com>,
	Quentin Casasnovas <quentin.casasnovas@...cle.com>,
	Sasha Levin <sasha.levin@...cle.com>,
	Vegard Nossum <vegard.nossum@...cle.com>,
	LKML <linux-kernel@...r.kernel.org>,
	Eric Dumazet <edumazet@...gle.com>,
	Tavis Ormandy <taviso@...gle.com>,
	Bjorn Helgaas <bhelgaas@...gle.com>,
	syzkaller <syzkaller@...glegroups.com>,
	Kostya Serebryany <kcc@...gle.com>,
	Alexander Potapenko <glider@...gle.com>,
	Andrey Ryabinin <ryabinin.a.a@...il.com>
Subject: Re: [PATCH v2] kernel: add kcov code coverage

On Thu, Jan 14, 2016 at 01:21:27PM +0100, Dmitry Vyukov wrote:
> On Thu, Jan 14, 2016 at 10:23 AM, Kirill A. Shutemov
> <kirill@...temov.name> wrote:
> > On Thu, Jan 14, 2016 at 10:10:39AM +0100, Dmitry Vyukov wrote:
> >> On Thu, Jan 14, 2016 at 10:03 AM, Kirill A. Shutemov
> >> <kirill@...temov.name> wrote:
> >> > Hi,
> >> >
> >> > I've tried to build current -next with the patch. It has few reject, but
> >> > nothing major.
> >> >
> >> > Booting the kernel in qemu with CONFIG_KCOV=y has failed. It hangs on
> >> > "smpboot: Total of 3 processors activated (9178.27 BogoMIPS)"
> >> >
> >> > The interesting part is that I have only 2 cpu in this setup!
> >> >
> >> > Huh?
> >> >
> >> > CONFIG_KCOV=n works fine.
> >>
> >>
> >> Hi Kirill,
> >>
> >> Thanks for testing.
> >>
> >> I will try to reproduce this if you provide:
> >>  - location of the -next tree
> >
> > The usual one:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git next-20160114
> >
> >>  - gcc revision
> >
> > Current gcc-snapshot from Debian:
> >
> > gcc version 6.0.0 20160105 (experimental) [trunk revision 232093] (Debian 20160105-1)
> >
> >>  - .config
> >
> > Attached.
> >
> >>  - qemu command line
> >
> > Nothing fancy:
> >
> > qemu-system-x86_64 -smp 2 -m 2048 -nographic -kernel bzImage -append "console=ttyS0 earlyprintk=serial"
> >
> >> Alternatively, you can try to bulk disable instrumentation of
> >> everything related to boot process (by adding KCOV_INSTRUMENT := n to
> >> the Makefile). Most likely it is due to instrumentation. If it helps,
> >> try to bisect the the guilty files.
> >
> > Okay, I'll try.
> 
> 
> I've tried with exactly your gcc revision and your config and VM boots fine...
> 
> For me it prints 4 CPUs:
> [    0.193348] smpboot: Total of 4 processors activated
> so it is probably fine :)
> 
> I am almost sure that the root cause is kcov instrumentation is some
> inappropriate place. I've fixed such symptoms several times by
> disabling instrumentation in various places.
> 
> I've ported this patch to an older 3.13 kernel and I had to disabl all
> instrumentation in the following files (with KCOV_INSTRUMENT := n):
> 
> arch/x86/kernel/cpu/Makefile
> arch/x86/pci/Makefile
> arch/x86/platform/Makefile
> arch/x86/platform/**/Makefile
> arch/x86/power/Makefile
> arch/x86/realmode/Makefile
> arch/x86/um/Makefile
> 
> Try these first.

I found that disabling instrumentation for whole lib/ helps, but I wasn't
able to identify specific object files.

I've tried these:

KCOV_INSTRUMENT_cpumask.o := n
KCOV_INSTRUMENT_smp_processor_id.o := n
KCOV_INSTRUMENT_bitmap.o := n
KCOV_INSTRUMENT_find_bit.o := n

No luck.

-- 
 Kirill A. Shutemov

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ