High · published May 6, 2026
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.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 4.9, < 6.6.136 | 6.6.136 |
| linux/linux_kernel | ≥ 6.7, < 6.12.83 | 6.12.83 |
| linux/linux_kernel | ≥ 6.13, < 6.18.24 | 6.18.24 |
| linux/linux_kernel | ≥ 6.19, < 6.19.14 | 6.19.14 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |