Skip to content

Commit b53c116

Browse files
committed
netfilter: nf_tables: set element extended ACK reporting support
Report the element that causes problems via netlink extended ACK for set element commands. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
1 parent aeed55a commit b53c116

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

net/netfilter/nf_tables_api.c

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5348,8 +5348,10 @@ static int nf_tables_getsetelem(struct sk_buff *skb,
53485348

53495349
nla_for_each_nested(attr, nla[NFTA_SET_ELEM_LIST_ELEMENTS], rem) {
53505350
err = nft_get_set_elem(&ctx, set, attr);
5351-
if (err < 0)
5351+
if (err < 0) {
5352+
NL_SET_BAD_ATTR(extack, attr);
53525353
break;
5354+
}
53535355
}
53545356

53555357
return err;
@@ -6126,8 +6128,10 @@ static int nf_tables_newsetelem(struct sk_buff *skb,
61266128

61276129
nla_for_each_nested(attr, nla[NFTA_SET_ELEM_LIST_ELEMENTS], rem) {
61286130
err = nft_add_set_elem(&ctx, set, attr, info->nlh->nlmsg_flags);
6129-
if (err < 0)
6131+
if (err < 0) {
6132+
NL_SET_BAD_ATTR(extack, attr);
61306133
return err;
6134+
}
61316135
}
61326136

61336137
if (nft_net->validate_state == NFT_VALIDATE_DO)
@@ -6397,8 +6401,10 @@ static int nf_tables_delsetelem(struct sk_buff *skb,
63976401

63986402
nla_for_each_nested(attr, nla[NFTA_SET_ELEM_LIST_ELEMENTS], rem) {
63996403
err = nft_del_setelem(&ctx, set, attr);
6400-
if (err < 0)
6404+
if (err < 0) {
6405+
NL_SET_BAD_ATTR(extack, attr);
64016406
break;
6407+
}
64026408
}
64036409
return err;
64046410
}

0 commit comments

Comments
 (0)