lkml.org 
[lkml]   [1999]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectCan kill any 2.2.x kernel (When compiled with address translation)


    Hello,

    I've got kernel panic in kernels 2.2.4 - 2.2.10 (those I've tested) on
    both gcc and egcs compiled kernels.
    This is possible that it does not work in the older kernels but those
    I've
    not tested.

    I am using ip utility for seting up networking (NAT)

    ip lin set lo up
    ip lin set eth0 up
    ip lin set eth1 up
    ip lin set eth2 up
    ip addr add 127.0.0.1/8 dev lo brd + scope host
    ip addr add 10.0.0.1/16 dev eth0 brd +
    ip addr add 10.1.0.1/24 dev eth1 brd +
    ip addr add 192.168.0.20/24 dev eth2 brd +
    ip route add 0.0.0.0/0 via 192.168.0.1 scope global

    ip route add nat 192.168.0.23/32 via 10.0.0.23
    ip rule add prio 32 from 10.0.0.23 nat 192.168.0.23

    the 192.168- simulates for me external netowrk and the 10.0 the
    internal

    Any ping -R through the NAT fiirewal causes oops.
    Othervise the configuration works
    well (traceroute , ping, ping -f tracepath - everithing work as it
    should.) The only ping -R is a devil.

    For example when I try to ping -R from 10.0.0.23 to "internet"
    (In my example some computer on 192.168.x.y the kernel oopses.

    Options used: -V (default)
    -o /lib/modules/2.2.10/ (default)
    -k /proc/ksyms (default)
    -l /proc/modules (default)
    -m /boot/System.map (specified)
    -c 1 (default)

    Unable to handle kernel NULL pointer dereference at virtual address
    0000008c
    current->tss.cr3 = 00101000, %cr3 = 00101000
    *pde = 00000000
    Oops: 0000
    CPU: 0
    EIP: 0010:[<c0166829>]
    EFLAGS: 00010246
    eax: 00000000 ebx: 00000000 ecx: 00000000 edx: c0ffb320
    esi: 0300010a edi: 000000fe ebp: c2dcf834 esp: c01d5e74
    ds: 0018 es: 0018 ss: 0018
    Process swapper (pid: 0, process nr: 0, stackpage=c01d5000)
    Stack: 00000002 c016955e 00000000 0300010a 000000fe c0152342 c01d5e9c
    c3d99ecc
    c3d99ecc 00000000 c3c5fd88 fe0aa920 c0ffb320 c01caaa0 c015664b
    c2dcf847
    c2c81140 c3d99ecc c2dcf820 00000002 c01d5f00 c0155630 c2dcf820
    c2c81140
    Call Trace: [<c016955e>] [<c0152342>] [<c015664b>] [<c0155630>]
    [<c015577d>]
    [<c0145fdd>] [<c0154abd>]
    [<c01477ed>] [<c0115d41>] [<c0108c13>] [<c0107a70>]
    [<c0106281>]
    [<c0106000>] [<c01062a4>] [<c01079b4>]
    [<c0106000>] [<c010607b>] [<c0106000>] [<c0100176>]
    Code: 8b 81 8c 00 00 00 85 c0 74 7d 8b 50 04 eb 1c 31 c0 8a 42 1c

    >>EIP: c0166829 <inet_select_addr+11/a0>
    Trace: c016955e <__fib_res_prefsrc+1a/20>
    Trace: c0152342 <ip_rt_get_source+42/74>
    Trace: c015664b <ip_forward_options+5b/178>
    Trace: c0155630 <ip_forward+2e0/550>
    Trace: c015577d <ip_forward+42d/550>
    Trace: c0145fdd <__kfree_skb+a1/a8>
    Trace: c01477ed <net_bh+179/1d4>
    Trace: c0106000 <get_options+0/74>
    Trace: c0106000 <get_options+0/74>
    Code: c0166829 <inet_select_addr+11/a0> 00000000 <_EIP>: <===
    Code: c0166829 <inet_select_addr+11/a0> 0: 8b 81 8c 00 00
    movl 0x8c(%ecx),%eax <===
    Code: c016682e <inet_select_addr+16/a0> 5: 00
    Code: c016682f <inet_select_addr+17/a0> 6: 85 c0
    testl %eax,%eax
    Code: c0166831 <inet_select_addr+19/a0> 8: 74 7d
    je
    c01668b0 <inet_select_addr+98/a0>
    Code: c0166833 <inet_select_addr+1b/a0> a: 8b 50 04
    movl 0x4(%eax),%edx
    Code: c0166836 <inet_select_addr+1e/a0> d: eb 1c
    jmp c0166854 <inet_select_addr+3c/a0>
    Code: c0166838 <inet_select_addr+20/a0> f: 31 c0
    xorl %eax,%eax
    Code: c016683a <inet_select_addr+22/a0> 11: 8a 42 1c
    movb 0x1c(%edx),%al

    Aiee, killing interrupt handler
    Kernel panic. Attempted to kill the idle task!
    In swapper task - not syncing

    1 warning issued. Results may not be reliable.


    Richard Bouska
    Richard@Bouska.cz

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

    \
     
     \ /
      Last update: 2005-03-22 13:52    [W:0.027 / U:0.896 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site