* [PATCH] xfrm6_tunnel: Fix potential panic when unloading xfrm6_tunnel module
@ 2019-03-14 6:59 Su Yanjun
2019-03-15 6:24 ` Herbert Xu
0 siblings, 1 reply; 3+ messages in thread
From: Su Yanjun @ 2019-03-14 6:59 UTC (permalink / raw)
To: steffen.klassert, herbert, davem, kuznet, yoshfuji
Cc: netdev, linux-kernel, suyj.fnst
When unloading xfrm6_tunnel module, xfrm6_tunnel_fini directly
frees the xfrm6_tunnel_spi_kmem. Maybe someone has gotten the
xfrm6_tunnel_spi, so need to wait it.
Fixes: 91cc3bb0b04ff("xfrm6_tunnel: RCU conversion")
Signed-off-by: Su Yanjun <suyj.fnst@cn.fujitsu.com>
---
net/ipv6/xfrm6_tunnel.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/net/ipv6/xfrm6_tunnel.c b/net/ipv6/xfrm6_tunnel.c
index bc65db7..12cb3aa 100644
--- a/net/ipv6/xfrm6_tunnel.c
+++ b/net/ipv6/xfrm6_tunnel.c
@@ -402,6 +402,10 @@ static void __exit xfrm6_tunnel_fini(void)
xfrm6_tunnel_deregister(&xfrm6_tunnel_handler, AF_INET6);
xfrm_unregister_type(&xfrm6_tunnel_type, AF_INET6);
unregister_pernet_subsys(&xfrm6_tunnel_net_ops);
+ /* Someone maybe has gotten the xfrm6_tunnel_spi.
+ * So need to wait it.
+ */
+ rcu_barrier();
kmem_cache_destroy(xfrm6_tunnel_spi_kmem);
}
--
2.7.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] xfrm6_tunnel: Fix potential panic when unloading xfrm6_tunnel module
2019-03-14 6:59 [PATCH] xfrm6_tunnel: Fix potential panic when unloading xfrm6_tunnel module Su Yanjun
@ 2019-03-15 6:24 ` Herbert Xu
2019-03-17 10:13 ` Steffen Klassert
0 siblings, 1 reply; 3+ messages in thread
From: Herbert Xu @ 2019-03-15 6:24 UTC (permalink / raw)
To: Su Yanjun
Cc: steffen.klassert, davem, kuznet, yoshfuji, netdev, linux-kernel,
Eric Dumazet
On Thu, Mar 14, 2019 at 02:59:42PM +0800, Su Yanjun wrote:
> When unloading xfrm6_tunnel module, xfrm6_tunnel_fini directly
> frees the xfrm6_tunnel_spi_kmem. Maybe someone has gotten the
> xfrm6_tunnel_spi, so need to wait it.
>
> Fixes: 91cc3bb0b04ff("xfrm6_tunnel: RCU conversion")
> Signed-off-by: Su Yanjun <suyj.fnst@cn.fujitsu.com>
> ---
> net/ipv6/xfrm6_tunnel.c | 4 ++++
> 1 file changed, 4 insertions(+)
This looks good to me. And it's not just the matter of accessing
freed memory. A worse problem would be trying to execute code
from an unloaded module.
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
> diff --git a/net/ipv6/xfrm6_tunnel.c b/net/ipv6/xfrm6_tunnel.c
> index bc65db7..12cb3aa 100644
> --- a/net/ipv6/xfrm6_tunnel.c
> +++ b/net/ipv6/xfrm6_tunnel.c
> @@ -402,6 +402,10 @@ static void __exit xfrm6_tunnel_fini(void)
> xfrm6_tunnel_deregister(&xfrm6_tunnel_handler, AF_INET6);
> xfrm_unregister_type(&xfrm6_tunnel_type, AF_INET6);
> unregister_pernet_subsys(&xfrm6_tunnel_net_ops);
> + /* Someone maybe has gotten the xfrm6_tunnel_spi.
> + * So need to wait it.
> + */
> + rcu_barrier();
> kmem_cache_destroy(xfrm6_tunnel_spi_kmem);
> }
Thanks,
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] xfrm6_tunnel: Fix potential panic when unloading xfrm6_tunnel module
2019-03-15 6:24 ` Herbert Xu
@ 2019-03-17 10:13 ` Steffen Klassert
0 siblings, 0 replies; 3+ messages in thread
From: Steffen Klassert @ 2019-03-17 10:13 UTC (permalink / raw)
To: Herbert Xu
Cc: Su Yanjun, davem, kuznet, yoshfuji, netdev, linux-kernel, Eric Dumazet
On Fri, Mar 15, 2019 at 02:24:38PM +0800, Herbert Xu wrote:
> On Thu, Mar 14, 2019 at 02:59:42PM +0800, Su Yanjun wrote:
> > When unloading xfrm6_tunnel module, xfrm6_tunnel_fini directly
> > frees the xfrm6_tunnel_spi_kmem. Maybe someone has gotten the
> > xfrm6_tunnel_spi, so need to wait it.
> >
> > Fixes: 91cc3bb0b04ff("xfrm6_tunnel: RCU conversion")
> > Signed-off-by: Su Yanjun <suyj.fnst@cn.fujitsu.com>
> > ---
> > net/ipv6/xfrm6_tunnel.c | 4 ++++
> > 1 file changed, 4 insertions(+)
>
> This looks good to me. And it's not just the matter of accessing
> freed memory. A worse problem would be trying to execute code
> from an unloaded module.
>
> Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Applied, thanks everyone!
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-03-17 10:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-14 6:59 [PATCH] xfrm6_tunnel: Fix potential panic when unloading xfrm6_tunnel module Su Yanjun
2019-03-15 6:24 ` Herbert Xu
2019-03-17 10:13 ` Steffen Klassert
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).