git: 589d5d28a811 - releng/13.0 - Fix kassert panic when inserting multipath routes from multiple threads.

Alexander V. Chernikov melifaro at FreeBSD.org
Sun Mar 28 20:50:26 UTC 2021


The branch releng/13.0 has been updated by melifaro:

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

commit 589d5d28a8119dac166346f890fa450e1b7b489c
Author:     Alexander V. Chernikov <melifaro at FreeBSD.org>
AuthorDate: 2021-03-21 18:15:29 +0000
Commit:     Alexander V. Chernikov <melifaro at FreeBSD.org>
CommitDate: 2021-03-28 20:40:48 +0000

    Fix kassert panic when inserting multipath routes from multiple threads.
    
    Reported by:    Marco Zec <zec at fer.hr>
    Approved by:    re (gjb)
    
    (cherry picked from commit 42f997d9b721ce5b64c37958f21fa81630f5a224)
---
 sys/net/route/nhgrp_ctl.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sys/net/route/nhgrp_ctl.c b/sys/net/route/nhgrp_ctl.c
index c2119506370f..b329b907144f 100644
--- a/sys/net/route/nhgrp_ctl.c
+++ b/sys/net/route/nhgrp_ctl.c
@@ -488,7 +488,9 @@ get_nhgrp(struct nh_control *ctl, struct weightened_nhop *wn, int num_nhops,
 		if (link_nhgrp(ctl, key) == 0) {
 			/* Unable to allocate index? */
 			*perror = EAGAIN;
-			destroy_nhgrp(key);
+			free_nhgrp_nhops(key);
+			destroy_nhgrp_int(key);
+			return (NULL);
 		}
 		*perror = 0;
 		return (key);


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