git: 9fa8d1582b44 - main - Put bandaid for nhgrp_dump_sysctl() malloc KASSERT().
Alexander V. Chernikov
melifaro at FreeBSD.org
Mon Mar 29 23:15:16 UTC 2021
The branch main has been updated by melifaro:
URL: https://cgit.FreeBSD.org/src/commit/?id=9fa8d1582b44b4850d40699c9adb104732328b7d
commit 9fa8d1582b44b4850d40699c9adb104732328b7d
Author: Alexander V. Chernikov <melifaro at FreeBSD.org>
AuthorDate: 2021-03-29 23:12:11 +0000
Commit: Alexander V. Chernikov <melifaro at FreeBSD.org>
CommitDate: 2021-03-29 23:12:11 +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.
MFC after: 1 day
---
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..2896730458b5 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_MOWAIT);
+ if (buffer == NULL)
+ return (ENOMEM);
NET_EPOCH_ENTER(et);
NHOPS_RLOCK(ctl);
More information about the dev-commits-src-all
mailing list