diff options
author | Maciej enczykowski <maze@google.com> | 2019-04-03 07:50:31 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-04-03 07:50:31 -0700 |
commit | db83b156a85bf531c967adb00e649d55d7238dc7 (patch) | |
tree | bce42a46d75de5e3ccd1d7470af79810bc2cd19d | |
parent | d62a77c0dd2ffa7fed742bed36c2619f29622fa6 (diff) | |
parent | ca595f7e9dc325bdafbd4ce7a191964e7f300de3 (diff) | |
download | bcc-android10-qpr1-c-s1-release.tar.gz |
external/bcc - add more CLOEXEC am: 1b51f8b0e2 am: 49dc26a84eandroid-mainline-10.0.0_r9android-mainline-10.0.0_r7android-mainline-10.0.0_r5android-mainline-10.0.0_r4android-mainline-10.0.0_r10android-10.0.0_r9android-10.0.0_r8android-10.0.0_r7android-10.0.0_r45android-10.0.0_r44android-10.0.0_r43android-10.0.0_r42android-10.0.0_r41android-10.0.0_r40android-10.0.0_r39android-10.0.0_r38android-10.0.0_r37android-10.0.0_r36android-10.0.0_r35android-10.0.0_r34android-10.0.0_r33android-10.0.0_r32android-10.0.0_r31android-10.0.0_r30android-10.0.0_r29android-10.0.0_r28android-10.0.0_r27android-10.0.0_r26android-10.0.0_r25android-10.0.0_r24android-10.0.0_r23android-10.0.0_r22android-10.0.0_r21android-10.0.0_r20android-10.0.0_r19android-10.0.0_r18android-10.0.0_r16android-10.0.0_r15android-10.0.0_r14android-10.0.0_r13android-10.0.0_r12android10-qpr3-s1-releaseandroid10-qpr3-releaseandroid10-qpr2-s4-releaseandroid10-qpr2-s3-releaseandroid10-qpr2-s2-releaseandroid10-qpr2-s1-releaseandroid10-qpr2-releaseandroid10-qpr1-releaseandroid10-qpr1-mainline-releaseandroid10-qpr1-d-releaseandroid10-qpr1-c-s1-releaseandroid10-qpr1-c-releaseandroid10-qpr1-b-s1-releaseandroid10-qpr1-b-releaseandroid10-mainline-media-releaseandroid10-devandroid10-d4-s1-releaseandroid10-d4-releaseandroid10-c2f2-s2-releaseandroid10-c2f2-s1-releaseandroid10-c2f2-release
am: ca595f7e9d
Change-Id: I85298ef0b3ae97b70f7be581c030f52703531648
-rw-r--r-- | src/cc/libbpf.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/cc/libbpf.c b/src/cc/libbpf.c index 9852f8ca..1cf315a2 100644 --- a/src/cc/libbpf.c +++ b/src/cc/libbpf.c @@ -385,7 +385,7 @@ int bpf_prog_compute_tag(const struct bpf_insn *insns, int prog_len, .salg_type = "hash", .salg_name = "sha1", }; - int shafd = socket(AF_ALG, SOCK_SEQPACKET, 0); + int shafd = socket(AF_ALG, SOCK_SEQPACKET | SOCK_CLOEXEC, 0); if (shafd < 0) { fprintf(stderr, "sha1 socket not available %s\n", strerror(errno)); return -1; @@ -396,7 +396,7 @@ int bpf_prog_compute_tag(const struct bpf_insn *insns, int prog_len, close(shafd); return ret; } - int shafd2 = accept(shafd, NULL, 0); + int shafd2 = accept4(shafd, NULL, 0, SOCK_CLOEXEC); if (shafd2 < 0) { fprintf(stderr, "sha1 accept fail %s\n", strerror(errno)); close(shafd); @@ -448,7 +448,7 @@ int bpf_prog_get_tag(int fd, unsigned long long *ptag) { char fmt[64]; snprintf(fmt, sizeof(fmt), "/proc/self/fdinfo/%d", fd); - FILE * f = fopen(fmt, "r"); + FILE * f = fopen(fmt, "re"); if (!f) { /* fprintf(stderr, "failed to open fdinfo %s\n", strerror(errno));*/ return -1; @@ -668,7 +668,7 @@ static int bpf_find_probe_type(const char *event_type) if (ret < 0 || ret >= (int)sizeof(buf)) return -1; - fd = open(buf, O_RDONLY); + fd = open(buf, O_RDONLY | O_CLOEXEC); if (fd < 0) return -1; ret = read(fd, buf, sizeof(buf)); @@ -691,7 +691,7 @@ static int bpf_get_retprobe_bit(const char *event_type) if (ret < 0 || ret >= (int)sizeof(buf)) return -1; - fd = open(buf, O_RDONLY); + fd = open(buf, O_RDONLY | O_CLOEXEC); if (fd < 0) return -1; ret = read(fd, buf, sizeof(buf)); @@ -779,7 +779,7 @@ static int bpf_attach_tracing_event(int progfd, const char *event_path, int pid, // event path provided. if (*pfd < 0) { snprintf(buf, sizeof(buf), "%s/id", event_path); - efd = open(buf, O_RDONLY, 0); + efd = open(buf, O_RDONLY | O_CLOEXEC, 0); if (efd < 0) { fprintf(stderr, "open(%s): %s\n", buf, strerror(errno)); return -1; @@ -839,7 +839,7 @@ int bpf_attach_kprobe(int progfd, enum bpf_probe_attach_type attach_type, // yet. Try create the event using debugfs. if (pfd < 0) { snprintf(buf, sizeof(buf), "/sys/kernel/debug/tracing/%s_events", event_type); - kfd = open(buf, O_WRONLY | O_APPEND, 0); + kfd = open(buf, O_WRONLY | O_APPEND | O_CLOEXEC, 0); if (kfd < 0) { fprintf(stderr, "open(%s): %s\n", buf, strerror(errno)); goto error; @@ -889,13 +889,13 @@ static int enter_mount_ns(int pid) { if ((size_t)snprintf(buf, sizeof(buf), "/proc/%d/ns/mnt", pid) >= sizeof(buf)) return -1; - self_fd = open("/proc/self/ns/mnt", O_RDONLY); + self_fd = open("/proc/self/ns/mnt", O_RDONLY | O_CLOEXEC); if (self_fd < 0) { perror("open(/proc/self/ns/mnt)"); return -1; } - target_fd = open(buf, O_RDONLY); + target_fd = open(buf, O_RDONLY | O_CLOEXEC); if (target_fd < 0) { perror("open(/proc/<pid>/ns/mnt)"); goto error; @@ -955,7 +955,7 @@ int bpf_attach_uprobe(int progfd, enum bpf_probe_attach_type attach_type, // yet. Try create the event using debugfs. if (pfd < 0) { snprintf(buf, sizeof(buf), "/sys/kernel/debug/tracing/%s_events", event_type); - kfd = open(buf, O_WRONLY | O_APPEND, 0); + kfd = open(buf, O_WRONLY | O_APPEND | O_CLOEXEC, 0); if (kfd < 0) { fprintf(stderr, "open(%s): %s\n", buf, strerror(errno)); goto error; @@ -1017,7 +1017,7 @@ static int bpf_detach_probe(const char *ev_name, const char *event_type) * it is safe to skip the cleaning up process (write -:... to the file). */ snprintf(buf, sizeof(buf), "/sys/kernel/debug/tracing/%s_events", event_type); - fp = fopen(buf, "r"); + fp = fopen(buf, "re"); if (!fp) { fprintf(stderr, "open(%s): %s\n", buf, strerror(errno)); goto error; @@ -1042,7 +1042,7 @@ static int bpf_detach_probe(const char *ev_name, const char *event_type) return 0; snprintf(buf, sizeof(buf), "/sys/kernel/debug/tracing/%s_events", event_type); - kfd = open(buf, O_WRONLY | O_APPEND, 0); + kfd = open(buf, O_WRONLY | O_APPEND | O_CLOEXEC, 0); if (kfd < 0) { fprintf(stderr, "open(%s): %s\n", buf, strerror(errno)); goto error; @@ -1242,7 +1242,7 @@ int bpf_attach_xdp(const char *dev_name, int progfd, uint32_t flags) { memset(&sa, 0, sizeof(sa)); sa.nl_family = AF_NETLINK; - sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE); + sock = socket(AF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, NETLINK_ROUTE); if (sock < 0) { fprintf(stderr, "bpf: opening a netlink socket: %s\n", strerror(errno)); return -1; |