[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180102.113727.916343507524190191.davem@davemloft.net>
Date: Tue, 02 Jan 2018 11:37:27 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: xiyou.wangcong@...il.com
Cc: netdev@...r.kernel.org, jakub.kicinski@...ronome.com,
john.fastabend@...il.com
Subject: Re: [Patch net-next] net_sched: remove the unsafe
__skb_array_empty()
From: Cong Wang <xiyou.wangcong@...il.com>
Date: Thu, 21 Dec 2017 16:03:30 -0800
> __skb_array_empty() is only safe if array is never resized.
> pfifo_fast_dequeue() is called in TX BH context and without
> qdisc lock, so even after we disable BH on ->reset() path
> we can still race with other CPU's.
>
> Fixes: c5ad119fb6c0 ("net: sched: pfifo_fast use skb_array")
> Reported-by: Jakub Kicinski <jakub.kicinski@...ronome.com>
> Cc: John Fastabend <john.fastabend@...il.com>
> Signed-off-by: Cong Wang <xiyou.wangcong@...il.com>
Based upon the discussion over this patch, this bug is ultimately fixed
by John's patch which adds a dummy element at the end of allocated
ptr_ring queues.
And I've just applied that.
Powered by blists - more mailing lists