Skip to content
  • Pablo Neira Ayuso's avatar
    netfilter: nf_tables: unbind set in rule from commit path · f6ac8585
    Pablo Neira Ayuso authored
    Anonymous sets that are bound to rules from the same transaction trigger
    a kernel splat from the abort path due to double set list removal and
    double free.
    
    This patch updates the logic to search for the transaction that is
    responsible for creating the set and disable the set list removal and
    release, given the rule is now responsible for this. Lookup is reverse
    since the transaction that adds the set is likely to be at the tail of
    the list.
    
    Moreover, this patch adds the unbind step to deliver the event from the
    commit path.  This should not be done from the worker thread, since we
    have no guarantees of in-order delivery to the listener.
    
    This patch removes the assumption that both activate and deactivate
    callbacks need to be provided.
    
    Fixes: cd5125d8
    
     ("netfilter: nf_tables: split set destruction in deactivate and destroy phase")
    Reported-by: default avatarMikhail Morfikov <mmorfikov@gmail.com>
    Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
    f6ac8585