net sched actions: Use proper root attribute table for actions
authorJamal Hadi Salim <jhs@mojatatu.com>
Sun, 30 Jul 2017 17:24:50 +0000 (13:24 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 31 Jul 2017 02:28:08 +0000 (19:28 -0700)
Bug fix for an issue which has been around for about a decade.
We got away with it because the enumeration was larger than needed.

Fixes: 7ba699c604ab ("[NET_SCHED]: Convert actions from rtnetlink to new netlink API")
Suggested-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/act_api.c

index f2e9ed3..848370e 100644 (file)
@@ -1072,7 +1072,7 @@ static int tc_ctl_action(struct sk_buff *skb, struct nlmsghdr *n,
                         struct netlink_ext_ack *extack)
 {
        struct net *net = sock_net(skb->sk);
-       struct nlattr *tca[TCA_ACT_MAX + 1];
+       struct nlattr *tca[TCAA_MAX + 1];
        u32 portid = skb ? NETLINK_CB(skb).portid : 0;
        int ret = 0, ovr = 0;
 
@@ -1080,7 +1080,7 @@ static int tc_ctl_action(struct sk_buff *skb, struct nlmsghdr *n,
            !netlink_capable(skb, CAP_NET_ADMIN))
                return -EPERM;
 
-       ret = nlmsg_parse(n, sizeof(struct tcamsg), tca, TCA_ACT_MAX, NULL,
+       ret = nlmsg_parse(n, sizeof(struct tcamsg), tca, TCAA_MAX, NULL,
                          extack);
        if (ret < 0)
                return ret;