Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

netfilter: nf_tables: disallow binding to already bound chain

Update nft_data_init() to report EINVAL if chain is already bound.

Fixes: d0e2c7de92c7 ("netfilter: nf_tables: add NFT_CHAIN_BINDING")
Reported-by: Gwangun Jung <exsociety@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>

+2
+2
net/netfilter/nf_tables_api.c
··· 9711 9711 return PTR_ERR(chain); 9712 9712 if (nft_is_base_chain(chain)) 9713 9713 return -EOPNOTSUPP; 9714 + if (nft_chain_is_bound(chain)) 9715 + return -EINVAL; 9714 9716 if (desc->flags & NFT_DATA_DESC_SETELEM && 9715 9717 chain->flags & NFT_CHAIN_BINDING) 9716 9718 return -EINVAL;