lkml.org 
[lkml]   [2003]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectmodule programming blues
Hello Everyone,

I am trying to develop a kernel module that will read
some user input (being given to a file) and perform
certain flag settings based on the information dumped
in the file.

After reading up on the basics of kernel programming
etc (im a newbie), i wrote a code that creates a
character device, and uses ioctl to read and write
from the file kept in user space.

I got sample code from The Linux Kernel Module
Programming Guide by Ori Pomerantz. In chapter 5, it
talks about talking to character devices.

I am able to compile the code, and insmod my module.
The problem is that the function device_open is not
being called on accessing it. It calls device_release
TWICE, and thus reduces reference count by 2, taking
the count in negatives. That way im unable to rmmod
this module.

Also, I am not able to figure out how to interact with
this module. If i cat something onto it, it goes into
an infinite loop echo'ing the file again n again.

If i do "/dev/char_dev < params" where /dev/char_dev
is the device i made using mknod(and giving major
number returned by my module), it gives an error
saying Permission Denied.

Can somebody tell me what i'm doing wrong ? Or give me
some pointers to text that can explain how things work
in a module. I dont know how control flows within a
module once init_module has been called.

Kindly CC replies to dhruvgami@yahoo.com as i am not
subscribed to the list.

thanks in advance
regards,
Gami

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:32    [W:0.062 / U:55.792 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site