[OpenAFS] Fwd: Bug#430179: Oops loading openafs module on kernel 2.6.22-rc3

Chaskiel M Grundman cg2v@andrew.cmu.edu
Thu, 28 Jun 2007 10:12:08 -0400


--On Saturday, June 23, 2007 12:41:36 AM -0700 Russ Allbery 
<rra@debian.org> wrote:
> [1316.717214] Unable to handle kernel paging request at ffffffff80585000 
RIP:
> [ 1316.717266] PGD 203067 PUD 205063 PMD 7c05c163 PTE 585000
> [ 1316.717274] Oops: 0000 [1] SMP

'Oops: 0000' means that this was a read of a non-present page, not a write, 
implying that we've run up against some sort of guard page (or have run off 
the end of mapped kernel memory).

Assuming that you don't want to just give up and rip the syscall stuff out, 
you'll need to make a copy of osi_probe.c:check_writable, remove the '|| 
!pte_write(*pte)', and call it "check_readable'.
Then, somewhere,  probably in try() and try_harder() near the comparison to 
init_mm.start_code, call it. You will also need to figure out where the 
32bit syscall table moved to, and adjust ia32_probe accordingly. (it's 
probably another init_mm -> generic_ro_fops thing)