Re: File opening by Kernel threads

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux