git: cc3fa1e29fda - main - Fix crash with rtadv-originated multipath IPv6 routes.

Alexander V. Chernikov melifaro at FreeBSD.org
Wed Feb 24 22:46:50 UTC 2021


The branch main has been updated by melifaro:

URL: https://cgit.FreeBSD.org/src/commit/?id=cc3fa1e29fda2cc761e793a61cef3bd2522b3468

commit cc3fa1e29fda2cc761e793a61cef3bd2522b3468
Author:     Alexander V. Chernikov <melifaro at FreeBSD.org>
AuthorDate: 2021-02-24 16:42:48 +0000
Commit:     Alexander V. Chernikov <melifaro at FreeBSD.org>
CommitDate: 2021-02-24 16:44:10 +0000

    Fix crash with rtadv-originated multipath IPv6 routes.
    
    PR:             253800
    Reported by:    Frederic Denis <freebsdml at hecian.net>
    MFC after:      immediately
---
 sys/netinet6/nd6_rtr.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/sys/netinet6/nd6_rtr.c b/sys/netinet6/nd6_rtr.c
index 51b831a956bc..2f721b4edcc3 100644
--- a/sys/netinet6/nd6_rtr.c
+++ b/sys/netinet6/nd6_rtr.c
@@ -61,7 +61,6 @@ __FBSDID("$FreeBSD$");
 #include <net/route.h>
 #include <net/route/nhop.h>
 #include <net/route/route_ctl.h>
-#include <net/route/route_var.h>
 #include <net/radix.h>
 #include <net/vnet.h>
 
@@ -699,7 +698,7 @@ defrouter_addreq(struct nd_defrouter *new)
 	NET_EPOCH_ASSERT();
 	error = rib_action(fibnum, RTM_ADD, &info, &rc);
 	if (error == 0) {
-		struct nhop_object *nh = nhop_select(rc.rc_nh_new, 0);
+		struct nhop_object *nh = nhop_select_func(rc.rc_nh_new, 0);
 		rt_routemsg(RTM_ADD, rc.rc_rt, nh, fibnum);
 		new->installed = 1;
 	}
@@ -739,7 +738,7 @@ defrouter_delreq(struct nd_defrouter *dr)
 	NET_EPOCH_ENTER(et);
 	error = rib_action(fibnum, RTM_DELETE, &info, &rc);
 	if (error == 0) {
-		struct nhop_object *nh = nhop_select(rc.rc_nh_old, 0);
+		struct nhop_object *nh = nhop_select_func(rc.rc_nh_old, 0);
 		rt_routemsg(RTM_DELETE, rc.rc_rt, nh, fibnum);
 	}
 	NET_EPOCH_EXIT(et);


More information about the dev-commits-src-main mailing list