mptcp: add fullmesh flag check for adding address
authorGeliang Tang <geliang.tang@suse.com>
Mon, 7 Mar 2022 20:44:39 +0000 (12:44 -0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 9 Mar 2022 06:06:12 +0000 (22:06 -0800)
The fullmesh flag mustn't be used with the signal flag when adding an
address. This patch added the necessary flags check for this case.

Fixes: 73c762c1f07d ("mptcp: set fullmesh flag in pm_netlink")
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/mptcp/pm_netlink.c

index e090810..800515f 100644 (file)
@@ -1264,6 +1264,12 @@ static int mptcp_nl_cmd_add_addr(struct sk_buff *skb, struct genl_info *info)
                return -EINVAL;
        }
 
+       if (addr.flags & MPTCP_PM_ADDR_FLAG_SIGNAL &&
+           addr.flags & MPTCP_PM_ADDR_FLAG_FULLMESH) {
+               GENL_SET_ERR_MSG(info, "flags mustn't have both signal and fullmesh");
+               return -EINVAL;
+       }
+
        if (addr.flags & MPTCP_PM_ADDR_FLAG_IMPLICIT) {
                GENL_SET_ERR_MSG(info, "can't create IMPLICIT endpoint");
                return -EINVAL;