aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2026-03-10 13:53:46 +0000
committerEd Maste <emaste@FreeBSD.org>2026-03-13 00:30:17 +0000
commit9a9f93bcf1aa0059d759b2f3ea6faeb2760a11bd (patch)
tree2091f6632ac000f2632a8b16b02a6d3f36fbb73c
parent097cb4e9f0432c543c704cec712ce1cd3302335c (diff)
compat/linux: Avoid waitid() kernel stack disclosure
Reported by: Adam Crosser, Praetorian Reviewed by: philip Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55812
-rw-r--r--sys/compat/linux/linux_misc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c
index 69fb9935a9ae..937b010c8435 100644
--- a/sys/compat/linux/linux_misc.c
+++ b/sys/compat/linux/linux_misc.c
@@ -750,6 +750,7 @@ linux_common_wait(struct thread *td, idtype_t idtype, int id, int *statusp,
error = linux_copyout_rusage(&wru.wru_self, rup);
if (error == 0 && infop != NULL && td->td_retval[0] != 0) {
sig = bsd_to_linux_signal(siginfo.si_signo);
+ memset(&lsi, 0, sizeof(lsi));
siginfo_to_lsiginfo(&siginfo, &lsi, sig);
error = copyout(&lsi, infop, sizeof(lsi));
}