rtnetlink: stats: reject requests for unknown stats
authorJakub Kicinski <jakub.kicinski@netronome.com>
Fri, 18 Jan 2019 18:46:15 +0000 (10:46 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 19 Jan 2019 18:09:58 +0000 (10:09 -0800)
In the spirit of strict checks reject requests of stats the kernel
does not support when NETLINK_F_STRICT_CHK is set.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/rtnetlink.c

index 03d0623eccae1037ad027efa248777240d8cb011..2b4e61bcd420ebdd1eefefb12042ef05249291da 100644 (file)
@@ -4928,6 +4928,10 @@ static int rtnl_valid_stats_req(const struct nlmsghdr *nlh, bool strict_check,
                NL_SET_ERR_MSG(extack, "Invalid attributes after stats header");
                return -EINVAL;
        }
+       if (ifsm->filter_mask >= IFLA_STATS_FILTER_BIT(IFLA_STATS_MAX + 1)) {
+               NL_SET_ERR_MSG(extack, "Invalid stats requested through filter mask");
+               return -EINVAL;
+       }
 
        return 0;
 }