nilesh.tayade at netscout.com
Fri Dec 24 04:20:45 EST 2010
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 at netscout.com> wrote:
> > 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;
> short a = *((short *)&n);
> short b = *((short *)&n);
> short c = *((short *)&n);
> 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
More information about the Kernelnewbies