On 04/01/2012 03:03 PM, H. Peter Anvin wrote: > On 04/01/2012 05:57 AM, Alexey Dobriyan wrote: >> >> * /proc/self/fd is unreliable: >> proc may be unconfigured or not mounted at expected place. >> Looking at /proc/self/fd requires opening directory >> which may not be available due to malicious rlimit drop or ENOMEM situations. >> Not opening directory is equivalent to dumb close(2) loop except slower. >> > > This is really the motivation for this... the real question is how much > functionality is actually available in the system without /proc mounted, > and in particular if this particular subcase is worth optimizing ... > after all, if someone is maliciously setting rlimit, we can just abort > (if someone can set an rlimit they can also force an abort) or revert to > the slow path. > A few more observations: - There is a huge backwards compatibility problem with this for a substantial transition period; using /proc/self/fd has worked for a very long time already. - Your nextfd() system call will require more system calls that the typical case for reading /proc/self/fd, because each getdents() system call handles multiple readdir() invocations. -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html