[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM_iQpUp+nmLW2i3Gm2YQnq+_EA5ozvgO33fG6k=x+kQx9kt_Q@mail.gmail.com>
Date: Tue, 28 Feb 2017 13:29:17 -0800
From: Cong Wang <xiyou.wangcong@...il.com>
To: 颜小波 <yanxb123@....com>
Cc: Stephen Hemminger <stephen@...workplumber.org>,
Linux Kernel Network Developers <netdev@...r.kernel.org>
Subject: Re: [drivers/net/vxlan]Why rcu_read_lock is not obtained before
rculist travelling
On Tue, Feb 28, 2017 at 6:03 AM, 颜小波 <yanxb123@....com> wrote:
> But I don’t find any rcu_read_lock invoked before travelling fdb_head list. In vxlan_xmit and vxlan_snoop function, vxlan_find_mac function is called to search the vxlan_fdb of the dst_mac or src_mac. Then information in vxlan_fdb is used for further process. But as no rcu_read_lock is obtained before the list travelling, I am wondering if it is possible that vxlan_fdb is freed when it is being used.
>
In both RX and TX paths, rcu read lock is acquired by upper layer.
Check __dev_queue_xmit() and process_backlog().
Powered by blists - more mailing lists