Kernel: Fix 4-byte uninitialized memory leak in sys$sigaltstack()

It was possible to extract 4 bytes of uninitialized kernel stack memory
on x86_64 by looking in the padding of stack_t.
This commit is contained in:
Andreas Kling 2021-12-17 14:45:09 +01:00
parent ed839450c8
commit 32aa623eff
Notes: sideshowbarker 2024-07-17 22:39:59 +09:00

View file

@ -262,7 +262,7 @@ ErrorOr<FlatPtr> Process::sys$sigaltstack(Userspace<const stack_t*> user_ss, Use
REQUIRE_PROMISE(sigaction);
if (user_old_ss) {
stack_t old_ss_value;
stack_t old_ss_value {};
old_ss_value.ss_sp = (void*)Thread::current()->m_alternative_signal_stack;
old_ss_value.ss_size = Thread::current()->m_alternative_signal_stack_size;
old_ss_value.ss_flags = 0;