Re: [patch 1/1] uml: fix handling of no fpx_regs [critical, for 2.6.12]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Alexander

On Mon, 2005-04-25 at 21:57 +0200, Alexander Nyberg wrote:
> mån 2005-04-25 klockan 21:12 +0200 skrev [email protected]:
> > From: Andree Leidenfrost <[email protected]>, Paolo 'Blaisorblade' Giarrusso <[email protected]>
> > 
> > Fix the error path, which is triggered when the processor misses the fpx regs
> > (i.e. the "fxsr" cpuinfo feature). For instance by VIA C3 Samuel2. Tested and
> > obvious, please merge ASAP.
> > 
> > Signed-off-by: Paolo 'Blaisorblade' Giarrusso <[email protected]>
> > ---
> > 
> >  linux-2.6.12-paolo/arch/um/os-Linux/sys-i386/registers.c |    7 ++++---
> >  1 files changed, 4 insertions(+), 3 deletions(-)
> > 
> > diff -puN arch/um/os-Linux/sys-i386/registers.c~uml-fix-no_fpx_regs_handling arch/um/os-Linux/sys-i386/registers.c
> > --- linux-2.6.12/arch/um/os-Linux/sys-i386/registers.c~uml-fix-no_fpx_regs_handling	2005-04-25 21:03:11.000000000 +0200
> > +++ linux-2.6.12-paolo/arch/um/os-Linux/sys-i386/registers.c	2005-04-25 21:08:07.000000000 +0200
> > @@ -105,14 +105,15 @@ void init_registers(int pid)
> >  		panic("check_ptrace : PTRACE_GETREGS failed, errno = %d",
> >  		      err);
> >  
> > +	errno = 0;
> >  	err = ptrace(PTRACE_GETFPXREGS, pid, 0, exec_fpx_regs);
> >  	if(!err)
> >  		return;
> > +	if(errno != EIO)
> > +		panic("check_ptrace : PTRACE_GETFPXREGS failed, errno = %d",
> > +		      errno);
> 
> Looks like you mean "if (err != EIO)" here

No. The patch is correct.

ptrace will always return -1 in case of an error. The actual error code
is in errno, hence this is what needs to be compared to EIO. Please also
see the ptrace manpage.

> >  	have_fpx_regs = 0;
> > -	if(err != EIO)
> > -		panic("check_ptrace : PTRACE_GETFPXREGS failed, errno = %d",
> > -		      err);
> >  
> >  	err = ptrace(PTRACE_GETFPREGS, pid, 0, exec_fp_regs);
> >  	if(err)

Best regards
Andree
-- 
Andree Leidenfrost
Sydney - Australia

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux