[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20140603.160759.1806413663422270154.davem@davemloft.net>
Date: Tue, 03 Jun 2014 16:07:59 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: mkubecek@...e.cz
Cc: steffen.klassert@...unet.com, herbert@...dor.apana.org.au,
netdev@...r.kernel.org
Subject: Re: [PATCH ipsec] xfrm: fix race between netns cleanup and state
expire notification
From: Michal Kubecek <mkubecek@...e.cz>
Date: Tue, 3 Jun 2014 10:26:06 +0200 (CEST)
> The xfrm_user module registers its pernet init/exit after xfrm
> itself so that its net exit function xfrm_user_net_exit() is
> executed before xfrm_net_exit() which calls xfrm_state_fini() to
> cleanup the SA's (xfrm states). This opens a window between
> zeroing net->xfrm.nlsk pointer and deleting all xfrm_state
> instances which may access it (via the timer). If an xfrm state
> expires in this window, xfrm_exp_state_notify() will pass null
> pointer as socket to nlmsg_multicast().
>
> As the notifications are called inside rcu_read_lock() block, it
> is sufficient to retrieve the nlsk socket with rcu_dereference()
> and check the it for null.
>
> Signed-off-by: Michal Kubecek <mkubecek@...e.cz>
Looks good, applied, thanks Michal.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists