On Thu, Dec 20, 2018 at 04:09:17PM +0100, Phil Sutter wrote:
[...]
> + if (chain) {
> + c = nftnl_chain_list_lookup_byname(list, chain);
> + if (!c) {
> + errno = ENOENT;
> + return 0;
> + }
> + d.builtin_err = -2;
> + ret = __nft_chain_user_del(c, &d);
> + if (ret == -2)
We can probably do an upfront check for built-in chain to avoid this
special code? __nft_chain_user_del() is only called from
nft_chain_user_del().
> + errno = EINVAL;
> + goto out;
> }
>
> + ret = nftnl_chain_list_foreach(list, __nft_chain_user_del, &d);
> +out:
> /* the core expects 1 for success and 0 for error */
> return ret == 0 ? 1 : 0;
> }
> --
> 2.19.0
>