Re: allocate memory in userspace

From: Timo Benk (t_benk@web.de)
Date: Tue Jul 02 2002 - 05:21:55 EST


On Tue, Jul 02, 2002 at 11:30:34AM +0200, Andi Kleen wrote:
> Timo Benk <t_benk@web.de> writes:
>
> > I am a kernel newbie and i am writing a module. I
> > need to allocate some memory in userspace because
> > i want to access syscalls like open(), lstat() etc.
> > I need to call these methods in the kernel, and in
> > my special case there is no other way, but i
> > do not want to reimplement all the syscalls.
> >
> > I read that it should be possible, but i cannot
> > find any example or recipe on how to do it.
>
> mm_segment_t oldfs = get_fs();
> set_fs(KERNEL_DS);
> ret = sys_yoursyscall(kernelargs ...)
> set_fs(oldfs);
Thank you very much for that hint.

> Do not even think about using mmap or accessing sys_call_table for this.
> Your other post was so tasteless that it would be good if you retracted
> it with a followup because it would be very bad to have such an bad example
> in the l-k archives open to innocent search machine users uncommented.
I will post a followup, but please tell me
a) a good doc for that topic where i can read why it is so bad
b) a reference for the do_mmap call

While searching through the ng archives i just found (lots of) hints
that this can be done with mmap, so that was my approach to solve
the problem.

Maybe it will be better that you (or any other) will comment what
is so bad, as i told in my first post i am a newbie, so please keep
that in mind.

-timo

-- 
gpg key fingerprint = 6832 C8EC D823 4059 0CD1  6FBF 9383 7DBD 109E 98DC

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



This archive was generated by hypermail 2b29 : Sun Jul 07 2002 - 22:00:09 EST