From: Taehee Yoo <ap420...@gmail.com>
Date: Fri, 28 Jun 2019 14:07:25 +0900

> __vxlan_dev_create() destroys FDB using specific pointer which indicates
> a fdb when error occurs.
> But that pointer should not be used when register_netdevice() fails because
> register_netdevice() internally destroys fdb when error occurs.
> 
> This patch makes vxlan_fdb_create() to do not link fdb entry to vxlan dev
> internally.
> Instead, a new function vxlan_fdb_insert() is added to link fdb to vxlan
> dev.
> 
> vxlan_fdb_insert() is called after calling register_netdevice().
> This routine can avoid situation that ->ndo_uninit() destroys fdb entry
> in error path of register_netdevice().
> Hence, error path of __vxlan_dev_create() routine can have an opportunity
> to destroy default fdb entry by hand.
> 
> Test command
>     ip link add bonding_masters type vxlan id 0 group 239.1.1.1 \
>           dev enp0s9 dstport 4789
> 
> Splat looks like:
 ...
> Fixes: 0241b836732f ("vxlan: fix default fdb entry netlink notify ordering 
> during netdev create")
> Suggested-by: Roopa Prabhu <ro...@cumulusnetworks.com>
> Signed-off-by: Taehee Yoo <ap420...@gmail.com>

Applied and queued up for -stable, thank you.

Reply via email to