From 7bc192f8457a29f853ba7cf586b8a7e7e633a4bf Mon Sep 17 00:00:00 2001 From: li-long315 Date: Sun, 25 Jun 2023 15:22:18 +0800 Subject: [PATCH] add function for create ring/perf buffer --- observation/src/ttysnoop/ttysnoop.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/observation/src/ttysnoop/ttysnoop.c b/observation/src/ttysnoop/ttysnoop.c index c149dc82..5f65170b 100644 --- a/observation/src/ttysnoop/ttysnoop.c +++ b/observation/src/ttysnoop/ttysnoop.c @@ -153,7 +153,9 @@ int main(int argc, char *argv[]) .doc = argp_program_doc, }; struct ttysnoop_bpf *obj; + struct bpf_buffer *buf = NULL; int err; + bool new_tty_write = false; err = argp_parse(&argp, argc, argv, 0, NULL, NULL); if (err) @@ -179,6 +181,17 @@ int main(int argc, char *argv[]) obj->rodata->user_data_count = env.count; obj->rodata->pts_inode = env.pts_inode; + + buf = bpf_buffer__new(obj->maps.events, obj->maps.heap); + if (!buf) { + warning("Failed to create ring/perf buffer: %s\n", strerror(errno)); + err = 1; + goto cleanup; + } +cleanup: + bpf_buffer__free(buf); + ttysnoop_bpf__destroy(obj); + cleanup_core_btf(&open_opts); -return err != 0; + return err != 0; } -- Gitee