bpf_metadata
struct perf_record_bpf_metadata bpf_metadata;
inject.tool.bpf_metadata = perf_event__repipe_op2_synth;
script->tool.bpf_metadata = process_bpf_metadata_event;
static struct bpf_metadata *bpf_metadata_alloc(__u32 nr_prog_tags,
struct bpf_metadata *metadata;
metadata = zalloc(sizeof(struct bpf_metadata));
event_size = sizeof(metadata->event->bpf_metadata) +
nr_variables * sizeof(metadata->event->bpf_metadata.entries[0]);
metadata->event->bpf_metadata = (struct perf_record_bpf_metadata) {
static struct bpf_metadata *bpf_metadata_create(struct bpf_prog_info *info)
struct bpf_metadata *metadata;
bpf_metadata_fill_event(&map, &metadata->event->bpf_metadata);
static int synthesize_perf_record_bpf_metadata(const struct bpf_metadata *metadata,
memcpy(event->bpf_metadata.prog_name,
void bpf_metadata_free(struct bpf_metadata *metadata)
static struct bpf_metadata *bpf_metadata_create(struct bpf_prog_info *info __maybe_unused)
static int synthesize_perf_record_bpf_metadata(const struct bpf_metadata *metadata __maybe_unused,
void bpf_metadata_free(struct bpf_metadata *metadata __maybe_unused)
struct bpf_metadata *metadata = node->metadata;
struct bpf_metadata *metadata;
struct bpf_metadata *metadata;
void bpf_metadata_free(struct bpf_metadata *metadata);
static inline void bpf_metadata_free(struct bpf_metadata *metadata __maybe_unused)
struct perf_record_bpf_metadata *metadata = &event->bpf_metadata;
if (event->header.size < sizeof(event->bpf_metadata))
event->bpf_metadata.nr_entries = bswap_64(event->bpf_metadata.nr_entries);
event->bpf_metadata.prog_name[BPF_PROG_NAME_LEN - 1] = '\0';
nr = event->bpf_metadata.nr_entries;
max_nr = (event->header.size - sizeof(event->bpf_metadata)) /
sizeof(event->bpf_metadata.entries[0]);
event->bpf_metadata.nr_entries = nr;
event->bpf_metadata.entries[i].key[BPF_METADATA_KEY_LEN - 1] = '\0';
event->bpf_metadata.entries[i].value[BPF_METADATA_VALUE_LEN - 1] = '\0';
if (event_size < sizeof(event->bpf_metadata)) {
if (strnlen(event->bpf_metadata.prog_name,
nr_entries = READ_ONCE(event->bpf_metadata.nr_entries);
max_entries = (event_size - sizeof(event->bpf_metadata)) /
sizeof(event->bpf_metadata.entries[0]);
if (strnlen(event->bpf_metadata.entries[i].key,
strnlen(event->bpf_metadata.entries[i].value,
err = tool->bpf_metadata(tool, session, event);
tool->bpf_metadata = perf_event__process_bpf_metadata_stub;
CREATE_DELEGATE_OP2(bpf_metadata);
tool->tool.bpf_metadata = delegate_bpf_metadata;
bpf_metadata,