git: 145ca12d22a4 - stable/13 - Put bandaid for nhgrp_dump_sysctl() malloc KASSERT().
Alexander V. Chernikov
melifaro at FreeBSD.org
Tue Mar 30 08:01:17 UTC 2021
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 at FreeBSD.org>
AuthorDate: 2021-03-29 23:12:11 +0000
Commit: Alexander V. Chernikov <melifaro at 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);
More information about the dev-commits-src-branches
mailing list