Passing socket struct between kernel threads - module programming
I write kernel module with kernel threads using
linux/kthread.h on 2.6.* kernel
I tried to passing data between two kernel threads
with data argument of kthread_run( fun, data , NAME );
but this is not work I dont know why. I tried many possibility
and nothing works.
So I thought that maybe something like this will work
but not.
Iam sure that fun1 thread was executed before fun2, I used semaphores ( actually completion mechanism ).
Hi everyone,
I am trying to prevent the ehci_hcd kernel module to load at boot time.
Here's what I've tried so far:
1) Add the following line to /etc/modprobe.d/blacklist.conf (as suggested here):
2) Blacklisted the module by adding the following string to
3) Tried to blacklist the module... (0 Replies)
Hi all!
I am trying to register a device in an existing device class, but I am
having trouble getting the pointer to an existing class.
I can create a class in a module, get the pointer to it and then use
it to register the device with:
*cl = class_create(THIS_MODULE, className);... (0 Replies)
hi there
so, i was given an assignment: implement a linux system call that blocks all packets that are sent to a given IP (i have to do it without using iptables)
i'm really new to kernel programming btw (and i'm enjoying it a lot)
so, my syscall is called ip_block() and receives a... (1 Reply)
Hi,
1)i wrote a program which acts lik a client gateway serving clients request and sending probe msg`s to server to chech if its active..
2)both moduels interact when run independently my problem is that when i tr to run them as two different threads in a single program(client_gateway prog to... (4 Replies)
Hi, i'm trying to copy a struct into a binary file using the unix instruction write, so i declare and fill the struct "superbloque" in one function "initSB" and then i pass the pointer to another function called bwrite (for block write) which calls write. The problem is that i call the function... (2 Replies)
EDIT: Nevermind, called a friend who is good at this stuff and he figured it out :D
Hi all,
So I'm trying to teach myself to write programs for unix in c. I am currently creating a program, and I need to pass a struct through a pipe, but I can't figure out how.
The struct I want to pass... (0 Replies)
hi masters,
I am new to kernel programming and learning its trade. I am writing a module for lan bandwidth manager. I designed one module successfully for 2.4 kernel . But when I tried to upgrade it for 2.6 kernel I found that struct tq_struct is missing . Is there any suitable replacement for... (0 Replies)
Hi all,
I am working on USB data monitoring on Fedora Core 9. Kernel 2.6.25 has a built-in module (the one that isn't loadable, but compiles and links statically with the kernel during compilation) to snoop USB data. It is in <kernel_source_code>/drivers/usb/mon/.
I need to know if I can... (0 Replies)
Hi All,
Is there a max number of slabs that can be used per kernel module? I'm having a tough time finding out that kind of information, but the array 'node_zonelists' (mmzone.h) has a size of 5. I just want to avoid buffer overruns and other bad stuff.
Cheers,
Brendan (4 Replies)
Hi Everyone!
How can we make a socket() system call from a linux module executing in kernel space?
If any one knows, kindly tell me. It will be great.
I want to use the socket interface in linux kernel space for sending raw packets over the network.
Hamayun (0 Replies)
async_daemon(2) System Calls Manual async_daemon(2)NAME
async_daemon - Creates a local NFS asynchronous I/O server
SYNOPSIS
async_daemon(
unsigned long iod_num,
unsigned long magic);
PARAMETERS
Specifies the number of I/O threads to run. For Tru64 UNIX, this is 950410. If a different value is used, seven NFS I/O threads are run.
DESCRIPTION
The use of the async_daemon() function is not supported in customer applications, and the interface is subject to change without notice.
It is intended for use solely by nfsiod(8).
The async_daemon() function starts iod_num NFS I/O kernel threads that are used to improve NFS I/O performance. This function does not
return to the caller, but remains in the kernel to provide additional support for NFS over TCP.
RETURN VALUES
The async_daemon function has no successful return. In fact, it frees the text and data segments associated with the calling program so
there is nothing to return to. When interrupted by a KILL signal, the I/O threads are terminated and the process exits. If the async_dae-
mon function encounters errors, , -1 is returned and errno is set to indicate the error.
ERRORS
If the async_daemon() function fails, errno may be set to the following value: The async_daemon function has already been called by another
process. The caller is not the superuser. More than 64 I/O threads were requested. The kernel memory allocator has no memory.
RELATED INFORMATION
Functions: nfssvc(2)
Commands: nfsiod(8) delim off
async_daemon(2)