Jouni Seppänen <jks@xxxxxx> writes: > + delayed_ndp_size = ctx->max_ndp_size + > + max(ctx->tx_ndp_modulus, > + ctx->tx_modulus + ctx->tx_remainder) - 1; You'll probably have to use something like max_t(u32, ctx->tx_ndp_modulus, ctx->tx_modulus + ctx->tx_remainder) here as the test robot already said. Sorry for not seeing that earlier. Otherwise this looks very good to me. The bug is real and severe, and your patch appears to be the proper fix for it. Thanks a lot for figuring this out and taking the time to fixup this rather messy piece of code. Reviewed-by: Bjørn Mork <bjorn@xxxxxxx>