Messages in this thread | | | Date | Fri, 8 Oct 2004 16:18:37 +0100 | From | Luke Kenneth Casson Leighton <> | Subject | Re: how do you call userspace syscalls (e.g. sys_rename) from inside kernel |
| |
On Fri, Oct 08, 2004 at 10:02:08AM -0400, Brian Gerst wrote: > Luke Kenneth Casson Leighton wrote: > >could someone kindly advise me on the location of some example code in > >the kernel which calls one of the userspace system calls from inside the > >kernel? > > > >alternatively if this has never been considered before, please could > >someone advise me as to how it might be achieved? > > What are you trying to do?
call sys_rename, sys_pread, sys_create, sys_mknod, sys_rmdir etc. - everything that does file access.
> In most cases needing to use syscalls from > within the kernel is an indication of a design flaw.
in this case it's an attempt to avoid cutting and pasting the entire contents of sys_rename, sys_pread, sys_this, sys_that, removing the first couple and last few lines (that do copy_from_user) and replacing the arguments with either a dentry or a kernel-side char* instead of an __user char*.
my alternative is to patch every single vfs-related sys_* in fs/*.c to be able to "plug in" to these functions.
l.
- 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/
| |