net_sched: flower: Avoid dissection of unmasked keys
authorHadar Hen Zion <hadarh@mellanox.com>
Wed, 17 Aug 2016 10:36:12 +0000 (13:36 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Aug 2016 06:13:13 +0000 (23:13 -0700)
commit339ba878cfb01b68de3d281ba33fd5e4c9f76546
treee158fd88a93614cb45373b75ac444eda6bbfa9e9
parentf6a66927692e30bdc1792e7a1fc2107d4dfcf42d
net_sched: flower: Avoid dissection of unmasked keys

The current flower implementation checks the mask range and set all the
keys included in that range as "used_keys", even if a specific key in
the range has a zero mask.

This behavior can cause a false positive return value of
dissector_uses_key function and unnecessary dissection in
__skb_flow_dissect.

This patch checks explicitly the mask of each key and "used_keys" will
be set accordingly.

Fixes: 77b9900ef53a ('tc: introduce Flower classifier')
Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_flower.c