lkml.org 
[lkml]   [2008]   [Apr]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 9/19] UML - Tidy ptrace interface
On Sat, Apr 26, 2008 at 05:35:38PM +0800, WANG Cong wrote:
> From: Jeff Dike <jdike@addtoit.com>
> Date: Fri, 25 Apr 2008 13:56:10 -0400
> > Tidy the ptrace interface code. Removed a bunch of unused macros.
> > Started converting register sets from arrays of longs to structures.
>
> Could you please explain a bit why do this? I think long arrary is OK.

It's wrong on x86_64. There, FRAME_SIZE is 168 -
#define FRAME_SIZE
and SS is the last register defined -
#define SS 160
but there are a number of registers beyond that in the user_regs_struct:
unsigned long ss;
unsigned long fs_base;
unsigned long gs_base;
unsigned long ds;
unsigned long es;
unsigned long fs;
unsigned long gs;

The effect of GETREGS into a long[FRAME_SIZE] will be stack corruption.

Jeff

--
Work email - jdike at linux dot intel dot com


\
 
 \ /
  Last update: 2008-04-28 17:53    [W:0.065 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site