Hi Dave & Nilesh, Thanks for your support I fixed it, Regards, hemanth --- On Fri, 24/12/10, Nilesh Tayade <nilesh.tayade@xxxxxxxxxxxx> wrote: > From: Nilesh Tayade <nilesh.tayade@xxxxxxxxxxxx> > Subject: Re: copy_to_user > To: "Dave Hylands" <dhylands@xxxxxxxxx> > Cc: "Srinivas G." <srinivasg@xxxxxxxxxxxxxxxxxxxxx>, "Dexter Haslem" <dexter.haslem@xxxxxxxxx>, "Hemanth Kumar" <hemwire@xxxxxxxxxxx>, "mukti jain" <muktijn@xxxxxxxxx>, Kernelnewbies@xxxxxxxxxxxxxxxxx > Date: Friday, 24 December, 2010, 2:50 PM > On Fri, 2010-12-24 at 01:00 -0800, > Dave Hylands wrote: > > Hi Nilesh. > > > > On Thu, Dec 23, 2010 at 11:59 PM, Nilesh Tayade > > <nilesh.tayade@xxxxxxxxxxxx> > wrote: > > ...snip... > > > I tried it, and it seems adding mutex_init() > works as Mukti mentioned. I > > > did get a kernel oops before (but no segfault). > After adding > > > mutex_init() there is no oops/segfault. The code, > however, is reading > > > the garbage, that needs to be fixed. > > > > char n[20]; > > short a = *((short *)&n[0]); > > short b = *((short *)&n[2]); > > short c = *((short *)&n[4]); > > > > This sets a b and c to have essentially random > values. > > > > nbytes = read( > fd, n, 40); > > > > This causes the value of n to change. However, the > values of a, b, and > > c retain the same random values you assigned them > above. > > > > printf( "\r a = > %d \n ", a); > > printf("\r b = > %d \n",b); > > printf("\r c = > %d \n",c); > > > > This prints the random values of a, b, and c rather > than printing thee > > values of n that you read in. > > Thanks for the explanation Dave. > > I did not really bother to debug to avoid the garbage > values, as the > main concern was for segfault and kernel oops. > > > > > Dave Hylands > > > -- > Thanks, > Nilesh > > _______________________________________________ > Kernelnewbies mailing list > Kernelnewbies@xxxxxxxxxxxxxxxxx > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies