Petr Vandrovec wrote: > > Problem is with these pointers - reply_buf & server->packet. Now code > will just read packet from server->packet, and write result to > reply_buf, most probably transmiting some random data to network, and > overwriting innocent memory on receiption... I believe that you need > to make copies of server->packet/size for transmission, and some > simillar solution for receive as well. As both request & response can > be up to ~66000 bytes.
Hmm.. I thought server->packet was protected until the packet was completed, independent of the process that issued it. Looking closer I see that this isn't quite the case. How about this... We allocate two buffers at startup, one for outgoing and one for incoming. Then we use these during the actual transmission, copying back and forth as need. Then we just need to avoid the final response copy if the process has gone belly up. Now my next question in that case is, what is the purpose of server->packet. Couldn't this buffer be provided by the caller like the response buffer? Rgds -- -- Pierre Ossman Linux kernel, MMC maintainer http://www.kernel.org PulseAudio, core developer http://pulseaudio.org rdesktop, core developer http://www.rdesktop.org - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/