mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-04 04:06:26 +00:00
netfilter: nf_log: replace BUG_ON by WARN_ON_ONCE when putting logger
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>
This commit is contained in:
parent
97f7cf1cd8
commit
259eb32971
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user