net/sched: sch_mqprio: use netlink payload helpers
authorPedro Tammela <pctammela@mojatatu.com>
Tue, 4 Apr 2023 20:34:49 +0000 (17:34 -0300)
committerJakub Kicinski <kuba@kernel.org>
Thu, 6 Apr 2023 01:12:55 +0000 (18:12 -0700)
For the sake of readability, use the netlink payload helpers from
the 'nla_get_*()' family to parse the attributes.

tdc results:
1..5
ok 1 9903 - Add mqprio Qdisc to multi-queue device (8 queues)
ok 2 453a - Delete nonexistent mqprio Qdisc
ok 3 5292 - Delete mqprio Qdisc twice
ok 4 45a9 - Add mqprio Qdisc to single-queue device
ok 5 2ba9 - Show mqprio class

Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Pedro Tammela <pctammela@mojatatu.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Link: https://lore.kernel.org/r/20230404203449.1627033-1-pctammela@mojatatu.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/sched/sch_mqprio.c

index 48ed87b..fdd6a65 100644 (file)
@@ -178,12 +178,12 @@ static int mqprio_parse_nlattr(struct Qdisc *sch, struct tc_mqprio_qopt *qopt,
 
        if (tb[TCA_MQPRIO_MODE]) {
                priv->flags |= TC_MQPRIO_F_MODE;
-               priv->mode = *(u16 *)nla_data(tb[TCA_MQPRIO_MODE]);
+               priv->mode = nla_get_u16(tb[TCA_MQPRIO_MODE]);
        }
 
        if (tb[TCA_MQPRIO_SHAPER]) {
                priv->flags |= TC_MQPRIO_F_SHAPER;
-               priv->shaper = *(u16 *)nla_data(tb[TCA_MQPRIO_SHAPER]);
+               priv->shaper = nla_get_u16(tb[TCA_MQPRIO_SHAPER]);
        }
 
        if (tb[TCA_MQPRIO_MIN_RATE64]) {
@@ -196,7 +196,7 @@ static int mqprio_parse_nlattr(struct Qdisc *sch, struct tc_mqprio_qopt *qopt,
                                return -EINVAL;
                        if (i >= qopt->num_tc)
                                break;
-                       priv->min_rate[i] = *(u64 *)nla_data(attr);
+                       priv->min_rate[i] = nla_get_u64(attr);
                        i++;
                }
                priv->flags |= TC_MQPRIO_F_MIN_RATE;
@@ -212,7 +212,7 @@ static int mqprio_parse_nlattr(struct Qdisc *sch, struct tc_mqprio_qopt *qopt,
                                return -EINVAL;
                        if (i >= qopt->num_tc)
                                break;
-                       priv->max_rate[i] = *(u64 *)nla_data(attr);
+                       priv->max_rate[i] = nla_get_u64(attr);
                        i++;
                }
                priv->flags |= TC_MQPRIO_F_MAX_RATE;