• Vlad Buslov's avatar
    net: sched: flower: use correct ht function to prevent duplicates · 9e35552a
    Vlad Buslov authored
    Implementation of function rhashtable_insert_fast() check if its internal
    helper function __rhashtable_insert_fast() returns non-NULL pointer and
    seemingly return -EEXIST in such case. However, since
    __rhashtable_insert_fast() is called with NULL key pointer, it never
    actually checks for duplicates, which means that -EEXIST is never returned
    to the user. Use rhashtable_lookup_insert_fast() hash table API instead. In
    order to verify that it works as expected and prevent the problem from
    happening in future, extend tc-tests with new test that verifies that no
    new filters with existing key can be inserted to flower classifier.
    
    Fixes: 1f17f774 ("net: sched: flower: insert filter to ht before offloading it to hw")
    Signed-off-by: default avatarVlad Buslov <vladbu@mellanox.com>
    Reviewed-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    9e35552a
cls_flower.c 68.2 KB