Re: [RFC/PATCH] revoke/frevoke system calls

From: Pekka J Enberg
Date: Sat Jul 22 2006 - 02:20:42 EST


On Thu, 20 Jul 2006 15:07:30 +0300 (EEST)
Pekka J Enberg <penberg@xxxxxxxxxxxxxx> wrote:
> > This patch implements the revoke(2) and frevoke(2) system calls for all
> > types of files.
> >
> > ...
> >
> > - file = fget_light(fd, &fput_needed);
> > + file = fget(fd);

On Fri, 21 Jul 2006, Andrew Morton wrote:
> This is sad.

There are alternatives, playing games with ->f_op, creating fake struct
file, and doing IS_REVOKED if-else in the paths, but I think this is by
far the simplest way to do it. So in the Andrew scale of sads, how
sad is it, exactly?-)

On Thu, 20 Jul 2006 15:07:30 +0300 (EEST)
Pekka J Enberg <penberg@xxxxxxxxxxxxxx> wrote:
> > +static int revoke_files(struct task_struct *owner, struct inode *inode,
> > + struct file *exclude, struct list_head *to_close)
> > +{
> > ...
> > + spin_lock(&files->file_lock);
> > ...
> > + revoked = kmalloc(sizeof(*revoked), GFP_KERNEL);

On Fri, 21 Jul 2006, Andrew Morton wrote:
> This is bad.

Indeed, I'll come up with a better one as soon as I sort out the mmap
takedown issues.

Thanks Andrew.

Pekka
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/