bpf: minor cleanups for bpf_trace_pipe

Just minor nits, e.g. no need to fflush() and instead of returning
right away, just break and close the fd.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
This commit is contained in:
Daniel Borkmann 2017-09-05 02:24:31 +02:00 committed by Stephen Hemminger
parent b75e0f6f4b
commit 1b736dc469

View File

@ -569,9 +569,9 @@ int bpf_trace_pipe(void)
"/trace", "/trace",
0, 0,
}; };
int fd_in, fd_out = STDERR_FILENO;
char tpipe[PATH_MAX]; char tpipe[PATH_MAX];
const char *mnt; const char *mnt;
int fd;
mnt = bpf_find_mntpt("tracefs", TRACEFS_MAGIC, tracefs_mnt, mnt = bpf_find_mntpt("tracefs", TRACEFS_MAGIC, tracefs_mnt,
sizeof(tracefs_mnt), tracefs_known_mnts); sizeof(tracefs_mnt), tracefs_known_mnts);
@ -582,8 +582,8 @@ int bpf_trace_pipe(void)
snprintf(tpipe, sizeof(tpipe), "%s/trace_pipe", mnt); snprintf(tpipe, sizeof(tpipe), "%s/trace_pipe", mnt);
fd = open(tpipe, O_RDONLY); fd_in = open(tpipe, O_RDONLY);
if (fd < 0) if (fd_in < 0)
return -1; return -1;
fprintf(stderr, "Running! Hang up with ^C!\n\n"); fprintf(stderr, "Running! Hang up with ^C!\n\n");
@ -591,15 +591,14 @@ int bpf_trace_pipe(void)
static char buff[4096]; static char buff[4096];
ssize_t ret; ssize_t ret;
ret = read(fd, buff, sizeof(buff) - 1); ret = read(fd_in, buff, sizeof(buff));
if (ret > 0) { if (ret > 0 && write(fd_out, buff, ret) == ret)
if (write(STDERR_FILENO, buff, ret) != ret) continue;
return -1; break;
fflush(stderr);
}
} }
return 0; close(fd_in);
return -1;
} }
static int bpf_gen_global(const char *bpf_sub_dir) static int bpf_gen_global(const char *bpf_sub_dir)