diff options
Diffstat (limited to 'tools/bpf/bpftool/common.c')
| -rw-r--r-- | tools/bpf/bpftool/common.c | 17 | 
1 files changed, 9 insertions, 8 deletions
diff --git a/tools/bpf/bpftool/common.c b/tools/bpf/bpftool/common.c index 25af85304ebe..70fd48d79f61 100644 --- a/tools/bpf/bpftool/common.c +++ b/tools/bpf/bpftool/common.c @@ -130,16 +130,17 @@ static int mnt_bpffs(const char *target, char *buff, size_t bufflen)  	return 0;  } -int open_obj_pinned(char *path) +int open_obj_pinned(char *path, bool quiet)  {  	int fd;  	fd = bpf_obj_get(path);  	if (fd < 0) { -		p_err("bpf obj get (%s): %s", path, -		      errno == EACCES && !is_bpffs(dirname(path)) ? -		    "directory not in bpf file system (bpffs)" : -		    strerror(errno)); +		if (!quiet) +			p_err("bpf obj get (%s): %s", path, +			      errno == EACCES && !is_bpffs(dirname(path)) ? +			    "directory not in bpf file system (bpffs)" : +			    strerror(errno));  		return -1;  	} @@ -151,7 +152,7 @@ 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); +	fd = open_obj_pinned(path, false);  	if (fd < 0)  		return -1; @@ -304,7 +305,7 @@ char *get_fdinfo(int fd, const char *key)  		return NULL;  	} -	while ((n = getline(&line, &line_n, fdi))) { +	while ((n = getline(&line, &line_n, fdi)) > 0) {  		char *value;  		int len; @@ -384,7 +385,7 @@ int build_pinned_obj_table(struct pinned_obj_table *tab,  		while ((ftse = fts_read(fts))) {  			if (!(ftse->fts_info & FTS_F))  				continue; -			fd = open_obj_pinned(ftse->fts_path); +			fd = open_obj_pinned(ftse->fts_path, true);  			if (fd < 0)  				continue;  | 
