Re: A problem with ktimer

From: Steven Rostedt
Date: Thu Nov 17 2005 - 12:29:50 EST


On Thu, 2005-11-17 at 16:39 +0100, Claudio Scordino wrote:
> Hi,
>
> I know that ktimer is not yet part of the main tree of the Linux kernel.
>
> However, maybe someone can help me to understand why the following code in a
> module makes crash my x86_64.
>
> Many thanks,
>
> Claudio
>
>
>
> struct ktimer mytimer;
>
> void myfunction()
> {
> int i;
> }
>
>
> static int module_insert(void)
> {
> ktime_t mytime = ktime_set(1,0);
> mytimer.function = myfunction;
> mytimer.data = NULL;
> ktimer_init(&mytimer);
> ktimer_start(&mytimer, &mytime, KTIMER_REL);
> //...
> }

You must do the ktimer_init first!

So the order must be:

ktimer_init(&mytimer);
mytimer.function = myfunction;
mytimer.data = NULL;
//...

Think of ktimer_init like memset(...) (since it actually does a memset)

You wouldn't do;

struct myvar;

myvar.my_field = 1;
memset(&myvar, 0, sizeof(myvar));

Right ;-)

-- Steve


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/