System-call in Kernel Space
Saket Sinha
saket.sinha89 at gmail.com
Fri Jul 19 03:59:17 EDT 2013
We all know that system-calls are for user-space.
I have a file-system driver where I have to use system calls in
kernel-space.
Normally, we DON'T do any high level IOs from Kernel space (file
creation/reading, and so on). But here in my driver I am stacking FS
drivers, I can't avoid this. This is partly because Linux kernel can't
handle FS stacking (this wouldn't be an issue for Windows, for instance,
which supports stacking),
The simple (and legal) way to create a dir/file whatever is to call system
calls, like, for instance sys_mkdir. The problem is that I am not in a
context where I can call these. Because they expect a call from user mode,
while I am in kernel mode. This is even why I implemented macros such as:
https://github.com/HeisSpiter/hepunion/blob/master/fs/hepunion/hepunion.h#L399.
This one disables all checks from user mode calls, since I am in kernel.
And this allows calling system calls.
This is not a good way so is there any alternative.
Regards,
Saket Sinha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130719/9a1c8c92/attachment.html
More information about the Kernelnewbies
mailing list