Description
In the Linux kernel, the following vulnerability has been resolved: xfrm: Wait for RCU readers during policy netns exit xfrm_policy_fini() frees the policy_bydst hash tables after flushing the policy work items and deleting all policies, but it does not wait for concurrent RCU readers to leave their read-side critical sections first. The policy_bydst tables are published via rcu_assign_pointer() and are looked up through rcu_dereference_check(), so netns teardown must also wait for an RCU grace period before freeing the table memory. Fix this by adding synchronize_rcu() before freeing the policy hash tables.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
e1e551bc56302b80ff930c966f9985095fb1b70d to < b2faee12538b5b008eaef65a4201eb29cb5cefb3affectede1e551bc56302b80ff930c966f9985095fb1b70d to < b66920a3348c0f63ba18365248fa21fbf0b3a937affectede1e551bc56302b80ff930c966f9985095fb1b70d to < 438b1f668ad58f46ce699bb48e4698a7839e3f9eaffectede1e551bc56302b80ff930c966f9985095fb1b70d to < 3733fce2871c9bca9dd18a1a23b1432ea215a094affectede1e551bc56302b80ff930c966f9985095fb1b70d to < 33a3149dd81a1e2f52b80ee1e0fc380b39f3d028affectede1e551bc56302b80ff930c966f9985095fb1b70d to < 069daad4f2ae9c5c108131995529d5f02392c446affected
Linux Linux
Default version status: affected
4.9affected0 to < 4.9unaffected6.1.191 to ≤ 6.1.*unaffected6.6.136 to ≤ 6.6.*unaffected6.12.83 to ≤ 6.12.*unaffected6.18.24 to ≤ 6.18.*unaffected6.19.14 to ≤ 6.19.*unaffected7.0 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/b2faee12538b5b008eaef65a4201eb29cb5cefb3 ↗
- https://git.kernel.org/stable/c/b66920a3348c0f63ba18365248fa21fbf0b3a937 ↗
- https://git.kernel.org/stable/c/438b1f668ad58f46ce699bb48e4698a7839e3f9e ↗
- https://git.kernel.org/stable/c/3733fce2871c9bca9dd18a1a23b1432ea215a094 ↗
- https://git.kernel.org/stable/c/33a3149dd81a1e2f52b80ee1e0fc380b39f3d028 ↗
- https://git.kernel.org/stable/c/069daad4f2ae9c5c108131995529d5f02392c446 ↗