From: Eric Dumazet <[email protected]>
Date: Mon, 30 Jul 2018 20:09:11 -0700
> We currently check current frags memory usage only when
> a new frag queue is created. This allows attackers to first
> consume the memory budget (default : 4 MB) creating thousands
> of frag queues, then sending tiny skbs to exceed high_thresh
> limit by 2 to 3 order of magnitude.
>
> Note that before commit 648700f76b03 ("inet: frags: use rhashtables
> for reassembly units"), work queue could be starved under DOS,
> getting no cpu cycles.
> After commit 648700f76b03, only the per frag queue timer can eventually
> remove an incomplete frag queue and its skbs.
>
> Fixes: b13d3cbfb8e8 ("inet: frag: move eviction of queues to work queue")
> Signed-off-by: Eric Dumazet <[email protected]>
> Reported-by: Jann Horn <[email protected]>
Applied and queued up for -stable.