Find the answer to your Linux question:
Results 1 to 4 of 4
I have a kernel module that uses netfilter to catch the packets at NF_IP_LOCAL_OUT hook.These are udp packets which encapsulate tcp packets withing them like ip->udp->ip'->tcp. In the hook, I ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Feb 2010
    Posts
    2

    udp packets cause kernel oops in ip_push_pending_frames linux 2.6.23.5


    I have a kernel module that uses netfilter to catch the packets at NF_IP_LOCAL_OUT hook.These are udp packets which encapsulate tcp packets withing them like ip->udp->ip'->tcp.

    In the hook, I strip the ip and udp header out to recover the ip->tcp original packet.Sometimes , I get this message.

    ip_push_pending_frames+0x38b/0x46c

    and it kills my process.

    Any ideas on how to prevent this ? This is very important for me.

    Thank you advanced

  2. #2
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, in Chicago, or in a galaxy far, far away.
    Posts
    11,380
    Without looking at your souce code, there isn't much to say at this point.
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

  3. #3
    Just Joined!
    Join Date
    Feb 2010
    Posts
    2
    the source is as follows:


    iph=(struct iphdr*)skb->network_header;
    skb->data=skb->data+iph->ihl*4+sizeof(struct udphdr);
    skb->len-=iph->ihl*4+sizeof(struct udphdr);
    skb->network_header=skb->data;
    iph=(struct iphdr*)skb->network_header;
    skb->transport_header=skb->data+iph->ihl*4;

  4. #4
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, in Chicago, or in a galaxy far, far away.
    Posts
    11,380
    Someone else might make something of that, but I need more context. If you put your code inside code
    Code:
    /* place code here */
    blocks, it will be easier to read since it will maintain indentation, etc.
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •