On 15/06/16 15:25, Mark Rutland wrote: > On Wed, Jun 15, 2016 at 01:53:03PM +0200, Alexander Potapenko wrote: >> On Wed, Jun 15, 2016 at 1:44 PM, Mark Rutland <mark.rutl...@arm.com> wrote: >>> On Wed, Jun 15, 2016 at 10:25:10AM +0100, Mark Rutland wrote: >>>> On Tue, Jun 14, 2016 at 08:16:08PM +0200, Alexander Potapenko wrote: >>>>> On Tue, Jun 14, 2016 at 7:55 PM, Mark Rutland <mark.rutl...@arm.com> >>>>> wrote: >>>>>> I built and booted (via EFI) a kernel with this feature enabled (also >>>>>> with the boot/Makefile change removed). I haven't tested the feature >>>>>> itself as such, as I'm not sure how to do that. >>>>> You can test it by running the test program from Documentation/kcov.txt. >>>> >>>> Ah, I hadn't spotted that. If I get the chance I'll try to give that a >>>> go. >>> >>> I just had a go (with this applied atop of v4.7-rc3), and I get: >>> >>> root@ribbensteg:/home/nanook# ./kcov >>> mmap: No such device >>> >>> The device exists (it was able to open the fd, evidently): >>> >>> root@ribbensteg:/home/nanook# ls -al /sys/kernel/debug/kcov >>> -rw------- 1 root root 0 Jan 1 1970 /sys/kernel/debug/kcov >>> >>> Strace show me: >>> >>> openat(AT_FDCWD, "/sys/kernel/debug/kcov", O_RDWR) = 3 >>> ioctl(3, CHIOMOVE or CM_IOCGATR, 0x10000) = 0 >>> mmap(NULL, 524288, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0) = -1 ENODEV (No >>> such device) >>> >>> It doesn't look like the error paths in kcov_mmap are hitting. >>> >>> Any ideas? >> According to Dmitry (thanks, Dmitry!) this has regressed recently, but >> there's a pending patch that should probably fix the problem: >> http://lkml.iu.edu/hypermail/linux/kernel/1605.2/04379.html > > Thanks for the pointer! With that applied, the program runs. > > However, it looks like I missed a warning from the kernel build system, > and my toolchain doesn't actually support -fsanitize-coverage=trace-pc, > so I'm not going to be able to test that further.
I dusted off a compiler that supports this, and ran the sample program under Documentation with the above unproxify patch. Tested-by: James Morse <james.mo...@arm.com> Thanks, James