mirror of
https://git.proxmox.com/git/mirror_iproute2
synced 2025-10-05 19:02:41 +00:00
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:
parent
b75e0f6f4b
commit
1b736dc469
19
lib/bpf.c
19
lib/bpf.c
@ -569,9 +569,9 @@ int bpf_trace_pipe(void)
|
||||
"/trace",
|
||||
0,
|
||||
};
|
||||
int fd_in, fd_out = STDERR_FILENO;
|
||||
char tpipe[PATH_MAX];
|
||||
const char *mnt;
|
||||
int fd;
|
||||
|
||||
mnt = bpf_find_mntpt("tracefs", TRACEFS_MAGIC, tracefs_mnt,
|
||||
sizeof(tracefs_mnt), tracefs_known_mnts);
|
||||
@ -582,8 +582,8 @@ int bpf_trace_pipe(void)
|
||||
|
||||
snprintf(tpipe, sizeof(tpipe), "%s/trace_pipe", mnt);
|
||||
|
||||
fd = open(tpipe, O_RDONLY);
|
||||
if (fd < 0)
|
||||
fd_in = open(tpipe, O_RDONLY);
|
||||
if (fd_in < 0)
|
||||
return -1;
|
||||
|
||||
fprintf(stderr, "Running! Hang up with ^C!\n\n");
|
||||
@ -591,15 +591,14 @@ int bpf_trace_pipe(void)
|
||||
static char buff[4096];
|
||||
ssize_t ret;
|
||||
|
||||
ret = read(fd, buff, sizeof(buff) - 1);
|
||||
if (ret > 0) {
|
||||
if (write(STDERR_FILENO, buff, ret) != ret)
|
||||
return -1;
|
||||
fflush(stderr);
|
||||
}
|
||||
ret = read(fd_in, buff, sizeof(buff));
|
||||
if (ret > 0 && write(fd_out, buff, ret) == ret)
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
close(fd_in);
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int bpf_gen_global(const char *bpf_sub_dir)
|
||||
|
Loading…
Reference in New Issue
Block a user