2012/2/22 Ezequiel García <[email protected]>:
> Hi Arokux,
>
> On 2/22/12, Arokux B. <[email protected]> wrote:
>> Having my code as a module I can trigger its execution (load a module)
>> and disable it (unload a module). How can I achieve this if the code
>> is inside the kernel? One possibility I see is adding an entry in the
>> procfs.
>
> I think you want to have the kernel execute some code of yours just for 
> learning
> purposes right?
> So, your question could be put like this:
> Where are the "doors" for me -userspace- to enter to the kernel?
>
> In that case, I believe the "canonical" answer is: system calls.
> If you have a copy of Love's book you could look there, or you could
> just search through the
> code and look how system calls are implemented and add own of your own.
> Perhaps you could even modify one. You can search all syscalls definitions 
> with:
>
> grep "SYSCALL_DEFINE" `find . -name "*.c"`
>
> Actually, that's the path I would take if I were to try this. You can
> pick a simple syscall
> like "getcwd", defined in fs/dcache.c and just add my test code there. That 
> way
> every time you call pwd in your shell, you get your code called (you
> can check with
> strace).
>
> Hope this helps,
> Ezequiel.
>

This is also a good summary of Kernel space / User space interfaces

http://people.ee.ethz.ch/~arkeller/linux/kernel_user_space_howto.html

Hope it helps,

-- 
Javier Martínez Canillas
(+34) 682 39 81 69
Barcelona, Spain

_______________________________________________
Kernelnewbies mailing list
[email protected]
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to