git: 6f43c72b472e - main - Zero `struct weightened_nhop` fields in nhgrp_get_addition_group().

Alexander V. Chernikov melifaro at FreeBSD.org
Sat Mar 27 09:17:32 UTC 2021


The branch main has been updated by melifaro:

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

commit 6f43c72b472ee78e04f1ebd347ca0ae7787ee876
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-20 08:26:03 +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.
    
    MFC after:      1 day
---
 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