]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
net: sched: cls_flower: set correct offload data in fl_reoffload
authorVlad Buslov <vladbu@mellanox.com>
Mon, 6 Aug 2018 08:27:10 +0000 (11:27 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 7 Aug 2018 19:35:17 +0000 (12:35 -0700)
fl_reoffload implementation sets following members of struct
tc_cls_flower_offload incorrectly:
 - masked key instead of mask
 - key instead of masked key

Fix fl_reoffload to provide correct data to offload callback.

Fixes: 31533cba4327 ("net: sched: cls_flower: implement offload tcf_proto_op")
Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_flower.c

index 9da24423517037b3d7f4df9aafb13d6fe3251b2f..6fd9bdd937968abb92a4b120beeeac24145a825e 100644 (file)
@@ -1338,8 +1338,8 @@ static int fl_reoffload(struct tcf_proto *tp, bool add, tc_setup_cb_t *cb,
                                TC_CLSFLOWER_REPLACE : TC_CLSFLOWER_DESTROY;
                        cls_flower.cookie = (unsigned long)f;
                        cls_flower.dissector = &mask->dissector;
-                       cls_flower.mask = &f->mkey;
-                       cls_flower.key = &f->key;
+                       cls_flower.mask = &mask->key;
+                       cls_flower.key = &f->mkey;
                        cls_flower.exts = &f->exts;
                        cls_flower.classid = f->res.classid;