Bug in sendto() causes OOPS when using RAW sockets

Bug in sendto() causes OOPS when using RAW sockets

Post by David S. Mille » Fri, 24 Aug 2001 01:30:08

   Date: Wed, 22 Aug 2001 19:07:36 +0300

   I attached a small patch to fix this issue, a C program for testing the
   problem and my OOPS log.

Thanks, I've applied your fix to my tree.

David S. Miller

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


1. Raw sockets, sendto() and IP total length?

I am currently writing a small test program which uses raw sockets
under Linux. I have looked in Stevens' UNPvol1, the Raw IP Networking
FAQ and a few other sources for an answer to the following question,
but have not succeeded in finding one.

Is there a way to disable the kernel from overwriting the IP total
length value which I manually have written into the IP header when
using raw sockets?

The packet generated by sendto() have an IP total length which equals
argument number three in sendto() instead of the value which I wrote
into the header. This is not what I want to do, since I want to
generate an IP packet with a IP total length field which is different
from the packet's actual length.

According to UNPvol1, only the IP checksum should be generated by the
kernel if IP_HDRINCL is set (which it is) and the IP version if it was
set to zero. tcpdump says otherwise when I use it to observe the
generated packet.


2. file systems, find?

3. RAW socket when sendto() always return -1(ENOBUFS) ???????

4. Where to Buy a Unix Web Server?

5. Sending Raw packet using PF_PACKET and sendto -

6. getmsg()

7. New: bug in module parameters causes an oops

8. Problems Configuring Modem

9. Problem using sendto(...) with packet sockets?

10. PATCH for Multicast bug in RAW IP sockets 2.4.0

11. PROBLEM: Using initrd loaded from syslinux causes oops during boot

12. raw IP and raw ICMP socket???

13. kernel BUG at ll_rw_blk.c:1336 using RAW IO