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.kicin...@netronome.com>
---
 net/core/rtnetlink.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 08f142b59403..3c134b928071 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4927,6 +4927,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;
 }
-- 
2.19.2

Reply via email to