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:
parent
83731671d9
commit
b6f0a3652e
1 changed files with 4 additions and 0 deletions
|
@ -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) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue