xfrm: delete offloaded policy
authorLeon Romanovsky <leonro@nvidia.com>
Mon, 31 Jul 2023 11:38:26 +0000 (14:38 +0300)
committerSteffen Klassert <steffen.klassert@secunet.com>
Tue, 1 Aug 2023 10:04:43 +0000 (12:04 +0200)
The policy memory was released but not HW driver data. Add
call to xfrm_dev_policy_delete(), so drivers will have a chance
to release their resources.

Fixes: 919e43fad516 ("xfrm: add an interface to offload policy")
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/xfrm/xfrm_user.c

index f06d6de..ad01997 100644 (file)
@@ -2345,6 +2345,7 @@ static int xfrm_get_policy(struct sk_buff *skb, struct nlmsghdr *nlh,
                                            NETLINK_CB(skb).portid);
                }
        } else {
+               xfrm_dev_policy_delete(xp);
                xfrm_audit_policy_delete(xp, err ? 0 : 1, true);
 
                if (err != 0)