Need to shift after masking to get label value for comparison.

Fixes: b3baa0fbd02a1a9d493d8 ("mpls: Add MPLS entropy label in flow_keys")
Reported-by: Dan Carpenter <dan.carpen...@oracle.com>
Signed-off-by: Tom Herbert <t...@herbertland.com>
---
 net/core/flow_dissector.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c
index 77e22e4..1818cdc 100644
--- a/net/core/flow_dissector.c
+++ b/net/core/flow_dissector.c
@@ -299,8 +299,8 @@ mpls:
                if (!hdr)
                        return false;
 
-               if ((ntohl(hdr[0].entry) & MPLS_LS_LABEL_MASK) ==
-                    MPLS_LABEL_ENTROPY) {
+               if ((ntohl(hdr[0].entry) & MPLS_LS_LABEL_MASK) >>
+                    MPLS_LS_LABEL_SHIFT == MPLS_LABEL_ENTROPY) {
                        if (skb_flow_dissector_uses_key(flow_dissector,
                                                        
FLOW_DISSECTOR_KEY_MPLS_ENTROPY)) {
                                key_keyid = 
skb_flow_dissector_target(flow_dissector,
-- 
1.8.1

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to