Hi Cong, Thanks very much for your reply. It's indeeded acquired by upper layer.
Thanks At 2017-03-01 05:29:17, "Cong Wang" <xiyou.wangc...@gmail.com> wrote: >On Tue, Feb 28, 2017 at 6:03 AM, Xiaobo Yan <yanxb...@163.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().