aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander V. Chernikov <melifaro@FreeBSD.org>2021-03-20 08:26:03 +0000
committerAlexander V. Chernikov <melifaro@FreeBSD.org>2021-03-28 20:41:56 +0000
commit823a80f4f9037b6b9611aaceb21f53115d1e64f1 (patch)
tree1f5194733d2e729323c785d1075c657fc79b107b
parent1048c56784c0e1d044b6828b030f326e48eaba28 (diff)
downloadsrc-823a80f4f9037b6b9611aaceb21f53115d1e64f1.tar.gz
src-823a80f4f9037b6b9611aaceb21f53115d1e64f1.zip
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)
-rw-r--r--sys/net/route/nhgrp_ctl.c2
1 files changed, 1 insertions, 1 deletions
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) {