On Mon, Jun 17, 2019 at 11:11 AM Jakub Kicinski <jakub.kicin...@netronome.com> wrote: > > When GSO frame has to be corrupted netem uses skb_gso_segment() > to produce the list of frames, and re-enqueues the segments one > by one. The backlog length has to be adjusted to account for > new frames. > > The current calculation is incorrect, leading to wrong backlog > lengths in the parent qdisc (both bytes and packets), and > incorrect packet backlog count in netem itself. > > Parent backlog goes negative, netem's packet backlog counts > all non-first segments twice (thus remaining non-zero even > after qdisc is emptied). > > Move the variables used to count the adjustment into local > scope to make 100% sure they aren't used at any stage in > backports. > > Fixes: 6071bd1aa13e ("netem: Segment GSO packets on enqueue") > Signed-off-by: Jakub Kicinski <jakub.kicin...@netronome.com> > Reviewed-by: Dirk van der Merwe <dirk.vanderme...@netronome.com>
Looks good! Acked-by: Cong Wang <xiyou.wangc...@gmail.com>