mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Helge Hafting <helge.hafting@aitel.hist.no>
To: Bosko Radivojevic <bosko.radivojevic@gmail.com>
Cc: lkml <linux-kernel@vger.kernel.org>
Subject: Re: Inserting code from userspace to kernel space
Date: Thu, 22 May 2008 16:31:32 +0200	[thread overview]
Message-ID: <483583C4.1080202@aitel.hist.no> (raw)
In-Reply-To: <d6c8ef150805220541v711c5acahc60541e3fd9f44fc@mail.gmail.com>

Bosko Radivojevic wrote:
> Hi!
>
> I'm looking for a way to insert code from user space to the kernel
> space, but without using kernel module. Actually, we are working on a
> system that has to allow end user to change part of code (one or two
> functions) that is executed from the kernel space.
>
> For now we have two different kernel modules, one exporting a function
> which another module uses. Process of compiling kernel module is quite
> ineligible for standard end user (along with the requirement to
> support multi platform cross compiling) compared to just cross
> compiling a simple code that doesn't use any libraries than libc.
>
> I know this sounds quite weird, but maybe there is a project that can help us ;)
>   
Consider telling exactly what you want to do, what is this for?
Perhaps there is a better/more standard way of doing it.

Looks like your end users are capable of compiling ordinary code
but not kernel modules? If this is so, consider just automating
the kernel module part for them. I.e. provide a module that call
a function, they can then make that function and you can make a script
that link their function with your kernel module. Then they won't need
to know much about kernel modules.

But the kernel module can't use libc (and what would you want to
use libc for anyway? libc mostly helps userspace communicate
with the kernel, no _need_ for that when your code is in the
kernel already.)

Or do you merely need your kernel code to run a user supplied program
now and then?  The kernel code can't call userspace code directly,
but you could make a device driver for this purpose.

The userspace code can read from the device, and block. When the kernel
need to run userspace code, it unblocks the userspace program.  If you
need to transfer data to userspace, simply let the userpace program
read the data from your device. and write stuff back, if needed.





  parent reply	other threads:[~2008-05-22 14:31 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-22 12:41 Bosko Radivojevic
2008-05-22 13:06 ` Jan Engelhardt
2008-05-22 14:31 ` Helge Hafting [this message]
2008-05-22 16:04 ` Shuduo Sang
2008-05-25  5:44 ` Alex Belits
2008-05-25  7:18 ` Bart Van Assche
2008-05-26  6:48 ` Geert Uytterhoeven
2008-05-26  9:54 ` Jike Song
2008-05-23 14:30 devzero
2008-05-25  3:37 ` Shuduo Sang
2008-05-25  3:47   ` David Newall
2008-05-25 15:44     ` Shuduo Sang
2008-05-26  9:44     ` Jiri Kosina
2008-05-26 11:49       ` David Newall
2008-05-25  9:35 devzero
2008-05-25 12:21 ` David Newall
2008-05-25 13:14   ` Tom Spink

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=483583C4.1080202@aitel.hist.no \
    --to=helge.hafting@aitel.hist.no \
    --cc=bosko.radivojevic@gmail.com \
    --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

all inboxes | Powered by JetHome®