Messages in this thread | | | Date | Fri, 22 May 2015 19:23:02 +0200 | From | Jiri Olsa <> | Subject | Re: [RFC PATCH v3 21/37] bpf tools: Create eBPF maps defined in an object file |
| |
On Sun, May 17, 2015 at 10:56:46AM +0000, Wang Nan wrote:
SNIP
> + i * sizeof(struct bpf_map_def)); > + > + if (obj->needs_swap) { > + def.type = bswap_32(def.type); > + def.key_size = bswap_32(def.key_size); > + def.value_size = bswap_32(def.value_size); > + def.max_entries = bswap_32(def.max_entries); > + } > + > + *pfd = bpf_create_map(def.type, > + def.key_size, > + def.value_size, > + def.max_entries); > + if (*pfd < 0) { > + size_t j; > + int err = *pfd; > + > + pr_warning("failed to create map: %s\n", > + strerror(errno)); > + for (j = 0; j < i; j++) { > + close(obj->maps_fds[j]); > + obj->maps_fds[j] = -1; > + } > + free(obj->maps_fds); > + obj->maps_fds = NULL;
the close/free code above could go into separate function and be used in bpf_unload_object
jirka
| |