diff options
author | Roopa Prabhu <roopa@cumulusnetworks.com> | 2020-05-30 22:17:20 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-06-01 12:06:26 -0700 |
commit | 03eaeda7806dcafb221a66939fcec9748619d16a (patch) | |
tree | a2318303f02cae39f8692b4e4c0ab266bb6be0c9 /drivers/net/vxlan.c | |
parent | 547ce4cfb34cdecfa0ee19c29a5510329a7ac802 (diff) | |
download | linux-03eaeda7806dcafb221a66939fcec9748619d16a.tar.gz linux-03eaeda7806dcafb221a66939fcec9748619d16a.tar.bz2 linux-03eaeda7806dcafb221a66939fcec9748619d16a.zip |
vxlan: fix dereference of nexthop group in nexthop update path
fix dereference of nexthop group in fdb nexthop group
update validation path.
Fixes: 1274e1cc4226 ("vxlan: ecmp support for mac fdb entries")
Reported-by: Ido Schimmel <idosch@idosch.org>
Suggested-by: Ido Schimmel <idosch@idosch.org>
Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/vxlan.c')
-rw-r--r-- | drivers/net/vxlan.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index d5906b41cdae..5bb448ae6c9c 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -881,13 +881,13 @@ static int vxlan_fdb_nh_update(struct vxlan_dev *vxlan, struct vxlan_fdb *fdb, goto err_inval; } - if (!nh->is_group || !nh->nh_grp->mpath) { + nhg = rtnl_dereference(nh->nh_grp); + if (!nh->is_group || !nhg->mpath) { NL_SET_ERR_MSG(extack, "Nexthop is not a multipath group"); goto err_inval; } /* check nexthop group family */ - nhg = rtnl_dereference(nh->nh_grp); switch (vxlan->default_dst.remote_ip.sa.sa_family) { case AF_INET: if (!nhg->has_v4) { |