lkml.org 
[lkml]   [2004]   [May]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: 2.6.6 is crashing repeatedly
On  May 27, linux@horizon.com wrote:
> Even with neilb's patch, I just got an nfs oops:

As Olaf Kirch just said on nfs@lists.sourceforge.net:

> Hi Neil,
>
> you recently posted a patch that should fix readdir encoding in
> nfsd. You say there
>
> Note that as the offset and whole response is known to be
> 4byte-aligned, the offset pointer will never be split over
> two pages.
>
> This is not true. The dirent offset is a 64bit quantity, so it's quite
> possible it will be split across the page boundary. I'm working on a
> patch...

And that is exactly the problem you have hit:

> Unable to handle kernel paging request at virtual address f2590000
> printing eip:
> c01a99a1
> *pde = 004b1067
> *pte = 32590000
> Oops: 0002 [#1]
> DEBUG_PAGEALLOC
> CPU: 0
> EIP: 0060:[<c01a99a1>] Not tainted
> EFLAGS: 00010246 (2.6.6)
> EIP is at encode_entry+0x51/0x530
> eax: cc010000 ebx: 00000000 ecx: 000001cc edx: f32dcdf8
> esi: f258fffc edi: d4ec21cc ebp: 000001e0 esp: ebfd9b98

Note that "esi" is pointing to 4 bytes from the end of a page, and you
are getting a bad reference at the start of the next page.
The code is storing a 64bit value here, and it doesn't fit.

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

\
 
 \ /
  Last update: 2005-03-22 14:03    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean