linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: Andrew Morton <akpm@osdl.org>
Cc: Oleg Drokin <green@linuxhacker.ru>,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: FMODE_EXEC or alike?
Date: Tue, 21 Feb 2006 08:59:56 -0500	[thread overview]
Message-ID: <1140530396.7864.63.camel@lade.trondhjem.org> (raw)
In-Reply-To: <20060220215122.7aa8bbe5.akpm@osdl.org>

On Mon, 2006-02-20 at 21:51 -0800, Andrew Morton wrote:
> Oleg Drokin <green@linuxhacker.ru> wrote:
> >
> > Hello!
> > 
> >    We are working on a lustre client that would not require any patches
> >    to linux kernel. And there are few things that would be nice to have
> >    that I'd like your input on.
> > 
> >    One of those is FMODE_EXEC - to correctly detect cross-node situations with
> >    executing a file that is opened for write or the other way around, we need
> >    something like this extra file mode to be present (and used as a file open
> >    mode when opening files for exection, e.g. in fs/exec.c)
> >    Do you think there is a chance this can be included into vanilla kernel,
> >    or is there a better solution I oversee?
> >    I am just thinking about something as simple as this
> >    (with some suitable FMODE_EXEC define, of course):
> > 
> > --- linux/fs/exec.c.orig	2006-02-21 00:11:47.000000000 +0200
> > +++ linux/fs/exec.c	2006-02-21 00:12:24.000000000 +0200
> > @@ -127,7 +127,7 @@ asmlinkage long sys_uselib(const char __
> >  	struct nameidata nd;
> >  	int error;
> >  
> > -	error = __user_path_lookup_open(library, LOOKUP_FOLLOW, &nd, FMODE_READ);
> > +	error = __user_path_lookup_open(library, LOOKUP_FOLLOW, &nd, FMODE_READ|FMODE_EXEC);
> >  	if (error)
> >  		goto out;
> >  
> > @@ -477,7 +477,7 @@ struct file *open_exec(const char *name)
> >  	int err;
> >  	struct file *file;
> >  
> > -	err = path_lookup_open(name, LOOKUP_FOLLOW, &nd, FMODE_READ);
> > +	err = path_lookup_open(name, LOOKUP_FOLLOW, &nd, FMODE_READ|FMODE_EXEC);
> >  	file = ERR_PTR(err);
> >  
> >  	if (!err) {
> > 
> 
> Such a patch would have zero runtime cost.  I'd have no problem carrying
> that if it makes things easier for lustre, personally.
> 
> We would need to understand whether this is needed by other distributed
> filesystems and if so, whether the proposed implementation is suitable and
> sufficient.

Hmm.... We might possibly want to use that for NFSv4 at some point in
order to deny write access to the file to other clients while it is in
use.

Cheers
  Trond


  parent reply	other threads:[~2006-02-21 14:00 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-20 22:19 FMODE_EXEC or alike? Oleg Drokin
2006-02-21  5:51 ` Andrew Morton
2006-02-21 11:30   ` Oleg Drokin
2006-02-21 11:36     ` Andrew Morton
2006-02-21 11:56       ` Oleg Drokin
2006-02-21 13:59   ` Trond Myklebust [this message]
2006-02-21 14:15     ` Antonio Vargas
2006-02-21 14:21       ` Oleg Drokin
2006-02-22  9:57         ` Antonio Vargas
2006-02-21 14:42       ` Trond Myklebust
2006-02-21 23:26     ` J. Bruce Fields
2006-02-21 23:32       ` Trond Myklebust
2006-02-22 19:57         ` J. Bruce Fields
2006-02-22 21:36           ` Trond Myklebust
2006-02-22 22:04             ` J. Bruce Fields
2006-02-22 22:17               ` Trond Myklebust
2006-02-22 23:31                 ` J. Bruce Fields
2006-02-21 10:39 ` Christoph Hellwig
2006-02-22  1:03   ` Chris Wedgwood
2006-02-22  8:59     ` Steven Whitehouse
2006-02-22 21:42       ` J. Bruce Fields
2006-02-22 22:02         ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1140530396.7864.63.camel@lade.trondhjem.org \
    --to=trond.myklebust@fys.uio.no \
    --cc=akpm@osdl.org \
    --cc=green@linuxhacker.ru \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).