diff options
Diffstat (limited to 'tools/bpf/bpftool/map.c')
| -rw-r--r-- | tools/bpf/bpftool/map.c | 33 | 
1 files changed, 12 insertions, 21 deletions
diff --git a/tools/bpf/bpftool/map.c b/tools/bpf/bpftool/map.c index 9a6ca9f31133..88911d3aa2d9 100644 --- a/tools/bpf/bpftool/map.c +++ b/tools/bpf/bpftool/map.c @@ -1,7 +1,6 @@  // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)  /* Copyright (C) 2017-2018 Netronome Systems, Inc. */ -#include <assert.h>  #include <errno.h>  #include <fcntl.h>  #include <linux/err.h> @@ -519,9 +518,8 @@ static int show_map_close_json(int fd, struct bpf_map_info *info)  		jsonw_name(json_wtr, "pinned");  		jsonw_start_array(json_wtr); -		hashmap__for_each_key_entry(map_table, entry, -					    u32_as_hash_field(info->id)) -			jsonw_string(json_wtr, entry->value); +		hashmap__for_each_key_entry(map_table, entry, info->id) +			jsonw_string(json_wtr, entry->pvalue);  		jsonw_end_array(json_wtr);  	} @@ -596,9 +594,8 @@ static int show_map_close_plain(int fd, struct bpf_map_info *info)  	if (!hashmap__empty(map_table)) {  		struct hashmap_entry *entry; -		hashmap__for_each_key_entry(map_table, entry, -					    u32_as_hash_field(info->id)) -			printf("\n\tpinned %s", (char *)entry->value); +		hashmap__for_each_key_entry(map_table, entry, info->id) +			printf("\n\tpinned %s", (char *)entry->pvalue);  	}  	if (frozen_str) { @@ -789,18 +786,18 @@ static int get_map_kv_btf(const struct bpf_map_info *info, struct btf **btf)  	if (info->btf_vmlinux_value_type_id) {  		if (!btf_vmlinux) {  			btf_vmlinux = libbpf_find_kernel_btf(); -			err = libbpf_get_error(btf_vmlinux); -			if (err) { +			if (!btf_vmlinux) {  				p_err("failed to get kernel btf"); -				return err; +				return -errno;  			}  		}  		*btf = btf_vmlinux;  	} else if (info->btf_value_type_id) {  		*btf = btf__load_from_kernel_by_id(info->btf_id); -		err = libbpf_get_error(*btf); -		if (err) +		if (!*btf) { +			err = -errno;  			p_err("failed to get btf"); +		}  	} else {  		*btf = NULL;  	} @@ -810,16 +807,10 @@ static int get_map_kv_btf(const struct bpf_map_info *info, struct btf **btf)  static void free_map_kv_btf(struct btf *btf)  { -	if (!libbpf_get_error(btf) && btf != btf_vmlinux) +	if (btf != btf_vmlinux)  		btf__free(btf);  } -static void free_btf_vmlinux(void) -{ -	if (!libbpf_get_error(btf_vmlinux)) -		btf__free(btf_vmlinux); -} -  static int  map_dump(int fd, struct bpf_map_info *info, json_writer_t *wtr,  	 bool show_header) @@ -956,7 +947,7 @@ exit_close:  		close(fds[i]);  exit_free:  	free(fds); -	free_btf_vmlinux(); +	btf__free(btf_vmlinux);  	return err;  } @@ -1459,7 +1450,7 @@ static int do_help(int argc, char **argv)  		"                 devmap | devmap_hash | sockmap | cpumap | xskmap | sockhash |\n"  		"                 cgroup_storage | reuseport_sockarray | percpu_cgroup_storage |\n"  		"                 queue | stack | sk_storage | struct_ops | ringbuf | inode_storage |\n" -		"                 task_storage | bloom_filter | user_ringbuf }\n" +		"                 task_storage | bloom_filter | user_ringbuf | cgrp_storage }\n"  		"       " HELP_SPEC_OPTIONS " |\n"  		"                    {-f|--bpffs} | {-n|--nomount} }\n"  		"",  | 
