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 <vla...@mellanox.com>
Acked-by: Jiri Pirko <j...@mellanox.com>
---
 net/sched/cls_flower.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/sched/cls_flower.c b/net/sched/cls_flower.c
index e8bd08ba998a..cbf165c33656 100644
--- a/net/sched/cls_flower.c
+++ b/net/sched/cls_flower.c
@@ -1174,8 +1174,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;
 
-- 
2.7.5

Reply via email to