From e9196dc5f7925d05751e0d7b94c42e7f26aef799 Mon Sep 17 00:00:00 2001 From: Bruce Evans Date: Sat, 16 Feb 2002 07:07:54 +0000 Subject: [PATCH] Don't leave garbage in parts of fpregs in the fxsr case. All callers (procfs and ptrace) supply kernel stack garbage, so kernel context was leaked to userland. Reviewed by: des --- sys/amd64/amd64/machdep.c | 2 ++ sys/i386/i386/machdep.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index c0ce595ab64..c6bdb57d848 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -2018,6 +2018,8 @@ fill_fpregs_xmm(sv_xmm, sv_87) register struct envxmm *penv_xmm = &sv_xmm->sv_env; int i; + bzero(sv_87, sizeof(*sv_87)); + /* FPU control/status */ penv_87->en_cw = penv_xmm->en_cw; penv_87->en_sw = penv_xmm->en_sw; diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c index c0ce595ab64..c6bdb57d848 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -2018,6 +2018,8 @@ fill_fpregs_xmm(sv_xmm, sv_87) register struct envxmm *penv_xmm = &sv_xmm->sv_env; int i; + bzero(sv_87, sizeof(*sv_87)); + /* FPU control/status */ penv_87->en_cw = penv_xmm->en_cw; penv_87->en_sw = penv_xmm->en_sw;