git: 823a80f4f903 - stable/13 - Zero `struct weightened_nhop` fields in nhgrp_get_addition_group().

Alexander V. Chernikov melifaro at FreeBSD.org
Sun Mar 28 20:42:14 UTC 2021


The branch stable/13 has been updated by melifaro:

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

commit 823a80f4f9037b6b9611aaceb21f53115d1e64f1
Author:     Alexander V. Chernikov <melifaro at FreeBSD.org>
AuthorDate: 2021-03-20 08:26:03 +0000
Commit:     Alexander V. Chernikov <melifaro at FreeBSD.org>
CommitDate: 2021-03-28 20:41:56 +0000

    Zero `struct weightened_nhop` fields in nhgrp_get_addition_group().
    
    `struct weightened_nhop` has spare 32bit between the fields due to
     the alignment (on amd64).
    Not zeroing these spare bits results in duplicating nhop groups
     in the kernel due to the way how comparison works.
    
    (cherry picked from commit 6f43c72b472ee78e04f1ebd347ca0ae7787ee876)
---
 sys/net/route/nhgrp_ctl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/net/route/nhgrp_ctl.c b/sys/net/route/nhgrp_ctl.c
index b329b907144f..b228c3bcee37 100644
--- a/sys/net/route/nhgrp_ctl.c
+++ b/sys/net/route/nhgrp_ctl.c
@@ -646,7 +646,7 @@ nhgrp_get_addition_group(struct rib_head *rh, struct route_nhop_data *rnd_orig,
 {
 	struct nh_control *ctl = rh->nh_control;
 	struct nhgrp_priv *nhg_priv;
-	struct weightened_nhop wn[2];
+	struct weightened_nhop wn[2] = {};
 	int error;
 
 	if (rnd_orig->rnd_nhop == NULL) {


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