On Sun, Jul 19, 2020 at 09:08:39AM +0300, Julian Anastasov wrote:
> On Thu, 16 Jul 2020, guodeqing wrote:
> > The sync_thread_backup only checks sk_receive_queue is empty or not,
> > there is a situation which cannot sync the connection entries when
> > sk_receive_queue is empty and sk_rmem_alloc is larger than sk_rcvbuf,
> > the sync packets are dropped in __udp_enqueue_schedule_skb, this is
> > because the packets in reader_queue is not read, so the rmem is
> > not reclaimed.
> > Here I add the check of whether the reader_queue of the udp sock is
> > empty or not to solve this problem.
> > Fixes: 2276f58ac589 ("udp: use a separate rx queue for packet reception")
> > Reported-by: zhouxudong <zhouxudong8@xxxxxxxxxx>
> > Signed-off-by: guodeqing <geffrey.guo@xxxxxxxxxx>
> Looks good to me, thanks!
> Acked-by: Julian Anastasov <ja@xxxxxx>
> Simon, Pablo, this patch should be applied to the nf tree.
> As the reader_queue appears in 4.13, this patch can be backported
> to 4.14, 4.19, 5.4, etc, they all have skb_queue_empty_lockless.
The Fixes: tag should help -stable maintainer pull this into the next
batch. Otherwise, feel free to drop a line to stable@xxxxxxxxxxxxxxx
to request inclusion after this patch hits Linus' tree.