lkml.org 
[lkml]   [2002]   [Mar]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: fadvise syscall?
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).

-
-
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/

\
 
 \ /
  Last update: 2005-03-22 13:25    [W:0.108 / U:1.888 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site