diff options
| author | Alexander V. Chernikov <melifaro@FreeBSD.org> | 2021-03-20 08:26:03 +0000 |
|---|---|---|
| committer | Alexander V. Chernikov <melifaro@FreeBSD.org> | 2021-03-28 20:41:56 +0000 |
| commit | 823a80f4f9037b6b9611aaceb21f53115d1e64f1 (patch) | |
| tree | 1f5194733d2e729323c785d1075c657fc79b107b | |
| parent | 1048c56784c0e1d044b6828b030f326e48eaba28 (diff) | |
| download | src-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.c | 2 |
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) { |
