Comment 5 for bug 1756240

Revision history for this message
Colin Ian King (colin-king) wrote :

This build failure occurs because of the following artful commit:

commit 356852284931cda6749c41f77acefcb13bd534fe
Author: Wanpeng Li <email address hidden>
Date: Thu Jan 4 01:57:52 2018 -0500

    KVM: Fix stack-out-of-bounds read in write_mmio

    CVE-2017-17741

This redefines the kvm_mmio trace event as follows:

 TRACE_EVENT(kvm_mmio,
- TP_PROTO(int type, int len, u64 gpa, u64 val),
+ TP_PROTO(int type, int len, u64 gpa, void *val),
        TP_ARGS(type, len, gpa, val),

..which is different from the lttng prototype in instrumentation/events/lttng-module/kvm.h:

#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0) \
        || LTTNG_KERNEL_RANGE(4,14,14, 4,15,0) \
        || LTTNG_KERNEL_RANGE(4,9,77, 4,10,0) \
        || LTTNG_KERNEL_RANGE(4,4,112, 4,5,0) \
        || LTTNG_KERNEL_RANGE(3,16,52, 3,17,0) \
        || LTTNG_KERNEL_RANGE(3,2,97, 3,3,0) \
        || LTTNG_DEBIAN_KERNEL_RANGE(4,9,65,0,3,0, 4,10,0,0,0,0))

LTTNG_TRACEPOINT_EVENT(kvm_mmio,
        TP_PROTO(int type, int len, u64 gpa, void *val),
        TP_ARGS(type, len, gpa, val),

        TP_FIELDS(
                ctf_integer(u32, type, type)
                ctf_integer(u32, len, len)
                ctf_integer(u64, gpa, gpa)
                ctf_sequence_hex(unsigned char, val, val, u32, len)
        )
)

#else

LTTNG_TRACEPOINT_EVENT(kvm_mmio,
        TP_PROTO(int type, int len, u64 gpa, u64 val),
        TP_ARGS(type, len, gpa, val),

        TP_FIELDS(
                ctf_integer(u32, type, type)
                ctf_integer(u32, len, len)
                ctf_integer(u64, gpa, gpa)
                ctf_integer(u64, val, val)
        )
)

Not sure how we #ifdef around this as the kernel version is 4.13 yet it now has a 4.15 API