Merge tag 'trace-v4.17-rc4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
Pull tracing fix from Steven Rostedt:
"Some of the ftrace internal events use a zero for a data size of a
field event. This is increasingly important for the histogram trigger
work that is being extended.
While auditing trace events, I found that a couple of the xen events
were used as just marking that a function was called, by creating a
static array of size zero. This can play havoc with the tracing
features if these events are used, because a zero size of a static
array is denoted as a special nul terminated dynamic array (this is
what the trace_marker code uses). But since the xen events have no
size, they are not nul terminated, and unexpected results may occur.
As trace events were never intended on being a marker to denote that a
function was hit or not, especially since function tracing and kprobes
can trivially do the same, the best course of action is to simply
remove these events"
* tag 'trace-v4.17-rc4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
tracing/x86/xen: Remove zero data size trace events trace_xen_mmu_flush_tlb{_all}
This commit is contained in:
@@ -42,13 +42,11 @@ xmaddr_t arbitrary_virt_to_machine(void *vaddr)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(arbitrary_virt_to_machine);
|
||||
|
||||
static void xen_flush_tlb_all(void)
|
||||
static noinline void xen_flush_tlb_all(void)
|
||||
{
|
||||
struct mmuext_op *op;
|
||||
struct multicall_space mcs;
|
||||
|
||||
trace_xen_mmu_flush_tlb_all(0);
|
||||
|
||||
preempt_disable();
|
||||
|
||||
mcs = xen_mc_entry(sizeof(*op));
|
||||
|
||||
@@ -1310,13 +1310,11 @@ unsigned long xen_read_cr2_direct(void)
|
||||
return this_cpu_read(xen_vcpu_info.arch.cr2);
|
||||
}
|
||||
|
||||
static void xen_flush_tlb(void)
|
||||
static noinline void xen_flush_tlb(void)
|
||||
{
|
||||
struct mmuext_op *op;
|
||||
struct multicall_space mcs;
|
||||
|
||||
trace_xen_mmu_flush_tlb(0);
|
||||
|
||||
preempt_disable();
|
||||
|
||||
mcs = xen_mc_entry(sizeof(*op));
|
||||
|
||||
@@ -352,22 +352,6 @@ DECLARE_EVENT_CLASS(xen_mmu_pgd,
|
||||
DEFINE_XEN_MMU_PGD_EVENT(xen_mmu_pgd_pin);
|
||||
DEFINE_XEN_MMU_PGD_EVENT(xen_mmu_pgd_unpin);
|
||||
|
||||
TRACE_EVENT(xen_mmu_flush_tlb_all,
|
||||
TP_PROTO(int x),
|
||||
TP_ARGS(x),
|
||||
TP_STRUCT__entry(__array(char, x, 0)),
|
||||
TP_fast_assign((void)x),
|
||||
TP_printk("%s", "")
|
||||
);
|
||||
|
||||
TRACE_EVENT(xen_mmu_flush_tlb,
|
||||
TP_PROTO(int x),
|
||||
TP_ARGS(x),
|
||||
TP_STRUCT__entry(__array(char, x, 0)),
|
||||
TP_fast_assign((void)x),
|
||||
TP_printk("%s", "")
|
||||
);
|
||||
|
||||
TRACE_EVENT(xen_mmu_flush_tlb_one_user,
|
||||
TP_PROTO(unsigned long addr),
|
||||
TP_ARGS(addr),
|
||||
|
||||
Reference in New Issue
Block a user