netfilter: nf_log regression fix
commit ca735b3aaa
'netfilter: use a linked list of loggers'
introduced an array of list_head in "struct nf_logger", but
forgot to initialize it in nf_log_register(). This resulted
in oops when calling nf_log_unregister() at module unload time.
Reported-and-tested-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Acked-by: Eric Leblond <eric@inl.fr>
Signed-off-by: Patrick McHardy <kaber@trash.net>
This commit is contained in:
committed by
Patrick McHardy
parent
83731671d9
commit
b6f0a3652e
@@ -36,10 +36,14 @@ static struct nf_logger *__find_logger(int pf, const char *str_logger)
|
|||||||
int nf_log_register(u_int8_t pf, struct nf_logger *logger)
|
int nf_log_register(u_int8_t pf, struct nf_logger *logger)
|
||||||
{
|
{
|
||||||
const struct nf_logger *llog;
|
const struct nf_logger *llog;
|
||||||
|
int i;
|
||||||
|
|
||||||
if (pf >= ARRAY_SIZE(nf_loggers))
|
if (pf >= ARRAY_SIZE(nf_loggers))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
for (i = 0; i < ARRAY_SIZE(logger->list); i++)
|
||||||
|
INIT_LIST_HEAD(&logger->list[i]);
|
||||||
|
|
||||||
mutex_lock(&nf_log_mutex);
|
mutex_lock(&nf_log_mutex);
|
||||||
|
|
||||||
if (pf == NFPROTO_UNSPEC) {
|
if (pf == NFPROTO_UNSPEC) {
|
||||||
|
Reference in New Issue
Block a user