Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Mar 2021 08:01:17 GMT
From:      "Alexander V. Chernikov" <melifaro@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 145ca12d22a4 - stable/13 - Put bandaid for nhgrp_dump_sysctl() malloc KASSERT().
Message-ID:  <202103300801.12U81HoS089376@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by melifaro:

URL: https://cgit.FreeBSD.org/src/commit/?id=145ca12d22a40a9136ba6cd1ce434d3d044bddea

commit 145ca12d22a40a9136ba6cd1ce434d3d044bddea
Author:     Alexander V. Chernikov <melifaro@FreeBSD.org>
AuthorDate: 2021-03-29 23:12:11 +0000
Commit:     Alexander V. Chernikov <melifaro@FreeBSD.org>
CommitDate: 2021-03-30 07:36:04 +0000

    Put bandaid for nhgrp_dump_sysctl() malloc KASSERT().
    
    Recent rtsock changes widened epoch and covered nhgrp_dump_sysctl(),
      resulting in `netstat -4On` triggering with KASSERT.
    
    (cherry picked from commit 9fa8d1582b44b4850d40699c9adb104732328b7d)
---
 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 b228c3bcee37..49866499ac86 100644
--- a/sys/net/route/nhgrp_ctl.c
+++ b/sys/net/route/nhgrp_ctl.c
@@ -806,7 +806,9 @@ nhgrp_dump_sysctl(struct rib_head *rh, struct sysctl_req *w)
 	sz = sizeof(struct rt_msghdr) + sizeof(struct nhgrp_external);
 	sz += 2 * sizeof(struct nhgrp_container);
 	sz += 2 * sizeof(struct nhgrp_nhop_external) * RIB_MAX_MPATH_WIDTH;
-	buffer = malloc(sz, M_TEMP, M_WAITOK);
+	buffer = malloc(sz, M_TEMP, M_NOWAIT);
+	if (buffer == NULL)
+		return (ENOMEM);
 
 	NET_EPOCH_ENTER(et);
 	NHOPS_RLOCK(ctl);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202103300801.12U81HoS089376>