Re: [PATCH v2 1/3] kcov: support comparison operands collection

From: Mark Rutland
Date: Tue Oct 10 2017 - 05:57:59 EST


On Mon, Oct 09, 2017 at 08:46:18PM +0200, 'Dmitry Vyukov' via syzkaller wrote:
> On Mon, Oct 9, 2017 at 8:37 PM, Mark Rutland <mark.rutland@xxxxxxx> wrote:
> > On Mon, Oct 09, 2017 at 08:15:10PM +0200, 'Dmitry Vyukov' via syzkaller wrote:
> >> On Mon, Oct 9, 2017 at 5:46 PM, Mark Rutland <mark.rutland@xxxxxxx> wrote:
> >> > On Mon, Oct 09, 2017 at 05:05:19PM +0200, Alexander Potapenko wrote:
> >
> >> > ... I note that a few places in the kernel use a 128-bit type. Are
> >> > 128-bit comparisons not instrumented?
> >>
> >> Yes, they are not instrumented.
> >> How many are there? Can you give some examples?
> >
> > From a quick scan, it doesn't looks like there are currently any
> > comparisons.
> >
> > It's used as a data type in a few places under arm64:
> >
> > arch/arm64/include/asm/checksum.h: __uint128_t tmp;
> > arch/arm64/include/asm/checksum.h: tmp = *(const __uint128_t *)iph;
> > arch/arm64/include/asm/fpsimd.h: __uint128_t vregs[32];
> > arch/arm64/include/uapi/asm/ptrace.h: __uint128_t vregs[32];
> > arch/arm64/include/uapi/asm/sigcontext.h: __uint128_t vregs[32];
> > arch/arm64/kernel/signal32.c: __uint128_t raw;
> > arch/arm64/kvm/guest.c: __uint128_t tmp;
>
> Then I think we just continue ignoring them for now :)
> In the future we can extend kcov to trace 128-bits values. We will
> need to add a special flag and write 2 consecutive entries for them.
> Or something along these lines.

Just wanted to make sure that we weren't backing ourselves into a corner
w.r.t. ABI; that sounds fine to me.

Thanks,
Mark.