Re: [PATCH ipsec] xfrm: Ignore socket policies when rebuilding hash tables
From: Steffen Klassert <steffen.klassert@secunet.com>
Date: 2016-07-29 10:40:22
From: Steffen Klassert <steffen.klassert@secunet.com>
Date: 2016-07-29 10:40:22
On Fri, Jul 29, 2016 at 04:19:11PM +0800, Herbert Xu wrote:
On Fri, Jul 29, 2016 at 09:57:32AM +0200, Tobias Brunner wrote:quoted
Whenever thresholds are changed the hash tables are rebuilt. This is done by enumerating all policies and hashing and inserting them into the right table according to the thresholds and direction. Because socket policies are also contained in net->xfrm.policy_all but no hash tables are defined for their direction (dir + XFRM_POLICY_MAX) this causes a NULL or invalid pointer dereference after returning from policy_hash_bysel() if the rebuild is done while any socket policies are installed. Since the rebuild after changing thresholds is scheduled this crash could even occur if the userland sets thresholds seemingly before installing any socket policies. Fixes: 53c2e285f970 ("xfrm: Do not hash socket policies") Signed-off-by: Tobias Brunner <redacted>Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Applied to the ipsec tree, thanks a lot Tobias!