I've ran into a small problem with the "recv" system call while testing, and wanted some clarification. There's mention of "verify_area() fixes" by Alan, but no actual code. Thus, I'm assuming the fixes meant removing any references of verify_area from socket.c. I have two questions about this: 1) Was this done for performance reasons, and if so, what were they? 2) In the "sys_recvfrom" definition, within socket.c, how does the function handle an invalid address? That is, is there any checking done on the variable "ubuf"? Using the "recv01" test from the LTP testsuite, a test is done to see if the "recv" system call returns EFAULT as documented in the manpage. EFAULT should return when the receive buffer pointer points outside the process's address space. Strangely, the test passes about 20% of the time and fails the remaining 80% . Looking at the code for "recvfrom", I can add the following two lines after line 1253: 1251 sock = sockfd_lookup(fd, &err); 1252 if (!sock) 1253 goto out; ***1254 err2 = verify_area(VERIFY_WRITE, ubuf, size); ***1255 if ( err2 ) return -EFAULT; to handle the situation. However, since I don't know the meaning of the comment from Alan, I'm hesitant to make this change. Any help would be appreciated. Thanks, - Robbie Robert V. Williamson Linux Test Project IBM Linux Technology Center Phone: (512) 838-9295 T/L: 638-9295 http://ltp.sourceforge.net - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html