On Sat, Jul 12, 2003 at 09:13:29PM -0700, kernel rakshakudu wrote: > fd=sys_open("/tmp/examplethread",O_CREAT | > O_WRONLY,S_IRWXU); Calling systemcalls from within kernel address space is in general not supported. If you follow the sys_open() execute path, you'll see a function whose purpose is to copy the filename from userspace to kernel address space. This function does not like to copy from kernelspace to kernelspace, as a result of the segmented architecture used in many of the processors Linux runs on. So, uh, you should (a) avoid reasons to write to files from within modules (b) if you must, un-wrap the sys_open() systemcall to avoid marshalling data across the protection boundary. -- "It seems the power has been robbed from the founding fathers and is now firmly in the hand of the funding fathers." -- Rik van Riel
Attachment:
pgp00476.pgp
Description: PGP signature