• Pablo Neira Ayuso's avatar
    netfilter: nft_rbtree: fix data handling of end interval elements · 2fb91ddb
    Pablo Neira Ayuso authored
    This patch fixes several things which related to the handling of
    end interval elements:
    
    * Chain use underflow with intervals and map: If you add a rule
      using intervals+map that introduces a loop, the error path of the
      rbtree set decrements the chain refcount for each side of the
      interval, leading to a chain use counter underflow.
    
    * Don't copy the data part of the end interval element since, this
      area is uninitialized and this confuses the loop detection code.
    
    * Don't allocate room for the data part of end interval elements
      since this is unused.
    
    So, after this patch the idea is that end interval elements don't
    have a data part.
    Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
    Acked-by: default avatarPatrick McHardy <kaber@trash.net>
    2fb91ddb
nft_rbtree.c 6 KB