|
@@ -97,6 +97,7 @@ enum bpf_cmd {
|
|
|
BPF_RAW_TRACEPOINT_OPEN,
|
|
|
BPF_BTF_LOAD,
|
|
|
BPF_BTF_GET_FD_BY_ID,
|
|
|
+ BPF_TASK_FD_QUERY,
|
|
|
};
|
|
|
|
|
|
enum bpf_map_type {
|
|
@@ -380,6 +381,22 @@ union bpf_attr {
|
|
|
__u32 btf_log_size;
|
|
|
__u32 btf_log_level;
|
|
|
};
|
|
|
+
|
|
|
+ struct {
|
|
|
+ __u32 pid; /* input: pid */
|
|
|
+ __u32 fd; /* input: fd */
|
|
|
+ __u32 flags; /* input: flags */
|
|
|
+ __u32 buf_len; /* input/output: buf len */
|
|
|
+ __aligned_u64 buf; /* input/output:
|
|
|
+ * tp_name for tracepoint
|
|
|
+ * symbol for kprobe
|
|
|
+ * filename for uprobe
|
|
|
+ */
|
|
|
+ __u32 prog_id; /* output: prod_id */
|
|
|
+ __u32 fd_type; /* output: BPF_FD_TYPE_* */
|
|
|
+ __u64 probe_offset; /* output: probe_offset */
|
|
|
+ __u64 probe_addr; /* output: probe_addr */
|
|
|
+ } task_fd_query;
|
|
|
} __attribute__((aligned(8)));
|
|
|
|
|
|
/* The description below is an attempt at providing documentation to eBPF
|
|
@@ -2557,4 +2574,13 @@ struct bpf_fib_lookup {
|
|
|
__u8 dmac[6]; /* ETH_ALEN */
|
|
|
};
|
|
|
|
|
|
+enum bpf_task_fd_type {
|
|
|
+ BPF_FD_TYPE_RAW_TRACEPOINT, /* tp name */
|
|
|
+ BPF_FD_TYPE_TRACEPOINT, /* tp name */
|
|
|
+ BPF_FD_TYPE_KPROBE, /* (symbol + offset) or addr */
|
|
|
+ BPF_FD_TYPE_KRETPROBE, /* (symbol + offset) or addr */
|
|
|
+ BPF_FD_TYPE_UPROBE, /* filename + offset */
|
|
|
+ BPF_FD_TYPE_URETPROBE, /* filename + offset */
|
|
|
+};
|
|
|
+
|
|
|
#endif /* _UAPI__LINUX_BPF_H__ */
|