On Wed, Feb 14, 2018 at 04:45:31PM +0100, Paolo Abeni wrote: > Hi, > > On Wed, 2018-02-14 at 14:51 +0100, Pablo Neira Ayuso wrote: > > On Wed, Feb 14, 2018 at 01:30:37PM +0100, Florian Westphal wrote: > > > Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote: > > > > On Wed, 2018-02-14 at 12:13 +0100, Paolo Abeni wrote: > > > > > syzbot reported a division by 0 bug in the netfilter nat code: > > > > > Adding the relevant check at parse time could break existing > > > > > setup, moreover we would need to read/write such values atomically > > > > > to avoid possible transient negative ranges at update time. > > > > > > > > I do not quite follow why it is so hard to add a check at parse time. > > > > > > > > Breaking buggy setups would not be a concern I think. > > > > > > It would be possible for xtables but afaics in nft_nat.c case > > > (nft_nat_eval) range.{min,max}_proto.all values are loaded from nft > > > registers at runtime. > > > > Then, restrict this from nft_nat. > > If we move the check in the caller for nft, then need cope individually > with several control paths (nf_nat_setup_info() is used by ~10 modules > if I'm not wrong), I think keeping the check here would be better, do > you have strong opinions against that? You're right, this is fine. Thanks for explaining! -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html