lkml.org 
[lkml]   [2008]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: BUG: 2.6.25-rc1: iptables postrouting setup causes oops
    On Wed, 13 Feb 2008 10:10:24 +0100
    Haavard Skinnemoen <hskinnemoen@atmel.com> wrote:

    > > > ip_tables: (C) 2000-2006 Netfilter Core Team
    > > > nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
    > > > Unable to handle kernel paging request at virtual address d76a7138
    > > > ptbr = 91d3b000 pgd = 0000e5f3 pte = 00014370
    >
    > Hmm. It actually found something in the pte? Looks like a swap
    > entry...but that doesn't make sense at that virtual address. Userspace
    > is below 0x80000000.

    (...)

    > > If so, the bug could be almost anywhere - in slab, or in some random piece
    > > of code which scribbles on slab's data structures.
    >
    > Yes, it looks like memory corruption, especially since the page table
    > appears to be corrupted as well. But I'll have a look and see if the
    > code that dumps the pte is doing something bogus...

    Yes, that code is indeed buggy. The below patch should fix it, although
    the page tables probably won't contain anything interesting, and it
    could still be a memory corruption issue. And it definitely won't fix
    the real issue.

    I have a couple of patches that will eliminate the need for this fixup
    (and probably improve performance as well), but they are probably 2.6.26
    material.

    Haavard

    diff --git a/arch/avr32/mm/fault.c b/arch/avr32/mm/fault.c
    index 6560cb1..ce4e429 100644
    --- a/arch/avr32/mm/fault.c
    +++ b/arch/avr32/mm/fault.c
    @@ -189,6 +189,8 @@ no_context:

    page = sysreg_read(PTBR);
    printk(KERN_ALERT "ptbr = %08lx", page);
    + if (address >= TASK_SIZE)
    + page = (unsigned long)swapper_pg_dir;
    if (page) {
    page = ((unsigned long *)page)[address >> 22];
    printk(" pgd = %08lx", page);

    \
     
     \ /
      Last update: 2008-02-13 12:33    [W:0.048 / U:1.344 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site