Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 18527196 authored by Prashant Bhole's avatar Prashant Bhole Committed by David S. Miller
Browse files

tools: bpftool: open pinned object without type check



This was needed for opening any file in bpf-fs without knowing
its object type

Signed-off-by: default avatarPrashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 329fca60
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -122,9 +122,8 @@ static int mnt_bpffs(const char *target, char *buff, size_t bufflen)
	return 0;
}

int open_obj_pinned_any(char *path, enum bpf_obj_type exp_type)
int open_obj_pinned(char *path)
{
	enum bpf_obj_type type;
	int fd;

	fd = bpf_obj_get(path);
@@ -136,6 +135,18 @@ int open_obj_pinned_any(char *path, enum bpf_obj_type exp_type)
		return -1;
	}

	return fd;
}

int open_obj_pinned_any(char *path, enum bpf_obj_type exp_type)
{
	enum bpf_obj_type type;
	int fd;

	fd = open_obj_pinned(path);
	if (fd < 0)
		return -1;

	type = get_fd_type(fd);
	if (type < 0) {
		close(fd);
+1 −0
Original line number Diff line number Diff line
@@ -89,6 +89,7 @@ int cmd_select(const struct cmd *cmds, int argc, char **argv,
int get_fd_type(int fd);
const char *get_fd_type_name(enum bpf_obj_type type);
char *get_fdinfo(int fd, const char *key);
int open_obj_pinned(char *path);
int open_obj_pinned_any(char *path, enum bpf_obj_type exp_type);
int do_pin_any(int argc, char **argv, int (*get_fd_by_id)(__u32));