Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf: Fix header.size for namespace events

Reset header size for namespace events, otherwise it only gets bigger in
ctx iterations.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Fixes: e422267322cd ("perf: Add PERF_RECORD_NAMESPACES to include namespaces related info")
Link: http://lkml.kernel.org/n/tip-nlo4gonz9d4guyb8153ukzt0@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

Jiri Olsa and committed by
Arnaldo Carvalho de Melo
742015ff 38ba1daf

+4 -1
+4 -1
kernel/events/core.c
··· 6640 6640 struct perf_namespaces_event *namespaces_event = data; 6641 6641 struct perf_output_handle handle; 6642 6642 struct perf_sample_data sample; 6643 + u16 header_size = namespaces_event->event_id.header.size; 6643 6644 int ret; 6644 6645 6645 6646 if (!perf_event_namespaces_match(event)) ··· 6651 6650 ret = perf_output_begin(&handle, event, 6652 6651 namespaces_event->event_id.header.size); 6653 6652 if (ret) 6654 - return; 6653 + goto out; 6655 6654 6656 6655 namespaces_event->event_id.pid = perf_event_pid(event, 6657 6656 namespaces_event->task); ··· 6663 6662 perf_event__output_id_sample(event, &handle, &sample); 6664 6663 6665 6664 perf_output_end(&handle); 6665 + out: 6666 + namespaces_event->event_id.header.size = header_size; 6666 6667 } 6667 6668 6668 6669 static void perf_fill_ns_link_info(struct perf_ns_link_info *ns_link_info,