mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-25 12:00:22 +09:00
netfilter: nf_log: replace BUG_ON by WARN_ON_ONCE when putting logger
[ Upstream commit 259eb32971e9eb24d1777a28d82730659f50fdcb ]
Module reference is bumped for each user, this should not ever happen.
But BUG_ON check should use rcu_access_pointer() instead.
If this ever happens, do WARN_ON_ONCE() instead of BUG_ON() and
consolidate pointer check under the rcu read side lock section.
Fixes: fab4085f4e ("netfilter: log: nf_log_packet() as real unified interface")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
4cdab71675
commit
5d7a4559bc
@@ -193,11 +193,12 @@ void nf_logger_put(int pf, enum nf_log_type type)
|
||||
return;
|
||||
}
|
||||
|
||||
BUG_ON(loggers[pf][type] == NULL);
|
||||
|
||||
rcu_read_lock();
|
||||
logger = rcu_dereference(loggers[pf][type]);
|
||||
module_put(logger->me);
|
||||
if (!logger)
|
||||
WARN_ON_ONCE(1);
|
||||
else
|
||||
module_put(logger->me);
|
||||
rcu_read_unlock();
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(nf_logger_put);
|
||||
|
||||
Reference in New Issue
Block a user