calling strace is giving oops - Linux

This is a discussion on calling strace is giving oops - Linux ; Now my problem is, When I insert the module and then call strace on any executable ( e.g. i simple "Hello World" program).... strace fails and kernel gives oops ... Below is the dmesg log.... Can someone has any idea ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: calling strace is giving oops

  1. calling strace is giving oops

    Now my problem is,

    When I insert the module and then call strace on any executable ( e.g.
    i simple "Hello World" program).... strace fails and kernel gives
    oops ...
    Below is the dmesg log....

    Can someone has any idea wt might be the reason?
    It is showing NULL pointer dereference at virtual address
    00000000 ...
    My module is used for providing buffer overflow protection.
    It's doing this by hooking into syscalltable...



    <1>Unable to handle kernel NULL pointer dereference at virtual address
    00000000
    printing eip:
    00000000
    *pde = 00000000
    Oops: 0000 [#24]
    CPU: 0
    EIP: 0060:[<00000000>] Tainted: GF U
    EFLAGS: 00010213 (2.6.5-7.97-default)
    EIP is at 0x0
    eax: 00000000 ebx: bffff070 ecx: cdc56690 edx: 00000000
    esi: bffff070 edi: bfffefe4 ebp: c9eca000 esp: c9ecbfc0
    ds: 007b es: 007b ss: 0068
    Process a.out (pid: 30280, threadinfo=c9eca000 task=cdc56690)
    Stack: c0107e27 bffff070 00000000 400144d5 bffff070 bfffefe4 bfffeeb4
    ffffffda
    0000007b 0000007b 00000005 40011c64 00000073 00000212 bfffee20
    0000007b
    Call Trace:
    [] syscall_call+0x7/0xb

    Code: Bad EIP value.

  2. Re: calling strace is giving oops

    Ashish Kumar wrote:
    > Now my problem is,
    >
    > When I insert the module and then call strace on any executable ( e.g.
    > i simple "Hello World" program).... strace fails and kernel gives
    > oops ...
    > Below is the dmesg log....
    >
    > Can someone has any idea wt might be the reason?
    > It is showing NULL pointer dereference at virtual address
    > 00000000 ...
    > My module is used for providing buffer overflow protection.
    > It's doing this by hooking into syscalltable...
    >
    >
    >
    > <1>Unable to handle kernel NULL pointer dereference at virtual address
    > 00000000
    > printing eip:
    > 00000000
    > *pde = 00000000
    > Oops: 0000 [#24]
    > CPU: 0
    > EIP: 0060:[<00000000>] Tainted: GF U
    > EFLAGS: 00010213 (2.6.5-7.97-default)
    > EIP is at 0x0
    > eax: 00000000 ebx: bffff070 ecx: cdc56690 edx: 00000000
    > esi: bffff070 edi: bfffefe4 ebp: c9eca000 esp: c9ecbfc0
    > ds: 007b es: 007b ss: 0068
    > Process a.out (pid: 30280, threadinfo=c9eca000 task=cdc56690)
    > Stack: c0107e27 bffff070 00000000 400144d5 bffff070 bfffefe4 bfffeeb4
    > ffffffda
    > 0000007b 0000007b 00000005 40011c64 00000073 00000212 bfffee20
    > 0000007b
    > Call Trace:
    > [] syscall_call+0x7/0xb
    >
    > Code: Bad EIP value.


    Just an educated guess: As it's your application that causes the Oops
    and noone else, maybe your module isn't correctly hooking into the
    syscall table. As I understand it (never been there, never done that),
    doing that is a nontrivial thing.
    How about you dump some part of the syscall table before and after you
    hook into it and see if the hook is been done correctly.

    --
    These are my personal views and not those of Fujitsu Siemens Computers!
    Josef Möllers (Pinguinpfleger bei FSC)
    If failure had no penalty success would not be a prize (T. Pratchett)
    Company Details: http://www.fujitsu-siemens.com/imprint.html


  3. Re: calling strace is giving oops

    On Dec 12, 12:42 pm, Josef Moellers siemens.com> wrote:
    > Ashish Kumar wrote:
    > > Now my problem is,

    >
    > > When I insert the module and then call strace on any executable ( e.g.
    > > i simple "Hello World" program).... strace fails and kernel gives
    > > oops ...
    > > Below is the dmesg log....

    >
    > > Can someone has any idea wt might be the reason?
    > > It is showing NULL pointer dereference at virtual address
    > > 00000000 ...
    > > My module is used for providing buffer overflow protection.
    > > It's doing this by hooking into syscalltable...

    >
    > > <1>Unable to handle kernel NULL pointer dereference at virtual address
    > > 00000000
    > > printing eip:
    > > 00000000
    > > *pde = 00000000
    > > Oops: 0000 [#24]
    > > CPU: 0
    > > EIP: 0060:[<00000000>] Tainted: GF U
    > > EFLAGS: 00010213 (2.6.5-7.97-default)
    > > EIP is at 0x0
    > > eax: 00000000 ebx: bffff070 ecx: cdc56690 edx: 00000000
    > > esi: bffff070 edi: bfffefe4 ebp: c9eca000 esp: c9ecbfc0
    > > ds: 007b es: 007b ss: 0068
    > > Process a.out (pid: 30280, threadinfo=c9eca000 task=cdc56690)
    > > Stack: c0107e27 bffff070 00000000 400144d5 bffff070 bfffefe4 bfffeeb4
    > > ffffffda
    > > 0000007b 0000007b 00000005 40011c64 00000073 00000212 bfffee20
    > > 0000007b
    > > Call Trace:
    > > [] syscall_call+0x7/0xb

    >
    > > Code: Bad EIP value.

    >
    > Just an educated guess: As it's your application that causes the Oops
    > and noone else, maybe your module isn't correctly hooking into the
    > syscall table. As I understand it (never been there, never done that),
    > doing that is a nontrivial thing.
    > How about you dump some part of the syscall table before and after you
    > hook into it and see if the hook is been done correctly.
    >
    > --
    > These are my personal views and not those of Fujitsu Siemens Computers!
    > Josef Möllers (Pinguinpfleger bei FSC)
    > If failure had no penalty success would not be a prize (T. Pratchett)
    > Company Details:http://www.fujitsu-siemens.com/imprint.html- Hide quoted text -
    >
    > - Show quoted text -


    Thanks , i see that ..

+ Reply to Thread