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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/