Re: [PATCH nf] netfilter: nf_set_pipapo: fix initial map fill

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 15 Jul 2024 13:54:03 +0200
Florian Westphal <fw@xxxxxxxxx> wrote:

> The initial buffer has to be inited to all-ones, but it must restrict
> it to the size of the first field, not the total field size.
> 
> After each round in the map search step, the result and the fill map
> are swapped, so if we have a set where f->bsize of the first element
> is smaller than m->bsize_max, those one-bits are leaked into future
> rounds result map.
> 
> This makes pipapo find an incorrect matching results for sets where
> first field size is not the largest.
> 
> Followup patch adds a test case to nft_concat_range.sh selftest script.
> 
> Thanks to Stefano Brivio for pointing out that we need to zero out
> the remainder explicitly, only correcting memset() argument isn't enough.

Thanks for fixing this!

> Fixes: 3c4287f62044 ("nf_tables: Add set type for arbitrary concatenation of ranges")
> Reported-by: Yi Chen <yiche@xxxxxxxxxx>
> Cc: Stefano Brivio <sbrivio@xxxxxxxxxx>
> Signed-off-by: Florian Westphal <fw@xxxxxxxxx>

Reviewed-by: Stefano Brivio <sbrivio@xxxxxxxxxx>

-- 
Stefano





[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux