linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* vfork implementation...
@ 2006-06-14  9:41 Abu M. Muttalib
  2006-06-14  9:46 ` Gleb Natapov
  2006-06-14 10:18 ` Mel Gorman
  0 siblings, 2 replies; 7+ messages in thread
From: Abu M. Muttalib @ 2006-06-14  9:41 UTC (permalink / raw)
  To: linux-mm

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?

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>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2006-06-14 10:18 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
2006-06-14 10:18 ` Mel Gorman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox