[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20110429081832.GA1465@linux.develer.com>
Date: Fri, 29 Apr 2011 10:18:32 +0200
From: Andrea Righi <andrea@...terlinux.com>
To: Joel Becker <jlbec@...lplan.org>
Cc: Dave Chinner <david@...morbit.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Al Viro <viro@...iv.linux.org.uk>,
Arnd Bergmann <arnd@...db.de>, linux-fsdevel@...r.kernel.org,
linux-api@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC] [PATCH] drop_pagecache syscall
On Thu, Apr 28, 2011 at 04:22:10PM -0700, Joel Becker wrote:
> On Wed, Apr 27, 2011 at 11:01:28AM +0200, Andrea Righi wrote:
> > On Wed, Apr 27, 2011 at 10:14:53AM +1000, Dave Chinner wrote:
> > > On Tue, Apr 26, 2011 at 11:35:27PM +0200, Andrea Righi wrote:
> > > > Introduce sys_drop_pagecache() system call to drop the page cache pages of
> > > > a single filesystem.
> <snip>
> > > > This functionality can be used by all the applications that want to have a
> > > > better control over the page cache management (for example to immediately drop
> > > > pages that for sure will not be reused in the near future, without calling
> > > > posix_fadvise() for all the files they've touched), or to provide a more fine
> > > > grained debugging feature usable by the filesystem benchmarks.
> > > >
> > > > The system call does not require root privileges and it can be called by any
> > > > unprivileged application. For example, we can write a userspace tool to run
> > > > something like this:
> > > >
> > > > $ drop-pagecache /path/file_or_dir
> > >
> > > That's a potential DOS vector, I think. Drop the pagecache in a hard
> > > loop on the root fs of a busy server and watch it crawl...
> >
> > Yes, probably we could allow only the CAP_SYS_ADMIN tasks to execute
> > this syscall.
>
> The majority of apps that want this do not run as root. Do we
> want them all setuid? ;-)
Another solution could be to limit the rate of this syscall if executed
by a non-privileged user. And the rate limit could be also configurable
from userspace via /proc/sys/vm/ or something similar.
-Andrea
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists