netfilter: nf_tables: netlink notifier might race to release objects
authorPablo Neira Ayuso <pablo@netfilter.org>
Wed, 26 Oct 2022 07:52:36 +0000 (09:52 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Nov 2022 17:15:28 +0000 (18:15 +0100)
commit1ffe7100411a8b9015115ce124cd6c9c9da6f8e3
tree8d80ccc1d54b056aa05f1c60da35e39261cf89d3
parentdcc79cf735b8ec4bedaa82c53bed8c62721c042b
netfilter: nf_tables: netlink notifier might race to release objects

[ Upstream commit d4bc8271db21ea9f1c86a1ca4d64999f184d4aae ]

commit release path is invoked via call_rcu and it runs lockless to
release the objects after rcu grace period. The netlink notifier handler
might win race to remove objects that the transaction context is still
referencing from the commit release path.

Call rcu_barrier() to ensure pending rcu callbacks run to completion
if the list of transactions to be destroyed is not empty.

Fixes: 6001a930ce03 ("netfilter: nftables: introduce table ownership")
Reported-by: syzbot+8f747f62763bc6c32916@syzkaller.appspotmail.com
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/netfilter/nf_tables_api.c