diff options
| author | Pablo Neira Ayuso <pablo@netfilter.org> | 2019-11-04 16:52:42 +0300 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-12-05 00:33:31 +0300 |
| commit | cd73a78a6f91db5ebf038b5edc657e1f2ee8618c (patch) | |
| tree | 5601dadc65eaa355b8e2355ffeb75cfd9e26f38d | |
| parent | 7dea1a5961855c456da9ef7215723df346212729 (diff) | |
| download | linux-cd73a78a6f91db5ebf038b5edc657e1f2ee8618c.tar.xz | |
netfilter: nf_tables_offload: skip EBUSY on chain update
[ Upstream commit 88c749840dff58e7a40e18bf9bdace15f27ef259 ]
Do not try to bind a chain again if it exists, otherwise the driver
returns EBUSY.
Fixes: c9626a2cbdb2 ("netfilter: nf_tables: add hardware offload support")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
| -rw-r--r-- | net/netfilter/nf_tables_offload.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/netfilter/nf_tables_offload.c b/net/netfilter/nf_tables_offload.c index c0d18c1d77ac..04fbab60e808 100644 --- a/net/netfilter/nf_tables_offload.c +++ b/net/netfilter/nf_tables_offload.c @@ -241,7 +241,8 @@ int nft_flow_rule_offload_commit(struct net *net) switch (trans->msg_type) { case NFT_MSG_NEWCHAIN: - if (!(trans->ctx.chain->flags & NFT_CHAIN_HW_OFFLOAD)) + if (!(trans->ctx.chain->flags & NFT_CHAIN_HW_OFFLOAD) || + nft_trans_chain_update(trans)) continue; err = nft_flow_offload_chain(trans, FLOW_BLOCK_BIND); |
