On Dec 12, 2018, at 4:06 AM, Peter Zijlstra [off-list ref] wrote:
On Tue, Dec 11, 2018 at 03:33:47PM -0800, Song Liu wrote:
quoted
+static void perf_event_bpf_output(struct perf_event *event,
+ void *data)
+{
+ struct perf_bpf_event *bpf_event = data;
+ struct perf_output_handle handle;
+ struct perf_sample_data sample;
+ char name[KSYM_NAME_LEN];
+ int name_len;
+ int ret;
+
+ if (!perf_event_bpf_match(event))
+ return;
+
+ /* get prog name and round up to 64 bit aligned */
+ bpf_get_prog_name(bpf_event->prog, name);
+ name_len = strlen(name) + 1;
+ while (!IS_ALIGNED(name_len, sizeof(u64)))
+ name[name_len++] = '\0';
Does this not require something like:
BUILD_BUG_ON(KSYM_NAME_LEN % sizeof(u64));
Yeah, this makes sense. I will add this in next version.
Thanks,
Song