diff -drupN a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
--- a/net/xfrm/xfrm_state.c	2018-08-06 17:23:04.000000000 +0300
+++ b/net/xfrm/xfrm_state.c	2022-06-12 05:28:14.000000000 +0300
@@ -1922,6 +1922,7 @@ int xfrm_user_policy(struct sock *sk, in
 	if (err >= 0) {
 		xfrm_sk_policy_insert(sk, err, pol);
 		xfrm_pol_put(pol);
+		__sk_dst_reset(sk);
 		err = 0;
 	}