+3
−3
Loading
iptfs_clone_state() stores x->mode_data before allocating the reorder window. If that allocation fails, the code frees the cloned state and returns -ENOMEM, leaving x->mode_data pointing at freed memory. The xfrm clone unwind later runs destroy_state() through x->mode_data, so the failed clone path tears down IPTFS state that clone_state() already freed. Keep the cloned IPTFS state private until all allocations succeed so failed clones leave x->mode_data unset. The destroy path already handles a NULL mode_data pointer. Fixes: 6be02e3e ("xfrm: iptfs: handle reordering of received packets") Cc: stable@vger.kernel.org Signed-off-by:Paul Moses <p@1g4.org> Signed-off-by:
Steffen Klassert <steffen.klassert@secunet.com>