From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleg Drokin Subject: FMODE_EXEC or alike? Date: Tue, 21 Feb 2006 00:19:48 +0200 Message-ID: <20060220221948.GC5733@linuxhacker.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: To: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org 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) { Thanks. Bye, Oleg