mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
Fix an out-of-bounds memory access in xc_ptrace.c.
Currently, Xen always copies the entire 512 byte extended FPU state (fxsave) even if only the "regular" FPU state was requested. This breaks since the memory buffer allocated in linux-xen-low.c:regsets_fetch_inferior_registers() is only large enough to hold the "plain" FPU registers. Signed-Off-By: Simon Kagstrom <simon.kagstrom@bth.se>
This commit is contained in:
1 parent
3e3fe8486d
commit
6ca3eb3308
1 file changed
+5
@@ -520,6 +520,11 @@ xc_ptrace(
|
||||
break;
|
||||
|
||||
case PTRACE_GETFPREGS:
|
||||
if (!current_isfile && fetch_regs(xc_handle, cpu, NULL))
|
||||
goto out_error;
|
||||
memcpy(data, &ctxt[cpu].fpu_ctxt, sizeof (elf_fpregset_t));
|
||||
break;
|
||||
|
||||
case PTRACE_GETFPXREGS:
|
||||
if (!current_isfile && fetch_regs(xc_handle, cpu, NULL))
|
||||
goto out_error;
|
||||
|
||||