Re: how do you call userspace syscalls (e.g. sys_rename) frominside kernel

From: Bernd Petrovitsch
Date: Fri Oct 08 2004 - 10:14:26 EST


On Fri, 2004-10-08 at 16:18 +0100, Luke Kenneth Casson Leighton wrote:
> 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.

Why not implement it in user-space?

Bernd
--
Firmix Software GmbH http://www.firmix.at/
mobil: +43 664 4416156 fax: +43 1 7890849-55
Embedded Linux Development and Services

-
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/