Loading net/netfilter/nf_tables_api.c +18 −13 Original line number Diff line number Diff line Loading @@ -5839,7 +5839,7 @@ static int nft_del_setelem(struct nft_ctx *ctx, struct nft_set *set, return err; } static int nft_flush_set(const struct nft_ctx *ctx, static int nft_setelem_flush(const struct nft_ctx *ctx, struct nft_set *set, const struct nft_set_iter *iter, struct nft_set_elem *elem) Loading Loading @@ -5869,6 +5869,18 @@ static int nft_flush_set(const struct nft_ctx *ctx, return err; } static int nft_set_flush(struct nft_ctx *ctx, struct nft_set *set, u8 genmask) { struct nft_set_iter iter = { .genmask = genmask, .fn = nft_setelem_flush, }; set->ops->walk(ctx, set, &iter); return iter.err; } static int nf_tables_delsetelem(struct sk_buff *skb, const struct nfnl_info *info, const struct nlattr * const nla[]) Loading @@ -5892,15 +5904,8 @@ static int nf_tables_delsetelem(struct sk_buff *skb, if (!list_empty(&set->bindings) && set->flags & NFT_SET_CONSTANT) return -EBUSY; if (nla[NFTA_SET_ELEM_LIST_ELEMENTS] == NULL) { struct nft_set_iter iter = { .genmask = genmask, .fn = nft_flush_set, }; set->ops->walk(&ctx, set, &iter); return iter.err; } if (!nla[NFTA_SET_ELEM_LIST_ELEMENTS]) return nft_set_flush(&ctx, set, genmask); nla_for_each_nested(attr, nla[NFTA_SET_ELEM_LIST_ELEMENTS], rem) { err = nft_del_setelem(&ctx, set, attr); Loading Loading
net/netfilter/nf_tables_api.c +18 −13 Original line number Diff line number Diff line Loading @@ -5839,7 +5839,7 @@ static int nft_del_setelem(struct nft_ctx *ctx, struct nft_set *set, return err; } static int nft_flush_set(const struct nft_ctx *ctx, static int nft_setelem_flush(const struct nft_ctx *ctx, struct nft_set *set, const struct nft_set_iter *iter, struct nft_set_elem *elem) Loading Loading @@ -5869,6 +5869,18 @@ static int nft_flush_set(const struct nft_ctx *ctx, return err; } static int nft_set_flush(struct nft_ctx *ctx, struct nft_set *set, u8 genmask) { struct nft_set_iter iter = { .genmask = genmask, .fn = nft_setelem_flush, }; set->ops->walk(ctx, set, &iter); return iter.err; } static int nf_tables_delsetelem(struct sk_buff *skb, const struct nfnl_info *info, const struct nlattr * const nla[]) Loading @@ -5892,15 +5904,8 @@ static int nf_tables_delsetelem(struct sk_buff *skb, if (!list_empty(&set->bindings) && set->flags & NFT_SET_CONSTANT) return -EBUSY; if (nla[NFTA_SET_ELEM_LIST_ELEMENTS] == NULL) { struct nft_set_iter iter = { .genmask = genmask, .fn = nft_flush_set, }; set->ops->walk(&ctx, set, &iter); return iter.err; } if (!nla[NFTA_SET_ELEM_LIST_ELEMENTS]) return nft_set_flush(&ctx, set, genmask); nla_for_each_nested(attr, nla[NFTA_SET_ELEM_LIST_ELEMENTS], rem) { err = nft_del_setelem(&ctx, set, attr); Loading