Messages in this thread | | | Date | Mon, 18 Mar 2002 12:15:25 -0700 | From | Richard Gooch <> | Subject | Re: fadvise syscall? |
| |
Andrew Morton writes: > Richard Gooch wrote: > > > > Andrew Morton writes: > > > Note that it applies to a file descriptor. If > > > posix_fadvise(FADV_DONTNEED) is called against a file descriptor, > > > and someone else has an fd open against the same file, that other > > > user gets their foot shot off. That's OK. > > > > Let me verify that I understand what you're saying. Process A and B > > independently open the file. The file is already in the cache (because > > other processes regularly read this file). Process A is slowly reading > > stuff. Process B does FADV_DONTNEED on the whole file. The pages are > > dropped. > > > > You're saying this is OK? How about this DoS attack: > > int fd = open ("/lib/libc.so", O_RDONLY, 0); > > while (1) { > > posix_fadvise (fd, 0, 0, FADVISE_DONTNEED); > > sleep (1); > > } > > > > Let me see that disc head move! Wheeee! > > > > POSIX_FADV_DONTNEED could only unmap pages from the caller's > VMA's, so the problem would only affect other processes which > share the same mm - CLONE_MM threads. > > If some other process has a reference on the pages then they > wouldn't get unmapped as a result of this. It's the same > as madvise(MADV_DONTNEED).
OK, I misparsed what you had said. Good.
Regards,
Richard.... Permanent: rgooch@atnf.csiro.au Current: rgooch@ras.ucalgary.ca - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |