netfilter: nf_tables: set element extended ACK reporting support
commit b53c116642
upstream.
Report the element that causes problems via netlink extended ACK for set
element commands.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
dd32621f19
Коммит
9526393ed6
|
@ -5769,8 +5769,10 @@ static int nf_tables_getsetelem(struct sk_buff *skb,
|
|||
|
||||
nla_for_each_nested(attr, nla[NFTA_SET_ELEM_LIST_ELEMENTS], rem) {
|
||||
err = nft_get_set_elem(&ctx, set, attr);
|
||||
if (err < 0)
|
||||
if (err < 0) {
|
||||
NL_SET_BAD_ATTR(extack, attr);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return err;
|
||||
|
@ -6589,8 +6591,10 @@ static int nf_tables_newsetelem(struct sk_buff *skb,
|
|||
|
||||
nla_for_each_nested(attr, nla[NFTA_SET_ELEM_LIST_ELEMENTS], rem) {
|
||||
err = nft_add_set_elem(&ctx, set, attr, info->nlh->nlmsg_flags);
|
||||
if (err < 0)
|
||||
if (err < 0) {
|
||||
NL_SET_BAD_ATTR(extack, attr);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
if (nft_net->validate_state == NFT_VALIDATE_DO)
|
||||
|
@ -6866,8 +6870,10 @@ static int nf_tables_delsetelem(struct sk_buff *skb,
|
|||
|
||||
nla_for_each_nested(attr, nla[NFTA_SET_ELEM_LIST_ELEMENTS], rem) {
|
||||
err = nft_del_setelem(&ctx, set, attr);
|
||||
if (err < 0)
|
||||
if (err < 0) {
|
||||
NL_SET_BAD_ATTR(extack, attr);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче