From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roopa Prabhu Subject: [PATCH net 0/4] vxlan: fix default fdb entry user-space notify ordering/race Date: Fri, 20 Jul 2018 13:21:00 -0700 Message-ID: <1532118064-45513-1-git-send-email-roopa@cumulusnetworks.com> Cc: netdev@vger.kernel.org To: davem@davemloft.net Return-path: Received: from mail-pg1-f196.google.com ([209.85.215.196]:45657 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727884AbeGTVLA (ORCPT ); Fri, 20 Jul 2018 17:11:00 -0400 Received: by mail-pg1-f196.google.com with SMTP id f1-v6so7729373pgq.12 for ; Fri, 20 Jul 2018 13:21:10 -0700 (PDT) Sender: netdev-owner@vger.kernel.org List-ID: From: Roopa Prabhu Problem: In vxlan_newlink, a default fdb entry is added before register_netdev. The default fdb creation function notifies user-space of the fdb entry on the vxlan device which user-space does not know about yet. (RTM_NEWNEIGH goes before RTM_NEWLINK for the same ifindex). This series fixes the user-space netlink notification ordering issue with the following changes: - decouple fdb notify from fdb create. - Move fdb notify after register_netdev. - modify rtnl_configure_link to allow configuring a link early. - Call rtnl_configure_link in vxlan newlink handler to notify userspace about the newlink before fdb notify and hence avoiding the user-space race. Fixes: afbd8bae9c79 ("vxlan: add implicit fdb entry for default destination") Signed-off-by: Roopa Prabhu Roopa Prabhu (4): vxlan: add new fdb alloc and create helpers vxlan: make netlink notify in vxlan_fdb_destroy optional rtnetlink: add rtnl_link_state check in rtnl_configure_link vxlan: fix default fdb netlink notify ordering during netdev create drivers/net/vxlan.c | 130 ++++++++++++++++++++++++++++++++++----------------- net/core/rtnetlink.c | 9 ++-- 2 files changed, 94 insertions(+), 45 deletions(-) -- Dave, I am sending this series against net on your request on my net-next series. https://marc.info/?l=linux-netdev&m=153098151929102&w=2 I did not know how long to wait before i send it to net. So sending it now. As you also noted it is a very old bug. If you have changed your mind about stable or if this is too early for net and you think we should soak it more in net-next, pls feel free to drop. also, i will be happy to do a stable backport if needed. thanks.