Re: [PATCH 4.19 13/99] netfilter: nf_conncount: fix argument order to find_next_bit

From: Andreas Hartmann
Date: Mon Apr 22 2019 - 11:17:00 EST


Hello!

Since 4.19.17, I'm facing problems during streaming of videos I've never seen before. This means:

- video from internet stutters although enough data flow can be seen in bmon.
- gpu is locked:
radeon 0000:0a:00.0: ring 0 stalled for more than 14084msec
radeon 0000:0a:00.0: GPU lockup (current fence id 0x0000000000053ed7 last fence id 0x0000000000053f0f on ring 0)
- The connection of videos streamed locally by the machine for a TV suddenly breaks (upnp - serviio as server).

After very long time of testing, I detected, that removing the complete patch series for 4.19.17 regarding netfilter: nf_conncount makes the problem disappear.

Please remove / fix this patchset!


Thanks
Andreas Hartmann


On 21.01.19 at 14:48 Greg Kroah-Hartman wrote:
> 4.19-stable review patch. If anyone has any objections, please let me know.
>
> ------------------
>
> From: Florian Westphal <fw@xxxxxxxxx>
>
> commit a007232066f6839d6f256bab21e825d968f1a163 upstream.
>
> Size and 'next bit' were swapped, this bug could cause worker to
> reschedule itself even if system was idle.
>
> Fixes: 5c789e131cbb9 ("netfilter: nf_conncount: Add list lock and gc worker, and RCU for init tree search")
> Reviewed-by: Shawn Bohrer <sbohrer@xxxxxxxxxxxxxx>
> Signed-off-by: Florian Westphal <fw@xxxxxxxxx>
> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>
> ---
> net/netfilter/nf_conncount.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/net/netfilter/nf_conncount.c
> +++ b/net/netfilter/nf_conncount.c
> @@ -488,7 +488,7 @@ next:
> clear_bit(tree, data->pending_trees);
>
> next_tree = (tree + 1) % CONNCOUNT_SLOTS;
> - next_tree = find_next_bit(data->pending_trees, next_tree, CONNCOUNT_SLOTS);
> + next_tree = find_next_bit(data->pending_trees, CONNCOUNT_SLOTS, next_tree);
>
> if (next_tree < CONNCOUNT_SLOTS) {
> data->gc_tree = next_tree;
>
>
>