Programming :: Kernel Module - Task_struct / Files Struct, Open_fds, And The Open File Descriptors In Task?
May 1, 2010
This for Kernel 2.6.29.6. I'm trying to code a kernel module that displays process information.
how to count opened file descriptors per task. I have been able to write a module that lists all the current process names along with their pid number in /var/log/messages. Basically, I cycle through the ring of processes using the macro for_each_process(task) and printk the comm and pid of each task. I'm trying to see how many file descriptors each task has open. I've been reading up in books and all over the internet. At first I thought I needed to access max_fds under files_struct, but that just lists the maximum number of file descriptors that can be opened per task, which by default is set at 256. I then thought about counting the elements in the fd_array. But then I learned that every task's fd_array is initially set at 32. Now I know that I need to access open_fds of type fd_set * in files_struct. open_fds is a pointer to all the open file descriptors. The problem is that I don't know how to access a pointer of type fd_set.
Is there a good guide or book that really focuses on type fd_set and open_fds? Every book and resource I've read never really go into depth on this. relationship between files struct, open_fds, and the open file descriptors in task?
View 4 Replies
ADVERTISEMENT
Jun 27, 2010
I am interested in using fortran and an external library called matio used to save arrays to matlab .mat files. I have installed the matio and matio-dev packages from synaptics but i cannot compile a code receiving an error Code: christos@christos-laptop:~/Desktop$ gfortran -o test test.f90 -lmatio -lz test.f90:2.13: USE MATIO 1
Fatal Error: Can't open module file 'matio.mod' for reading at (1): No such file or directory How can i load a module in order to use it in fortran through the GCC compiler?
View 1 Replies
View Related
Feb 2, 2011
I understand that block_device pointer *bd sholuld get initialized. Program should produce initialization error for *bd. Compiler is producing '->'. I am not understanding why?
[code]...
View 1 Replies
View Related
Jun 15, 2010
Suppose from main(), multiple threads are created -
Now in main() I have all threads unique ID i.e. tid
If in each thread I call getpid, getgid etc it will get what it requested.
How unique thread_t tid relates to task_struct created of it in the kernel? (for each thread a separate task_struct is created).
If I have array of tid, and somehow I manage to get all the task_struct.
How to *MAP* each tid to corresponding task_struct?
View 2 Replies
View Related
Jan 5, 2011
do you have any code to flash led lights with paralel port (device driver programming)or any lecture about this subject .if there is a working code this would be better ofcourse.
View 1 Replies
View Related
Jul 31, 2011
While trying to install Cinelerra on Ubuntu 10.10, I copied/moved around some of the .so modules located under /usr/lib. Now I find that I cannot open JPG images - Image Viewer will give me the following error (see screenshot):
Code:
Unable to load image-loading module:/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so: undefined symbol: jpeg_resync_to_restart
Attempting to open the image with GIMP will give me (see screenshot 2):
Code:
GIMP Message
Plug-in crashed: "file-jpeg"
(/usr/lib/gimp/2.0/plug-ins/file-jpeg)
The dying plug-in may have messed up GIMP's internal state. You may want to save your images and restart GIMP to be on the safe side.
GIMP message
Opening '/usr/share/backgrounds/Crocosmia_by_sirpecangum.jpg' failed:
Procedure 'file-jpeg-load' received no return values.
PNG files will open fine.
View 9 Replies
View Related
Dec 8, 2013
I'm trying to build the kernel module for dvbhdhomerun. The problem is the linux kernel headers provided by Debian do not have the dvb header files. Trying to set up my own kernel source tree to use is not working out so well.
I'm following the instructions in the Debian section here: [URL] ....
My first try compiled, but the modules ender up under /lib/modules/3.2.51/extra instead of /lib/modules/3.2.0-4-amd64/extra. Why?
I tried to start over, but noticed this while running apt-get source linux-image-3.2.0-4-amd64:
Code: Select allReading package lists... Done
Building dependency tree
Reading state information... Done
Picking 'linux' as source package instead of 'linux-image-3.2.0-4-amd64'
NOTICE: 'linux' packaging is maintained in the 'Svn' version control system at:
svn://svn.debian.org/svn/kernel/dists/trunk/linux/
[Code] ....
The failure to verify the signature has me concerned, but beyond that, what do I do about the different version number when compiling and installing the kernel modules?
View 1 Replies
View Related
Apr 3, 2011
I`m trying to compile sources of kernel module which has been written for kernel 2.6.9. There were many changes in kernel headers since then in current kernel sources. I`ve found that old /asm/system.h was moved under architecture dedicated directory /arch/*/include/asm/system.h. Anyway during sources compilation I`m having errors related to kernel sources. It looks like there is something wrong with this /asm/system.h
Code:
../asm/system.h: In function �__cmpxchg�:
../asm/system.h:248: error: expected string literal before �LOCK_PREFIX�
../asm/system.h:254: error: expected string literal before �LOCK_PREFIX�
[code]....
View 3 Replies
View Related
Jan 14, 2011
I am looking for information to insert kernel module into kernel. I am not looking at dynamically insert of kernel module using insmod, modprobe etc. I am looking for statically insertion of kernel module procedure, such as what to change on makefile, what to change on menuconfig, what to change on .config file, etc.
View 2 Replies
View Related
Feb 22, 2011
There is a file called elevator.c. It is written as a module (i.e it has specific init and exit functions). However we are not able to see it in lsmod listing. We are working on a project where we need to modify this file. Compiling every time we change something will be time consuming. Is it possible to compile just this file and insert it as a normal module?
View 6 Replies
View Related
Jul 6, 2010
I have just started learning Device driver programming in Linux and am stuck in my first program. Its just to see init_module and cleanup_module calls to use printk and see results using dmesg. program is:
Code:
#define MODULE
#include<linux/module.h>
int init_module(void)
[code].....
View 3 Replies
View Related
May 28, 2010
I am trying to learn how to write a kernel module. I am following the excellent guide from The Linux Documentation Project called The Linux Kernel Module Programming Guide v.2.6.4.
My machine is running Ubuntu Lucid Lynx (10.04)
Code:
I installed the corresponding linux headers and just to make sure I also installed the linux source and extracted it in /usr/src
I am trying to run the following trivial kernel module
Code:
View 4 Replies
View Related
Mar 2, 2011
I'm currently doing a tutorial for writing kernel modules. Right now I'm still at the very beginning, i.e. writing my helloworld stuff.
But what I like to do now is to write stuff onto the console, and I don't get it. According to my tutorials I can print stuff on the console using the printk()-function as long as the priority-level of the macro used in printk() is lower than the console_loglevel (how can I find that value out btw?).
But it doesn't work for me. Even if I use KERN_EMERG it still gets only logged, but not printed on the console and I thought KERN_EMERG get always printed...
Here's my code:
Code:
Code:
Everything works fine. But as soon as there are any blanks in mystring, e.g.
Code:
I always get
Code:
Why do I get this error and how can I insert string with blanks?
View 5 Replies
View Related
Aug 27, 2014
I'm trying to compile a Linux kernel module called hello-2.c using the command "make -C /lib/modules/$(uname -r)/build M=${PWD} modules" (without the quotes) (which I found online), and the following is the (seemingly successful) output.:
Code: Select allmake: Entering directory `/usr/src/linux-headers-3.2.0-4-amd64'
Building modules, stage 2.
MODPOST 0 modules
make: Leaving directory `/usr/src/linux-headers-3.2.0-4-amd64'
However, I don't see a hello-2.ko (in the same folder or anywhere else for that matter). I'm Using Debian GNU/Linux 7.6.
Everything I am doing is within a folder/directory called "thefolder" (without the quotes) in the "/tmp" directory (without the quotes).
Why I can't see a hello-2.ko, and what to do to get it?
View 2 Replies
View Related
Apr 27, 2010
There is a module A which is compiled with the kernel. I wrote an external module B which exported a symbol using EXPORT_SYMBOL.The module A now needs to talk with that exported symbol (function call). For that i modified A so that it includes the function call from B. However i now get unidentified symbol errors during 'make' operation as symbols of B are not present during kernel compile and A now kind of depends on B.
One solution is that make B part of the kernel as well. However, it would mean that whenever now i try to compile a kernel with a different source, i have to modify the config files and everything to accommodate B.Hence i am seeking a solution which does not include modifying the kernel.
View 3 Replies
View Related
Apr 13, 2011
I'm trying to debug a module I programmed but I don't want to do it on the running host but against UML (don't want to reboot every 5 minutes).
The UML kernel I downloaded is 2.6.38.2. I have already downloaded the ubuntu kernel headers for this version (they belong to natty though I'm running maverick.... when I installed the .deb file with dpkg I had no problem at all).
Now I'd like to build said module against these headers. How can I do it?
Here's the makefile for my module code...
View 1 Replies
View Related
Apr 16, 2010
I need a module that flash Caps-Lock led. Is it possible to use outb() function here for sending data to keyboard via port 0x64 ?
View 2 Replies
View Related
Jun 10, 2010
How can we fire a shell command like ls,./a.out automatically in kernel space via a kernel module ? i.e. replacement of system() function of user space into kernel space.We need to develop a kernel module which can fire some shell command let say "firefox [url]" automatically to open google automatically from module.
View 2 Replies
View Related
May 14, 2010
I'm currently working with wireless network kernel module.
This device initialiy gets its IP address by using DHCP,
but the problem is sometimes the new IP assigned for internal reason.
So what I want to do is assigning new(changed)IP address into exsiting
interface, or occuring DHCP renew event to cause update IP from kernel
level. This shold be done without user's intervention, so whenever the
kernel module detects IP changed(via underlying wireless
communication), it automatically correct update its IP address.
Q1) any functions or api to cause DHCP renew event from kernel level?
Q2) or any functions or api to assign IP address to specific interface?
View 3 Replies
View Related
May 23, 2011
I have an old C application in which i am trying to include some STL cointainers. When i use the STL container alone it works fine, but when i include it into a C struct i have segmentation faults errors. I know that it is not a good idea to mix C and C++. Considering this code:
Code:
typedef struct{
int shmid;
...
APPLSPACETYPE applSpace;
[code]...
and how to make a malloc for this issue; something like :
Code:
mem->applSpace.rData.completeGroups2zeroGroup=(map_completeGroups2zeroGroup_type *)malloc((sizeof(map_completeGroups2zeroGroup_type)+1)* sizeof(char ));
View 11 Replies
View Related
Jan 14, 2010
I have run into a limit of 1024 file descriptors. I have searched a lot and have tried various solutions.How can the max file descriptors be set in Ubuntu?
View 1 Replies
View Related
Sep 2, 2009
Can someone please tell me how to permanently increase the default file descriptors limit on RHEL4?right now ulimit -n is 1024...I'd like to increase it to around 10000
View 1 Replies
View Related
Apr 8, 2011
Is is possible to use a class inside a struct? I keep getting segmentation fault with this code:
Code:
struct my_struct {
unsigned count;
std::string msg;
[code]....
View 3 Replies
View Related
Nov 6, 2010
I have been spending time (starting yesterday) reverse-engineering GTK+ to get my programming skills up. I came across a struct in the headers (_GtkArg, which was then typedeffed into GtkArg) that includes a union in it that has pretty much the same properties as a struct. Then, there was a struct inside the union.
I'm confused. Just what is the difference between a union and a struct?
P.S. I am using GTK's native C programming language.
View 8 Replies
View Related
Mar 30, 2010
How do we allocate memory of struct? what i did was
Code:
int main()
struct amp
{
[code].....
cout <<"The size of 'struct' is"<< sizeof(struct amp)<<"and it is located at"<<struct amp*s = malloc(sizeof(struct amp))<<endl;
it gives me an error---
In funtion 'int main()':
error: expected primary-expression before 'struct'
error: expected ';' before 'struct'
View 9 Replies
View Related
May 14, 2010
For a work project, I've got a bunch of python code from about a year ago that controls the movement of our EVI-D30 camera over a ttyUSB connection. It used to work fine on a 32-bit Fedora box, but recently we moved our whole project over to a 64-bit Gentoo server, and the same code seems to be worthless on the new platform. I didn't write the code, so I'm have trouble figuring out how to fix it. Error messages usually look like this:
Code:
File "./CameraController.py", line 172, in pan
turn_callback(cmdStruct[0], cmdStruct[1])
File "./CameraController.py", line 147, in turn_callback
cameras[camera].TiltUp()
[code]....
View 13 Replies
View Related
Jan 17, 2011
is there any problem that might rise by by having a vector as a member of struct in c++ as follows.ex.
struct A
{
int a;
[code]...
View 2 Replies
View Related
Oct 18, 2010
I have two txt files containing x and y coordinates: xcoord.txt & ycoord.txt. I need to open them; read them line by line to get each coordinate; then each time I need to update Xs and Ys parameters inside another file called "dc.in" with the grabbed values.
Finally each time I need to run two exe files ( dc_2002 and st_vac) and produce corresponding output for each Xs and Ys ( dc.in is an input file for this exe files)
I have written the following code but it does not work:
View 14 Replies
View Related
Jun 4, 2010
File descriptors with pipes-Can someone help me with this three situations, what would happen?
a) a process open the same file twice and read through two file descriptors
b) a process does fork and both parent- and child-processes read parallell
c) two processes opens and read from same file.
View 5 Replies
View Related
Nov 9, 2010
Its my Friend Problem .any one can tells that how can the file descriptors limits can be raise for the squid. In cache.log running out of file descriptors warning is coming.
View 3 Replies
View Related