From: Gleb Natapov <gleb@minantech.com>
To: "Abu M. Muttalib" <abum@aftek.com>
Cc: linux-mm@kvack.org
Subject: Re: vfork implementation...
Date: Wed, 14 Jun 2006 13:16:23 +0300 [thread overview]
Message-ID: <20060614101623.GE17758@minantech.com> (raw)
In-Reply-To: <BKEKJNIHLJDCFGDBOHGMCEEGCPAA.abum@aftek.com>
On Wed, Jun 14, 2006 at 03:47:07PM +0530, Abu M. Muttalib wrote:
> HI,
>
> Should the wording be interpreted as "should not write"?
>
Yes. After vfork() a child and a parent share an address space. Whatever a child
does to memory is visible in a parent.
> ~Abu.
>
> -----Original Message-----
> From: Gleb Natapov [mailto:gleb@minantech.com]
> Sent: Wednesday, June 14, 2006 3:37 PM
> To: Abu M. Muttalib
> Cc: linux-mm@kvack.org
> Subject: Re: vfork implementation...
>
>
> On Wed, Jun 14, 2006 at 03:33:27PM +0530, Abu M. Muttalib wrote:
> > I meant, its NOT ALLOWED, still program is ABLE to do so.. hence the
> > wordings..
> >
> The only thing a process ALLOWED to do after vfork() is exec(), but it is
> ABLE to do whatever it wants to do. I am not ALLOWED to drive while drunk,
> but I am ABLE to.
>
>
> > ~Abu.
> >
> > -----Original Message-----
> > From: owner-linux-mm@kvack.org [mailto:owner-linux-mm@kvack.org]On
> > Behalf Of Gleb Natapov
> > Sent: Wednesday, June 14, 2006 3:16 PM
> > To: Abu M. Muttalib
> > Cc: linux-mm@kvack.org
> > Subject: Re: vfork implementation...
> >
> >
> > On Wed, Jun 14, 2006 at 03:11:58PM +0530, Abu M. Muttalib wrote:
> > > Hi,
> > >
> > > This mail is intended for Robert Love, I hope I can find him on the
> list.
> > >
> > > Please refer to Pg 24 of chapter 2 of Linux Kernel Development.
> > >
> > > As mentioned in the description of vfork call, it is said that child is
> > not
> > > allowed to write to the address space, but in the following example its
> > not
> > > so. The child is able to write to the process address space. This
> program
> > > was tested with Linux Kernel 2.6.9. Why is it so?
> > >
> > Not allowed and not able are two different things.
> >
> > > fork.c
> >
> > --------------------------------------------------------------------------
> > --
> > > ---------------------------------------
> > > #include <stdio.h>
> > >
> > > unsigned char *glob_var = NULL;
> > >
> > > void main()
> > > {
> > > int pid = -8,i;
> > > pid = vfork();
> > >
> > > if(pid < 0)
> > > printf("\n FORK ERROR \n");
> > >
> > > if(pid == 0)
> > > {
> > > unsigned char * local_var = NULL;
> > > local_var = (unsigned char *)malloc(5);
> > > strcpy(local_var,"ABCD");
> > > glob_var = local_var;
> > > printf("\nCHILD :Value of glob_var is %X local_var is %X glob_var is
> %c
> > > \n",glob_var,local_var,*glob_var);
> > > for(i=0;i<4;i++)
> > > {
> > > printf("\n CHAR is %c \n",glob_var[i]);
> > > }
> > > printf("\nCHILD1 :Value of glob_var is %X %c\n",glob_var,*(glob_var));
> > > }
> > >
> > > if(pid > 0)
> > > {
> > > printf("\nParent : Value of glob_var is %X
> %c\n",glob_var,*(glob_var));
> > > free(glob_var);
> > > printf("\nParent : Value of glob_var is %X
> %c\n",glob_var,*(glob_var));
> > > exit(0);
> > > }
> > > }
> >
> > --------------------------------------------------------------------------
> > --
> > > ---------------------------------------
> > >
> > > Regards,
> > > Abu.
> > >
> > > --
> > > To unsubscribe, send a message with 'unsubscribe linux-mm' in
> > > the body to majordomo@kvack.org. For more info on Linux MM,
> > > see: http://www.linux-mm.org/ .
> > > Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
> >
> > --
> > Gleb.
> >
> > --
> > To unsubscribe, send a message with 'unsubscribe linux-mm' in
> > the body to majordomo@kvack.org. For more info on Linux MM,
> > see: http://www.linux-mm.org/ .
> > Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
>
> --
> Gleb.
--
Gleb.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2006-06-14 10:16 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-14 9:41 vfork implementation Abu M. Muttalib
2006-06-14 9:46 ` Gleb Natapov
2006-06-14 10:03 ` Abu M. Muttalib
2006-06-14 10:06 ` Gleb Natapov
2006-06-14 10:17 ` Abu M. Muttalib
2006-06-14 10:16 ` Gleb Natapov [this message]
2006-06-14 10:18 ` Mel Gorman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060614101623.GE17758@minantech.com \
--to=gleb@minantech.com \
--cc=abum@aftek.com \
--cc=linux-mm@kvack.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.