Message ID | 20210421103421.6168-1-phil@nwl.cc |
---|---|
State | Accepted |
Delegated to: | Pablo Neira |
Headers | show |
Series | netfilter: nf_log_syslog: Unset bridge logger in pernet exit | expand |
Phil Sutter <phil@nwl.cc> wrote: > Without this, a stale pointer remains in pernet loggers after module > unload causing a kernel oops during dereference. Easily reproduced by: > > | # modprobe nf_log_syslog > | # rmmod nf_log_syslog > | # cat /proc/net/netfilter/nf_log Ouch, thanks for fixing this. Acked-by: Florian Westphal <fw@strlen.de>
On Wed, Apr 21, 2021 at 12:34:21PM +0200, Phil Sutter wrote: > Without this, a stale pointer remains in pernet loggers after module > unload causing a kernel oops during dereference. Easily reproduced by: > > | # modprobe nf_log_syslog > | # rmmod nf_log_syslog > | # cat /proc/net/netfilter/nf_log Applied, thanks.
diff --git a/net/netfilter/nf_log_syslog.c b/net/netfilter/nf_log_syslog.c index 025ab9c66d13e..5391eec0a44c5 100644 --- a/net/netfilter/nf_log_syslog.c +++ b/net/netfilter/nf_log_syslog.c @@ -1011,6 +1011,7 @@ static void __net_exit nf_log_syslog_net_exit(struct net *net) nf_log_unset(net, &nf_arp_logger); nf_log_unset(net, &nf_ip6_logger); nf_log_unset(net, &nf_netdev_logger); + nf_log_unset(net, &nf_bridge_logger); } static struct pernet_operations nf_log_syslog_net_ops = {
Without this, a stale pointer remains in pernet loggers after module unload causing a kernel oops during dereference. Easily reproduced by: | # modprobe nf_log_syslog | # rmmod nf_log_syslog | # cat /proc/net/netfilter/nf_log Fixes: 77ccee96a6742 ("netfilter: nf_log_bridge: merge with nf_log_syslog") Signed-off-by: Phil Sutter <phil@nwl.cc> --- net/netfilter/nf_log_syslog.c | 1 + 1 file changed, 1 insertion(+)