From: Davide Caratti <[email protected]>
Date: Tue, 27 Aug 2019 23:18:53 +0200
> Now that 'TCQ_F_CPUSTATS' bit can be cleared, depending on the value of
> 'TCQ_F_NOLOCK' bit in the parent qdisc, we can't assume anymore that
> per-cpu counters are there in the error path of skb_array_produce().
> Otherwise, the following splat can be seen:
...
> Fix this by testing the value of 'TCQ_F_CPUSTATS' bit in 'qdisc->flags',
> before dereferencing 'qdisc->cpu_qstats'.
>
> Fixes: 8a53e616de29 ("net: sched: when clearing NOLOCK, clear TCQ_F_CPUSTATS,
> too")
> CC: Paolo Abeni <[email protected]>
> CC: Stefano Brivio <[email protected]>
> Reported-by: Li Shuang <[email protected]>
> Signed-off-by: Davide Caratti <[email protected]>
Applied and queued up for v5.2 -stable, thanks.