1. 06 3月, 2017 1 次提交
  2. 18 2月, 2017 1 次提交
  3. 09 2月, 2017 1 次提交
    • D
      bpf, lpm: fix overflows in trie_alloc checks · c502faf9
      Daniel Borkmann 提交于
      Cap the maximum (total) value size and bail out if larger than KMALLOC_MAX_SIZE
      as otherwise it doesn't make any sense to proceed further, since we're
      guaranteed to fail to allocate elements anyway in lpm_trie_node_alloc();
      likleyhood of failure is still high for large values, though, similarly
      as with htab case in non-prealloc.
      
      Next, make sure that cost vars are really u64 instead of size_t, so that we
      don't overflow on 32 bit and charge only tiny map.pages against memlock while
      allowing huge max_entries; cap also the max cost like we do with other map
      types.
      
      Fixes: b95a5c4d ("bpf: add a longest prefix match trie map implementation")
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c502faf9
  4. 24 1月, 2017 2 次提交