netfilter: nf_log: wait for rcu grace after logger unregistration
authorPablo Neira Ayuso <pablo@netfilter.org>
Thu, 17 Sep 2015 11:37:00 +0000 (13:37 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Thu, 17 Sep 2015 11:37:31 +0000 (13:37 +0200)
The nf_log_unregister() function needs to call synchronize_rcu() to make sure
that the objects are not dereferenced anymore on module removal.

Fixes: 5962815a6a56 ("netfilter: nf_log: use an array of loggers instead of list")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nf_log.c

index a5ebd7d9c472195b77f3ceeecc5b631fa7332ac5..a5d41dfa9f05d6363d0ea3253493a7539842df32 100644 (file)
@@ -117,6 +117,7 @@ void nf_log_unregister(struct nf_logger *logger)
                        RCU_INIT_POINTER(loggers[i][logger->type], NULL);
        }
        mutex_unlock(&nf_log_mutex);
+       synchronize_rcu();
 }
 EXPORT_SYMBOL(nf_log_unregister);