Re: Kernel 2.6.16.18 with general protection fault, perhaps nfsd

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

 



On Wednesday May 31, [email protected] wrote:
> Hi List, 
> 
> this is my first report, so don,AE$,1 st be to picky. thanks.

Thank you for taking the trouble to make the report.

I think your problem is bad memory.
The code where the problem happens is:
> Code: 83 fa ff 0f 84 2b 01 00 00 b8 00 e0 ff ff 21 e0 8b 00 89 90 74 01
> 00 00 8b 57 04 83 fa ff 0f 84 40 01 00 00 b8 00 e0 ff ff 21 c0 <8b> 00
> 89 90 84 01 00 00 8b 57 08 b8 f4 ff ff ff 85 d2 74 29 89

The relevant part disassembles as:

Code;  fffffff9
  24:   b8 00 e0 ff ff            mov    $0xffffe000,%eax
Code;  fffffffe
  29:   21 c0                     and    %eax,%eax
Code;  00000000
  2b:   8b 00                     mov    (%eax),%eax

Which fairly clearly looks wrong. The 
   and %eax,%eax
if pointless, and the result of the whole is to look at address
   0xffffe000
which is what causes the GPF.

This code should look like:

0x00007766 <nfsd_setuser+234>:  mov    $0xffffe000,%eax
0x0000776b <nfsd_setuser+239>:  and    %esp,%eax
0x0000776d <nfsd_setuser+241>:  mov    (%eax),%eax

(based on what I see when I disassemble that code, allowing for the
fact that I'm using a different version of gcc).  This makes a lot
more sense - %esp (the stack pointer) when anded with 0xffffe000 gives
the 'current' task struct.

The difference is one bit.
  'and %eax %eax'  is 0x21 0xc0
  'and %esp %eax'  is 0x21 0xe0

I recommend running memtest86 and replacing the bad memory.

NeilBrown
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[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