From: Roopa Prabhu <ro...@cumulusnetworks.com>

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 <ido...@idosch.org>
Suggested-by: Ido Schimmel <ido...@idosch.org>
Signed-off-by: Roopa Prabhu <ro...@cumulusnetworks.com>
---
 drivers/net/vxlan.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index 39bc10a..ea7af03 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) {
-- 
2.1.4

Reply via email to