Hi... > We are sending ICMP echo requests inside an iptables module. > The 'match' function of the module invokes the 'send_probe' method, > which sends the ICMP echo request over a socket, that we > keep reusing for that purpose. > We also add a struct timespec to the ICMP data to measure the RTT. > > Developing in User Mode Linux we get the following > "sleeping function called from invalid context" warning > everytime the ICMP paket is send, still the module works and > continues to do so. The message itself is quite clear IMHO, you did something blocking in atomic/ interrupt disabled area. The question is, which one? Looking from stack trace, I have a pretty good guess that it is sock_create_kern() that cause the trouble. The solution is, if you really need to create a socket, somehow creates the socket outside the iptables matching/filtering context. Hope it helps. regards, Mulyadi -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/