Skip to content

Commit 259eb32

Browse files
committed
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: fab4085 ("netfilter: log: nf_log_packet() as real unified interface") Signed-off-by: Pablo Neira Ayuso <[email protected]>
1 parent 97f7cf1 commit 259eb32

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

net/netfilter/nf_log.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,11 +193,12 @@ void nf_logger_put(int pf, enum nf_log_type type)
193193
return;
194194
}
195195

196-
BUG_ON(loggers[pf][type] == NULL);
197-
198196
rcu_read_lock();
199197
logger = rcu_dereference(loggers[pf][type]);
200-
module_put(logger->me);
198+
if (!logger)
199+
WARN_ON_ONCE(1);
200+
else
201+
module_put(logger->me);
201202
rcu_read_unlock();
202203
}
203204
EXPORT_SYMBOL_GPL(nf_logger_put);

0 commit comments

Comments
 (0)