net/sched: cls_flower: Properly handle classifier flags dumping
authorOr Gerlitz <ogerlitz@mellanox.com>
Thu, 16 Feb 2017 08:31:10 +0000 (10:31 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 17 Feb 2017 17:08:04 +0000 (12:08 -0500)
Dump the classifier flags only if non zero and make sure to check
the return status of the handler that puts them into the netlink msg.

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_flower.c

index 0826c8ec3a768ed1ea1ea313b2a00b8be6b1bd88..850d98294bf60c104a0c2d2a219ae31e7d566a0e 100644 (file)
@@ -1229,7 +1229,8 @@ static int fl_dump(struct net *net, struct tcf_proto *tp, unsigned long fh,
        if (fl_dump_key_flags(skb, key->control.flags, mask->control.flags))
                goto nla_put_failure;
 
-       nla_put_u32(skb, TCA_FLOWER_FLAGS, f->flags);
+       if (f->flags && nla_put_u32(skb, TCA_FLOWER_FLAGS, f->flags))
+               goto nla_put_failure;
 
        if (tcf_exts_dump(skb, &f->exts))
                goto nla_put_failure;