Commit 24fc544f authored by Sabrina Dubroca's avatar Sabrina Dubroca Committed by Steffen Klassert
Browse files

xfrm: add extack to verify_policy_dir

parent ec2b4f01
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -1481,7 +1481,7 @@ static int xfrm_alloc_userspi(struct sk_buff *skb, struct nlmsghdr *nlh,
	return err;
}

static int verify_policy_dir(u8 dir)
static int verify_policy_dir(u8 dir, struct netlink_ext_ack *extack)
{
	switch (dir) {
	case XFRM_POLICY_IN:
@@ -1490,6 +1490,7 @@ static int verify_policy_dir(u8 dir)
		break;

	default:
		NL_SET_ERR_MSG(extack, "Invalid policy direction");
		return -EINVAL;
	}

@@ -1566,7 +1567,7 @@ static int verify_newpolicy_info(struct xfrm_userpolicy_info *p,
		return -EINVAL;
	}

	ret = verify_policy_dir(p->dir);
	ret = verify_policy_dir(p->dir, extack);
	if (ret)
		return ret;
	if (p->index && (xfrm_policy_id2dir(p->index) != p->dir)) {
@@ -2102,7 +2103,7 @@ static int xfrm_get_policy(struct sk_buff *skb, struct nlmsghdr *nlh,
	if (err)
		return err;

	err = verify_policy_dir(p->dir);
	err = verify_policy_dir(p->dir, extack);
	if (err)
		return err;

@@ -2407,7 +2408,7 @@ static int xfrm_add_pol_expire(struct sk_buff *skb, struct nlmsghdr *nlh,
	if (err)
		return err;

	err = verify_policy_dir(p->dir);
	err = verify_policy_dir(p->dir, extack);
	if (err)
		return err;