Linus,
[ Hopefully the change log of the last commit is good enough ] Two minor fixes: - A race in perf trace initialization (missing mutexes) - Minor fix to represent gfp_t in synthetic events as properly signed Please pull the latest trace-v5.4-rc3-3 tree, which can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git trace-v5.4-rc3-3 Tag SHA1: abdeb1c7a64b38c5259c46978c103afe7d5b000c Head SHA1: 6b1340cc00edeadd52ebd8a45171f38c8de2a387 Prateek Sood (1): tracing: Fix race in perf_trace_buf initialization Zhengjun Xing (1): tracing: Fix "gfp_t" format for synthetic events ---- kernel/trace/trace_event_perf.c | 4 ++++ kernel/trace/trace_events_hist.c | 2 ++ 2 files changed, 6 insertions(+) --------------------------- diff --git a/kernel/trace/trace_event_perf.c b/kernel/trace/trace_event_perf.c index 0892e38ed6fb..a9dfa04ffa44 100644 --- a/kernel/trace/trace_event_perf.c +++ b/kernel/trace/trace_event_perf.c @@ -272,9 +272,11 @@ int perf_kprobe_init(struct perf_event *p_event, bool is_retprobe) goto out; } + mutex_lock(&event_mutex); ret = perf_trace_event_init(tp_event, p_event); if (ret) destroy_local_trace_kprobe(tp_event); + mutex_unlock(&event_mutex); out: kfree(func); return ret; @@ -282,8 +284,10 @@ int perf_kprobe_init(struct perf_event *p_event, bool is_retprobe) void perf_kprobe_destroy(struct perf_event *p_event) { + mutex_lock(&event_mutex); perf_trace_event_close(p_event); perf_trace_event_unreg(p_event); + mutex_unlock(&event_mutex); destroy_local_trace_kprobe(p_event->tp_event); } diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c index 57648c5aa679..7482a1466ebf 100644 --- a/kernel/trace/trace_events_hist.c +++ b/kernel/trace/trace_events_hist.c @@ -679,6 +679,8 @@ static bool synth_field_signed(char *type) { if (str_has_prefix(type, "u")) return false; + if (strcmp(type, "gfp_t") == 0) + return false; return true; }