diff options
| author | Ed Maste <emaste@FreeBSD.org> | 2026-03-10 13:53:46 +0000 |
|---|---|---|
| committer | Ed Maste <emaste@FreeBSD.org> | 2026-03-13 00:30:17 +0000 |
| commit | 9a9f93bcf1aa0059d759b2f3ea6faeb2760a11bd (patch) | |
| tree | 2091f6632ac000f2632a8b16b02a6d3f36fbb73c | |
| parent | 097cb4e9f0432c543c704cec712ce1cd3302335c (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.c | 1 |
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)); } |
