sting sting
2005-04-13 12:00:09 UTC
Hello,
From all what I had read on the Linux Kernel I understand
that when we call fork() from an application then a new proess
is created, and its memory is copied from the process that
created it but it is now SHARED and READ-ONLY.
My architecture is Intel x86.
I had tried to locate where exactly in the sources this happens;
(namely , where is setting to SHARED and READ-ONLY made for the new
process).
I had looked at kernel/fork.c in 2.4.20 (and also 2.6.7) kernel.
In 2.4.20,there is a method named do_fork(); what seems relevant to memory
copying seems to me the call inside to copy_mm() which calls dup_mm().
I had looke at the code of theses methods and could not find a code where
there is a setting to SHARED and READ-ONLY for the pages
of the memory for the new process; any idea?
I want to clarify one more thing: I assume that the memory of the old
process which called fork() remains with the same privileges as it was
before calling fork
(Namely , if it was R/W before fork() it will stay R/W also after fork()).
Regards,
Sting
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/
From all what I had read on the Linux Kernel I understand
that when we call fork() from an application then a new proess
is created, and its memory is copied from the process that
created it but it is now SHARED and READ-ONLY.
My architecture is Intel x86.
I had tried to locate where exactly in the sources this happens;
(namely , where is setting to SHARED and READ-ONLY made for the new
process).
I had looked at kernel/fork.c in 2.4.20 (and also 2.6.7) kernel.
In 2.4.20,there is a method named do_fork(); what seems relevant to memory
copying seems to me the call inside to copy_mm() which calls dup_mm().
I had looke at the code of theses methods and could not find a code where
there is a setting to SHARED and READ-ONLY for the pages
of the memory for the new process; any idea?
I want to clarify one more thing: I assume that the memory of the old
process which called fork() remains with the same privileges as it was
before calling fork
(Namely , if it was R/W before fork() it will stay R/W also after fork()).
Regards,
Sting
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/